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: 2012/13 Semester 1, Available to all students (SV1)
|
Learn 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 |
First class information not currently available |
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: 2012/13 Semester 1, Part-year visiting students only (VV1)
|
Learn 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 |
First class information not currently available |
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 80
Assessed Assignments 20
Oral Presentations 0
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
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 20
Tutorials 8
Timetabled Laboratories 0
Non-timetabled assessed assignments 12
Private Study/Other 60
Total 100 |
Keywords | Not entered |
Contacts
Course organiser | Mr Vijayanand Nagarajan
Tel: (0131 6)51 3440
Email: vijay.nagarajan@ed.ac.uk |
Course secretary | Mrs Victoria Swann
Tel: (0131 6)51 7607
Email: Vicky.Swann@ed.ac.uk |
|
|