Undergraduate Course: Logic Programming (INFR09031)
Course Outline
School | School of Informatics |
College | College of Science and Engineering |
Credit level (Normal year taken) | SCQF Level 9 (Year 3 Undergraduate) |
Availability | Available to all students |
SCQF Credits | 10 |
ECTS Credits | 5 |
Summary | This course describes the connection between Horn clause logic and computation via programming. The reference point for the course is the Prolog programming language - a principal aim being to develop students' programming expertise through experience in typical applications. The course is divided into two interacting sections: a theory section and a programming section. |
Course description |
The following are core elements of the syllabus:
- Programming: Declarative programming: goals, programs, recursion; Nonlogical features; parsing and DCGs; search techniques; reflection and meta-programming; higher-order logic programs
- Theory: Definite clause logic (propositional and predicate); Inference systems, proof search, completeness and incompleteness; Herbrand models; Negation by failure and completion procedures; Higher-order Logic Programming.
Relevant QAA Computing Curriculum Sections: Artificial Intelligence, Programming
Fundamentals
|
Entry Requirements (not applicable to Visiting Students)
Pre-requisites |
|
Co-requisites | |
Prohibited Combinations | |
Other requirements | This course is open to all Informatics students including those on joint degrees. For external students where this course is not listed in your DPT, please seek special permission from the course organiser.
This course has the following mathematics prerequisites:
- Propositional logic (at the level taught in Informatics 1 Computation and Logic).
- First Order Logic (at the level taught in Informatics 2D - Reasoning and Agents). |
Information for Visiting Students
Pre-requisites | Visiting students are required to have comparable background to that
assumed by the course prerequisites listed in the Degree Regulations &
Programmes of Study. If in doubt, consult the course lecturer. |
High Demand Course? |
Yes |
Course Delivery Information
Not being delivered |
Learning Outcomes
On completion of this course, the student will be able to:
- Understand and explain principles of declarative specification, and its relation to procedural realisations
- Construct well-crafted Prolog programs of moderate size and sophistication
- interpret problems in a style that suits logic programming
- Understand and explain the logical foundations of logic programming
|
Reading List
* Clocksin, W.F. and Mellish, C.S., 2003, "Programming in Prolog: Using the ISO Standard"
* Sterling, L. & Shapiro, E. 1994, "The Art of Prolog" |
Contacts
Course organiser | Dr Alan Smaill
Tel: (0131 6)50 2710
Email: |
Course secretary | Mrs Victoria Swann
Tel: (0131 6)51 7607
Email: |
|
|