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 recursion or analysing a given problem in logical terms

In this module you will study the two most important logics, Propositional Logic and Predicate Logic, and various examples of their importance. We will then examine how a fragment of Predicate Logic gives rise to a programming language (PROLOG) in which we will implement logical solutions to a range of illustrative problems.

Learning

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

Assessment

  • Coursework (100%)