Algorithms and Logic - COMP8840

Looking for a different module?

Module delivery information

Location Term Level1 Credits (ECTS)2 Current Convenor3 2021 to 2022
Spring Term 7 15 (7.5) Olaf Chitil checkmark-circle


This module contains four main components, several of which are at the forefront of the academic discipline and are informed by research: Propositional and predicate logic, and resolution; Prolog programming; Search Techniques; Constraint Logic Programming.


Contact hours

Total contact hours: 22
Private study hours: 128
Total study hours: 150

Method of assessment

Main assessment methods
Written exercises (25%)
Take-home programming test (25%)
Examination, 2 hours (50%)

Reassessment methods
Like for like.

Indicative reading

Steven Skiena, "The Algorithm Design Manual", Springer, 2008.
Huth, M. & Ryan M., Logic in computer science: modelling and reasoning about systems, Cambridge University Press, 2004.

See the library reading list for this module (Canterbury)

Learning outcomes

On successfully completing the module students will be able to:
1. Understand a problem description, and then identify, compare, and apply appropriate algorithms to solve it.
2. Demonstrate ability to formulate formal solutions to problems logically and in algorithmic form using pseudocode.
3. Reason about the correctness and runtime of algorithms, and reflect on how changes in these algorithms would impact their correctness and runtime.
4. Evaluate different ways to implement an algorithm, and implement it as part of an executable program.
5. Understand and implement basic data structures (e.g., arrays, lists, trees) and use algorithmic techniques (recursion and divide & conquer) to solve well-known problems
(searching and sorting) and to newly encountered problems.
6. Understand and manipulate a variety of logical formalisms (e.g., propositional and predicate logic).
7. Formulate statements and problems in logical form (e.g., as SAT instances).
8. Understand, at least at a high level, one or more established techniques for automated reasoning and the algorithms involved (e.g., the Davis-Putman-Logemann-
Loveland algorithm).

The intended generic learning outcomes.
On successfully completing the module students will be able to:
1. Communicate information, ideas, problem, and solutions to both specialist and non-specialist audiences.
2. Critically evaluate arguments, assumptions, abstract concepts and data (that may be incomplete), to make judgements, and to frame appropriate questions to achieve a
solution to a problem.
3. Apply the methods and techniques that they have learned to review, consolidate, extend and apply their knowledge and understanding, and to initiate and carry out


  1. Credit level 7. Undergraduate or postgraduate masters level module.
  2. ECTS credits are recognised throughout the EU and allow you to transfer credit easily from one university to another.
  3. The named convenor is the convenor for the current academic session.
Back to top

University of Kent makes every effort to ensure that module information is accurate for the relevant academic session and to provide educational services as described. However, courses, services and other matters may be subject to change. Please read our full disclaimer.