Introduction to Formal Reasoning

Code School Level Credits Semesters
COMP2067 Computer Science 2 10 Spring Malaysia
Code
COMP2067
School
Computer Science
Level
2
Credits
10
Semesters
Spring Malaysia

Summary

This module is an introduction to formal reasoning with applications in program verification and Mathematics. We will use an interactive proof system like Lean or Coq to learn how to make precise statements and how to verify them using formal proofs. At the same time we develop skills in informal reasoning. Topic covered are: propositional logic, classical principles, predicate logic, the theories of Booleans, natural numbers, lists and trees. Verification of simple algorithms.

Target Students

Available to Level 2 undergraduate students in the School of Computer Science. Available to inter-campus mobility students and other exchange students in Computer Science. This module is part of the Foundations of Computer Science theme in the School of Computer Science.

Classes

Assessment

Assessed by end of spring semester

Educational Aims

The aim of this module is to develop mathematical and formal reasoning skills necessary to specify and reason about programs and/or mathematical problems.

Learning Outcomes

Knowledge and Understanding

To understand logical reasoning and proofs and their application in computer science.

Intellectual Skills

The ability to understand and apply simple logical reasoning. To be able to understand the specification of data structures and algorithms.

Professional Skills

To be able to use formal reasoning tools to verify the correctness of software systems.

Transferable Skills

To understand how to specify a problem precisely and how to give evidence for a statement.
The ability to use mathematics to solve problems.

Conveners

View in Curriculum Catalogue
Last updated 09/01/2025.