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
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: 2010/11 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. Lecture Theatre 3, Appleton Tower |
Exam Information |
Exam Diet |
Paper Name |
Hours:Minutes |
Stationery Requirements |
Comments |
Main Exam Diet S1 (December) | Logic Programming (Paper 1 Theory Exam) | 1:00 | 12 sides | | Main Exam Diet S1 (December) | Logic Programming (Paper 2 Programming Exam) | 2:00 | Nil | | Main Exam Diet S2 (April/May) | | 1:00 | 12 sides | | Main Exam Diet S2 (April/May) | | 2:00 | nil | Computer Based Exam. Appleton Tower Lab. | Resit Exam Diet (August) | | 1:00 | 12 sides | | Resit Exam Diet (August) | | 2:00 | nil | Computer Based Exam. Appleton Tower Lab. |
|
Delivery period: 2010/11 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. Lecture Theatre 3, Appleton Tower |
No Exam Information |
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 Richard Mayr
Tel: (0131 6)50 5130
Email: rmayr@staffmail.ed.ac.uk |
Course secretary |
Miss Tamise Totterdell
Tel: 0131 650 9970
Email: t.totterdell@ed.ac.uk |
|
copyright 2011 The University of Edinburgh -
13 January 2011 6:12 am
|