TDDD08 Logic Programming
Course information
Language
The course is given in English (unless all participants are fluent in Swedish). Exams are given in English but answers can be given in Swedish or English.
Course literature
- U. Nilsson and J. Maluszynski. Logic, Programming and Prolog
(2ed),
On sale at Kårallen (previously published by John Wiley & Sons, 1995).
The book is also available electronically but DON'T jam up the printers. - Lab exercises and instructions are available here for downloading.
Additional non-required reading
- Theory: Lloyd. Foundations of Logic Programming, 2ed, Springer-Verlag.
- Prolog programming: Sterling och Shapiro. The Art of Prolog, 2ed, MIT-Press
Prerequisites
An introductory course in logic (TDDC36 or similar) and discrete mathematics. The course also assumes programming experience.
Summary
The course should provide knowledge in logic programming including both theoretical notions as well as practical programming practice in the programming language Prolog. Theoretical notions, which are the basis of Prolog, are covered at lectures. Declarative and procedural semantics is discussed as well as how to deal with negation. Application areas (such as deductive databases and grammars) are also covered. Another topic addressed at the lectures is constraints and constraint logic programming. The tutorials address more pragmatic issues -- databases, recursive datastructures (e.g. lists) and abstract data types are discussed, as well as how to write efficient Prolog code.The laboratory classes focus on pratical problem solving in the above areas using the programming language Prolog.
Examination
To pass the course you must pass both the written examination and complete all laboratory execises. There are two re-examinations during the academic year.
Page responsible: Ulf Nilsson
Last updated: 2010-11-04
