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 at the end of the semester (solving assignments is a necessary precondition to be admitted to the exam).
Winter Semester 2012.
- Number: 326.028
- Title: Logic Programming
- Lecturer: Temur Kutsia
- Time: Wed 16:15-18:00
- Place: T 212
- Language: English
- First lecture: October 3.
- Exam: February 14, 11:15-12:45, Room K 012D
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 for individual work. They are to be submitted by email. There will be three assignments in total. Please write LP12-AS1, LP12-AS2, LP12-AS3, in the subject of your mail when you submit assignments.
Programs:
Additional material:
System(s):
Some interesting on-line resources:
Maintained by Temur Kutsia