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. |
Course Delivery Information
|
Academic year 2014/15, Available to all students (SV1)
|
Quota: None |
Course Start |
Semester 1 |
Timetable |
Timetable |
Learning and Teaching activities (Further Info) |
Total Hours:
100
(
Lecture Hours 20,
Seminar/Tutorial Hours 7,
Formative Assessment Hours 1,
Summative Assessment Hours 3,
Programme Level Learning and Teaching Hours 2,
Directed Learning and Independent Learning Hours
67 )
|
Assessment (Further Info) |
Written Exam
40 %,
Coursework
20 %,
Practical Exam
40 %
|
Additional Information (Assessment) |
Two pieces of assessed coursework each contribute 10% to the final course grade, and are particularly directed at learning outcomes 1 and 2. There are two examinations, one a written theory exam and one a programming practical, each contributing 40% to the final course grade.
You should expect to spend approximately 12 hours on the coursework for this course.
If delivered in semester 1, this course will have an option for semester 1 only visiting undergraduate students, providing assessment prior to the end of the calendar year. |
Feedback |
Not entered |
Exam Information |
Exam Diet |
Paper Name |
Hours & Minutes |
|
Main Exam Diet S2 (April/May) | Theory | 1:00 | | Main Exam Diet S2 (April/May) | Programming | 2:00 | | Resit Exam Diet (August) | Theory | 1:00 | | Resit Exam Diet (August) | Programming | 2:00 | |
|
Academic year 2014/15, Part-year visiting students only (VV1)
|
Quota: None |
Course Start |
Semester 1 |
Timetable |
Timetable |
Learning and Teaching activities (Further Info) |
Total Hours:
100
(
Lecture Hours 20,
Seminar/Tutorial Hours 7,
Formative Assessment Hours 1,
Summative Assessment Hours 2,
Programme Level Learning and Teaching Hours 2,
Directed Learning and Independent Learning Hours
68 )
|
Assessment (Further Info) |
Written Exam
40 %,
Coursework
20 %,
Practical Exam
40 %
|
Additional Information (Assessment) |
Two pieces of assessed coursework each contribute 10% to the final course grade, and are particularly directed at learning outcomes 1 and 2. There are two examinations, one a written theory exam and one a programming practical, each contributing 40% to the final course grade.
You should expect to spend approximately 12 hours on the coursework for this course.
If delivered in semester 1, this course will have an option for semester 1 only visiting undergraduate students, providing assessment prior to the end of the calendar year. |
Feedback |
Not entered |
Exam Information |
Exam Diet |
Paper Name |
Hours & Minutes |
|
Main Exam Diet S1 (December) | Theory | 1:00 | | Main Exam Diet S1 (December) | Programming | 2:00 | |
Learning Outcomes
Students should learn how to:
1) Understand and explain principles of declarative specification, and its relation to procedural realisations
2) Construct well-crafted Prolog programs of moderate size and sophistication
3) interpret problems in a style that suits logic programming
4) 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 | Mr James Cheney
Tel: (0131 6)51 5658
Email: jcheney@inf.ed.ac.uk |
Course secretary | Mrs Victoria Swann
Tel: (0131 6)51 7607
Email: Vicky.Swann@ed.ac.uk |
|
© Copyright 2014 The University of Edinburgh - 12 January 2015 4:10 am
|