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
Not being delivered |
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: |
Course secretary | Mrs Victoria Swann
Tel: (0131 6)51 7607
Email: |
|
|