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, 6 November 2007
- Responsible department
- Department of Information Technology
Entry requirements
120 credits with Computer programming, first and second course,
Data structures MN1 and Logic MN1,
or equivalent knowledge and skills.
Functional programming MN1 and Automata theory are 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, guest lectures, tutorials and labs.
Assessment
Written exam (6 credits) and assignments (1.5 credits). Voluntary exercises can improve the grade.