Module 25433 (2012)

Module Description - Logic Programming

The Module Description is a strict subset of the Syllabus Page, which gives more information

Module TitleLogic Programming
SchoolComputer Science
Module Code06-25433
DescriptorCOMP/06-25433/LI
Member of StaffPeter Hancox
LevelI
Credits10
Semester1
Pre-requisitesNone
Co-requisitesNone
RestrictionsNone
Contact hours 62 (22 hrs lectures, 40 hrs labs)
Delivery2 hr lectures/tutorials per week, 4 hrs/week laboratory work.
DescriptionThe module consists of taught material and practical work. The taught material introduces the fundamentals of logic programming, especially the Prolog programming language. Practical work consists mainly of programming exercises in Prolog. Early exercises are designed to develop a core understanding of programming in Prolog, especially: the importance of unification in the understanding of Prolog; the nature of search in Prolog and alternative search strategies; common recursive program structures, especially for list processing; design of Prolog programs. Later exercises are designed to develop skills in applying Prolog in practical situations.
Outcomes
On successful completion of this module, the student should be able to:Assessed by:
judge for what applications and in what circumstances logic and Prolog programs are appropriate Examination
read Prolog programs, for instance in technical literature which necessitates an understanding of Prolog in conveying its content Examination
represent knowledge in the form of Prolog facts and rules Workshop assignments and examination
write simple Prolog programs that can compute relations using facts and rules Workshop assignments and examination
write Prolog programs to process and manipulate lists Workshop assignments and examination
write larger Prolog programs, for instance a program to play a game Workshop assignments
design Prolog programs to use a representations of knowledge and search in an efficient and appropriate manner Workshop assignments and examination
demonstrate an understanding of the principles underlying Prolog, logic programming and its implementation and its extension to constraint logic programming Workshop assignments, examination
AssessmentSessional: 1.5 hr examination (80%), continuous assessment (20%).
Supplementary (where allowed): By examination only.
Texts, The course is supported by extensive WWW notes -- see links below.,
Bratko I, Programming in Prolog for Artificial Intelligence (3rd edn), 2000
Clocksin W F & Mellish C S, Programming in Prolog (4th edn), 1995
O'Keefe R A, The Craft of Prolog, 1990
Covington M A, Nute D & Vellino A, Prolog programming in depth, 1996
Stirling E & Shapiro L, The Art of Prolog (2nd edn), 1994