Logic and Problem Solving

Module code: CO1001

Module co-ordinator: Alexander Kurz

Logic provides foundations, methods, and skills to Computer Science. To give only a few examples:

  • foundations: the very hardware of computers is based on Propositional Logic
  • methods: logic helps in understanding (and specifying and verifying) programs
  • skills: understanding crucial programming concepts such as the scope of an identifier or analysing a given problem in logical terms

In this module you will study the two most important logics, Propositional Logic and Predicate Logic, considering various examples of their importance. We will then examine how a fragment of Predicate Logic can actually be used as a programming language (PROLOG) and used this as an example of how logic can be used to solve problems.


  • 30 hours of lectures
  • 6 hours of surgeries
  • 8 hours of labs
  • 6 hours of problem classes


  • Coursework (100%)