Logic Programming
Syllabus, Master's level, 1DL022
This course has been discontinued.
- Code
- 1DL022
- Education cycle
- Second cycle
- Main field(s) of study and in-depth level
- Computer Science A1N
- Grading system
- Pass with distinction (5), Pass with credit (4), Pass (3), Fail (U)
- Finalised by
- The Faculty Board of Science and Technology, 3 November 2008
- Responsible department
- Department of Information Technology
Entry requirements
120 credits of which mathematics 15 credits (logic and automata theory are recommended), and computer science 40 credits including a second course in programming, algorithms and data structures. Functional programming I is recommended.
Learning outcomes
In order to pass, the student must be able to
- list, define and apply the fundamental concepts of logic programming.
- manually analyse and execute a given simple logic program. The analysis covers correctness and efficiency.
- formulate simple problems in logic that can be executed as a logic program.
- implement simple algorithms and data structures as correct logic programs.
- take advantage of the strengths of logic programming (unification, backtracking and grammar programming) for solving simple combinatiorial problems and for natural language processing.
- explain how logic programming differs from other programming paradigms.
Ultimately, the goal is to broaden the students' perspective on the nature of programming.
Content
Fundamental concepts: relations, rules, unification, recursion.
Relation between logic and logic programming: semantics, soundness and completeness.
Programming in a logic programming language, such as Prolog.
Encoding of algorithms and data structures; solving search problems and constraint problems.
Similarities and differences with imperative, object-oriented, and functional programming.
Grammar rules.
Implementation techniques: (meta)interpreters and compilation.
Applications in Artificial Intelligence such as problem solving and natural language processing.
Instruction
Lectures, tutorials and labs.
Assessment
Written exam (6 credits) and assignments (1.5 credits). Voluntary exercises can improve the grade.