Module Information

Module Identifier
Module Title
The Artificial Intelligence Toolbox - Part ii: Programming in An Uncertain World
Academic Year
Semester 2
Other Staff

Course Delivery

Delivery Type Delivery length / details
Lecture 20 x 1 Hour Lectures


Assessment Type Assessment length / details Proportion
Semester Assessment In class test (approx 15 hours)  20%
Semester Assessment Written report (1,000 words), 15 hours  30%
Semester Assessment Assignment (approx 30 hours)  will cover knowledge representation, Prolog, and Expert Systems  50%
Supplementary Assessment 100%

Learning Outcomes

On successful completion of this module students should be able to:

1. Describe the importance of propositional and predicate logic in Artificial Intelligence systems.

2. Solve simple problems in propositional and first order predicate logic.

3. Write Prolog programs to solve simple AI problems.

4. Explain the function and use of fuzzy logic.

5. Explain the application of Bayesian probabilty to simple reasoning scenarios.

Brief description

Artificial Intelligence (AI) has made many important contributions to computer science in general, and most experts believe AI techniques will become increasingly important. This module follows on from the introduction to the fundamental concepts of AI given in CS26110. Key issues including knowledge representation, reasoning and the problem of approximate information are addressed both theoretically and practically. Applications of AI techniques in computer security are discussed.


Artificial Intelligence is the study of computer systems which can perform the sort of tasks that are usually associated with human intelligence. Examples are: chess playing, pattern recognition, anomaly and intrusion detection, speech understanding and problem solving. The aim of this module is to introduce the main ideas and current problems in Artificial Intelligence including the key concepts of knowledge representation, reasoning and the problem of approximate information. Students will be required to implement and utilise these concepts by means of an Artificial Intelligence programming language.


Knowledge representation [1 lecture]

All AI sets out to solve a problem. How do we represent problems and their solutions? We can use logic (symbolic) or numbers (sub-symbolic).

Logic and Reasoning (symbolic) [3 lectures]

What is logical representation and what can it do?
Inference: deduction, abduction and induction.

Prolog and Logic Programming [5 lectures]

Uncertainty - Probability (5 lectures plus 1 x 1 hour In-Class Test)

Probability (when things may or may not happen)
Probabilistic Reasoning and Baysian Nets.

Uncertainty - Fuzzy Sets and Systems [4 lectures]

Fuzzy sets (when things are partially true)
Fuzzy systems.


This module is at CQFW Level 5