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 Hours.


Assessment Type Assessment length / details Proportion
Semester Assessment In class test  15%
Semester Assessment Programming exercise (approx 10 hours)  15%
Semester Assessment Written report (1,000 words)  20%
Semester Assessment Assignment (approx 30 hours)  will cover knowledge representation, Prolog, and Expert Systems  50%
Supplementary Assessment Resubmission of failed coursework components or ones of equivalent value.  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.


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, 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]

Expert systems [2 lectures]

Uncertainty - Probability [4 lectures]

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.

Reading List

Should Be Purchased
S.J. Russell and P. Norvig (2003) AI: A Modern Approach 2 Prentice-Hall Primo search
Recommended Text
I. Bratko (2001) Prolog for Artificial Intelligence Third Addison-Wesley Primo search M. Negnevitsky (2002) Artificial Intelligence Addison Wesley Primo search
Consult For Futher Information
C. J. Hogger (1990) Essentials of Logic Programming Oxford University Press Primo search G. F. Luger and B. Stubblefield (1997) Artificial Intelligence 3rd Ed. Addison-Wesley Primo search P. Winston Artificial Intelligence 3rd Ed. Addison-Wesley Primo search S. C. Shapiro (1992) Encyclopedia of Artificial Intelligence Addison-Wesley Primo search


This module is at CQFW Level 5