Logic in Computer Science
Module code: ECS666U
Credits: 15.0
Semester: SEM1
Contact: To Be Confirmed
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