Introduction to Logic Programming
- Introduction to logic programming.
- Understanding logical foundations and computational model.
- Learning practical programming in Prolog.
The final grade will depend on the assignment results and on the final exam result in February 2010 (the exact date will be announced).
Winter Semester 2009.
- Number: 326.028
- Title: Logic Programming
- Lecturer: Temur Kutsia
- Time: Wed 16:15-18:00
- Place: T 212
- First lecture: October 7.
- Final exam: The students can choose one of two alternatives: February 2, 16:15-18:00, T211 or February 3, 16:15-18:00, T211.
Please register for the course via the
KUSSS system.
- Logical foundations. Introduction to Prolog programming.
- Questions, variables, conjunctions, rules, goals.
- Prolog syntax. Characters, operators, equality and matching, arithmetic.
- Using data structures. Programming techniques on Prolog (Mapping, recursion, accumulators, difference structures).
- Backtracking, generating multiple solutions, the cut.
- Selected examples.
- Unification, computational model of logic programs.
- Constraint logic programming.
- Grammar rules (DCG).
- Efficiency issues.
-
Book: W. F. Clocksin and C. S. Mellish. Programming in Prolog. Fifth edition. Springer. 2003.
- Slides:
-
Introduction - pdf
-
Questions, variables, conjunctions, rules, goals - pdf
-
Prolog syntax - pdf
-
Data structures, mapping, recursion - pdf
-
Data structures, comparison, joining, accumulators, difference structures - pdf
-
Backtracking, the cut - pdf
-
Unification - pdf
-
Computational Model - pdf
-
Using Grammar Rules - pdf
-
Efficiency issues - pdf
-
Examples - pdf
-
Manipulating programs - pdf
- Assignments:
Assignments are to be submitted by email. Please write LP09-AS1, LP09-AS2, LP09-AS3, etc. in the subject of your mail when you submit assignments.
- Programs:
- Additional material:
-
System(s):
-
Some interesting on-line resources:
Maintained by Temur Kutsia