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 programming project at the end of the semester. Instead of the project, students may choose the final exam on Wednesday, February 4.
Completed projects should be submitted by January 16.
Winter Semester 2008.
- Number: 326.028
- Title: Logic Programming
- Lecturer: Temur Kutsia
- Time: Wed 16:15-18:00
- Place: T 212
- First lecture: October 8
- Final exam: February 4, 2009. Time: 16:15-18:00. Room: T 211.
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. Fourth edition. Springer. 1994.
- 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:
To be submitted by email. Please write LP08-AS1, LP08-AS2, LP08-AS3, etc. in the subject of your mail when you submit assignments.
- Programs:
- Projects:
The students can suggest their own projects as well.
- Additional material:
- System: SWI-Prolog. For Windows users
there is a convenient SWI-Prolog
editor.
- Some useful on-line resources: WWW Virtual Library: Logic
programming, Prolog
newsgroup.
Maintained by Temur
Kutsia