Logic Programming

7.5 credits

Syllabus, Master's level, 1DL022

A revised version of the syllabus is available.
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.

FOLLOW UPPSALA UNIVERSITY ON

Uppsala University on Facebook
Uppsala University on Instagram
Uppsala University on Youtube
Uppsala University on Linkedin