BSc Computer Science and Mathematics / Course details

Year of entry: 2024

Course unit details:
Knowledge Based AI

Course unit fact file
Unit code COMP24412
Credit rating 10
Unit level Level 2
Teaching period(s) Semester 2
Available as a free choice unit? Yes


Intelligent systems need to be able to represent and reason about the world. This course provides an introduction to the key ideas in knowledge representation and different types of automated reasoning. The course is a mixture of theoretical and practical work: at the end of the course students will know the principles that such systems use, and they will have experience of implementing those principles in running systems.


Unit title Unit code Requirement type Description
Introduction to AI COMP24011 Co-Requisite Compulsory
Students who are not from the School of Computer Science must have permission from both Computer Science and their home School to enrol.

COMP24011 is a co-requisite of this course


The aim of this course is to provide the conceptual and practical (systems building) foundations for knowledge representation and reasoning in Artificial Intelligence.

Learning outcomes

  • ILO 1 Describe, differentiate and apply different knowledge representation formalisms for modelling knowledge bases
  • ILO 2 Describe the syntax and semantics of first-order logic (and the Datalog and Prolog fragments) and use it to model problems
  • ILO 3 Demonstrate the forward and backward chaining reasoning methods and compare their implementation and practical characteristics (e.g. efficiency, termination)
  • ILO 4 Apply resolution-based reasoning techniques (transformation to clausal form, resolution, saturation) to establish properties of first-order problems
  • ILO 5 Explain the theoretical limitations of reasoning techniques for (fragments and extensions of) first-order logic
  • ILO 6 Write Prolog programs to solve automated reasoning tasks and explain how they will execute
  • ILO 7 Differentiate between deductive, inductive and abductive reasoning and apply them to perform learning and inference in knowledge based systems
  • ILO 8 Relate knowledge based approaches to real world applications such as (but not limited to) program synthesis or circuit design verification



First-Order Logic and Automated Reasoning
Syntax and Semantics
Translation to clausal form
Ordered Resolution
Saturation based proof search
Model Construction
Syntax and execution
Simple logical programs
Relation to backward chaining with Horn clauses
Theorem Proving with Prolog
Knowledge Representation
Ontological Engineering
Categories and Objects
Reasoning Systems for Categories
Semantic networks
Description logics
Reasoning with Default Information
Inductive and Abductive Reasoning
Learning as a Logic Problem
Learning with Knowledge
Inductive Logic Programming
Explanations and Diagnosis
Explanation-Based Learning

Teaching and learning methods

Synchronous Sessions

11, 1 x per week

Lecture Video material

11 hr


10 hours in total, 5 2-hour sessions.

Employability skills

Analytical skills
Problem solving

Assessment methods

Method Weight
Written exam 30%
Practical skills assessment 70%

Feedback methods

The course has a number of lab exercises which are marked in the lab as usual, and feedback on these exercises is provided by written comments on the work and orally by the marker.

Recommended reading

COMP24412 reading list can be found on the Department of Computer Science website for current students.

· Stuart Russell and Peter Norvig, Artificial Intelligence: A Modern Approach, Global Edition, 2016. 

· Patrick Blackburn, Johan Bos and Kristina Striegnitz: Learn Prolog Now!, College Publications, 2006. 

· Ronald Brachman and Hector Levesque, Knowledge Representation and Reasoning, Morgan Kaufmann, 2004 

· Dennis Merritt, Building Expert Systems in Prolog, Springer, 1989

Study hours

Scheduled activity hours
Assessment written exam 2
Lectures 22
Practical classes & workshops 10
Independent study hours
Independent study 77

Teaching staff

Staff member Role
Giles Reger Unit coordinator

Additional notes

Course unit materials

Links to course unit teaching materials can be found on the School of Computer Science website for current students.

Return to course details