Skip to main content
Modules

Logic in Computer Science

Module code: ECS666U

Credits: 15.0
Semester: SEM1

Contact: To Be Confirmed

The module introduces students to Mathematical Logic concepts and their use in Computer Science.

Logic is a fundamental discipline underpinning Computer Science: Artificial Intelligence, algorithms, programming languages, programs reasoning have all a basis in logic.

But its scope reaches well beyond Computer Science. It is the science of reasoning in philosophy and underpins critical thinking.

This module will cover the basis of logic (propositional and predicate logic) and other logics relevant to reasoning about systems and programs.

The topics covered include: - Propositional Logic and Introduction to Critical Thinking
- Solving SAT instances. DPLL algorithm, validity, satisfiability, SAT solvers
- Temporal Logics. For example: Linear Temporal Logic, Computation Tree Logic, model checkers (e.g. SPIN)
- Predicate Logic. First-order logic, syntax and semantics, satisfiability, SMT solvers
- Program Logics. For example, Hoare logic. The module will include exercises and hands-on practicals e.g. using SAT solvers and model checkers.

Connected course(s): UDF DATA
Assessment: 100.0% Examination
Level: 6

Back to top