Module 18185 (2004)

Syllabus page 2004/2005

AI Programming

Level 1/C

Shelia Glasbey
John Barnden
John Barnden (coordinator)
10+10 credits in Semester 1 and Semester 2

Links | Outline | Aims | Outcomes | Prerequisites | Teaching | Assessment | Books | Detailed Syllabus

The Module Description is a strict subset of this Syllabus Page. (The University module description has not yet been checked against the School's.)

Changes and updates

New module for 2004/05 (replaces AI Programming A and B).

Relevant Links

Detailed web pages for 2005 Semester 2 (Spring)


This module introduces general procedural and functional programming techniques as well as basic AI programming styles (including list manipulation and pattern matching) using the language Pop-11. More advanced techniques involving recursion, grammar, databases and the implementation of search strategies will also be introduced.


The aims of this module are to:

  • introduce general procedural and functional programming techniques using the language Pop-11, assuming no prior knowledge of computer programming
  • introduce basic AI programming techniques (including list manipulation, pattern matching and databases)
  • improve the level of sophistication of students' programming skills
  • expose students to a number of fundamental AI techniques in a practical context

Learning Outcomes

On successful completion of this module, the student should be able to: Assessed by:
1 break down programming problems into component parts In-lab tests, assessed exercises, mini-project
2 write simple modular programs in the language Pop-11 In-lab tests, assessed exercises, mini-project
3 use the Poplog development environment effectively In-lab tests, assessed exercises, mini-project
4apply and implement some classic AI programming concepts, representations and techniques, including those presented in other AI modules In-lab tests, assessed exercises, mini-project
5 demonstrate relevant software engineering/software development skills including: producing a proposal, planning a program, specifying a program, testing, tracing, debugging and writing reports Mini-project

Restrictions, Prerequisites and Corequisites






06-18188 (Introduction to AI), 06-18184 (AI & Cognitive Science)


Teaching Methods:

1 hr lecture, 4 hrs practical programming workshops/tutorials per week

Contact Hours:



  • Supplementary (where allowed): As the sessional assessment
  • Assessed practical work (100%). Students who fail this module but achieve at least 30% will be allowed to resit, by means of a software mini-project. Students whose mark is below 30% will be required to repeat the module in the following academic year.

Recommended Books

TitleAuthor(s)Publisher, Date
Online tutorial material, supporting program libraries
Artificial Intelligence through SearchC Thornton & B du BoulayIntellect, Oxford, 1992

Detailed Syllabus

  1. Poplog, XVed, Pop-11, On-line documentation, compilation, simple expressions
  2. Data types, comments, variables, printing, assignments, arithmetic operators
  3. Stack and stack errors, procedures, built-in procedures
  4. List manipulation, pattern matching
  5. Conditionals, iteration
  6. Advanced list manipulation and pattern matching techniques
  7. Designing solutions to practical problems, choosing representations and datatypes, designing algorithms
  8. Recursion
  9. Knowledge representation
  10. Implementing search strategies (depth/breadth-first, heuristic functions, hillclimbing, etc.)
  11. Natural language processing, grammar and parsing.
  12. Planning and rule-based reasoning.

Last updated: 7 Jan 2005

Source file: /internal/modules/COMSCI/2004/xml/18185.xml

Links | Outline | Aims | Outcomes | Prerequisites | Teaching | Assessment | Books | Detailed Syllabus