Undergraduate Course: Logic Programming (INFR09031)
Course Outline
School | School of Informatics |
College | College of Science and Engineering |
Course type | Standard |
Availability | Available to all students |
Credit level (Normal year taken) | SCQF Level 9 (Year 3 Undergraduate) |
Credits | 10 |
Home subject area | Informatics |
Other subject area | None |
Course website |
http://www.inf.ed.ac.uk/teaching/courses/lp |
Taught in Gaelic? | No |
Course description | 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 lecture-based theory section and a laboratory-based programming section. Students attend one lecture and one two-hour laboratory session each week. Each laboratory session tackles a different programming problem that is typical of this style of program design. |
Entry Requirements (not applicable to Visiting Students)
Pre-requisites |
|
Co-requisites | |
Prohibited Combinations | |
Other requirements | Successful completion of Year 2 of an Informatics Single or Combined Degree, or equivalent by permission of the School.
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). |
Additional Costs | None |
Information for Visiting Students
Pre-requisites | None |
Displayed in Visiting Students Prospectus? | Yes |
Course Delivery Information
|
Delivery period: 2011/12 Semester 1, Available to all students (SV1)
|
WebCT enabled: No |
Quota: None |
Location |
Activity |
Description |
Weeks |
Monday |
Tuesday |
Wednesday |
Thursday |
Friday |
Central | Lecture | | 1-11 | 15:00 - 15:50 | | | | | Central | Lecture | | 1-11 | | | | 15:00 - 15:50 | |
First Class |
Week 1, Monday, 15:00 - 15:50, Zone: Central. AT LT4 |
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 | | |
|
Delivery period: 2011/12 Semester 1, Part-year visiting students only (VV1)
|
WebCT enabled: No |
Quota: None |
Location |
Activity |
Description |
Weeks |
Monday |
Tuesday |
Wednesday |
Thursday |
Friday |
Central | Lecture | | 1-11 | | | | 15:00 - 15:50 | | Central | Lecture | | 1-11 | 15:00 - 15:50 | | | | |
First Class |
Week 1, Monday, 15:00 - 15:50, Zone: Central. AT LT 4 |
Exam Information |
Exam Diet |
Paper Name |
Hours:Minutes |
|
|
Main Exam Diet S1 (December) | Theory | 1:00 | | | Main Exam Diet S1 (December) | Programming | 2:00 | | |
Summary of Intended Learning Outcomes
1 - To understand the principles of declarative specification.
2 - To be able to construct well crafted Prolog programs of moderate size and sophistication.
3 - To be able to interpret problems in a style that suits logic programming. |
Assessment Information
Written Examination 100
Assessed Assignments 0
Oral Presentations 0
Assessment
There is no assessed coursework for this course. Attendance at timetabled programming laboratories is mandatory, however, and 50% of the final mark is obtained from a programming exam taken in a computing laboratory.
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. |
Special Arrangements
None |
Additional Information
Academic description |
Not entered |
Syllabus |
The following are core elements of the syllabus (not in strict chronological order):
* Declarative representation with Horn clauses: o Syntax (structured terms, logical operators, etc.) o The relationship between Horn clauses and predicate logic (Lloyd Topor transformations) o Semantics of Horn clause definitions o Recursion (well founded orderings) o Term matching o Sequences as binary terms o Patterns of problem description (incremental specification)
* Computation with Horn Clauses: o Standard Prolog computation model o Specialised notation for sequence processing o Computation as finite domain constraint solving o Distributed computation via tuple spaces o Defining computation models via meta-interpretation
* Search, state and computation: o Avoiding search through problem representation o Forcing exhaustive search o Limiting search o Closed world negation o Annotating clauses to reduce search o Tabled resolution o Adapting the clause base
* Relationship to common software engineering paradigms o Databases o Object orientation o Rule based systems o Multi-agent systems
Relevant QAA Computing Curriculum Sections: Artificial Intelligence, Programming Fundamentals |
Transferable skills |
Not entered |
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" |
Study Abroad |
Not entered |
Study Pattern |
Lectures 10
Tutorials 8
Timetabled Laboratories 20
Non-timetabled assessed assignments 0
Private Study/Other 62
Total 100 |
Keywords | Not entered |
Contacts
Course organiser | Dr Nigel Goddard
Tel: (0131 6)51 3091
Email: Nigel.Goddard@ed.ac.uk |
Course secretary | Miss Tamise Totterdell
Tel: 0131 650 9970
Email: t.totterdell@ed.ac.uk |
|
© Copyright 2011 The University of Edinburgh - 16 January 2012 6:16 am
|