Single-Course English 5 ECTS

Logical Systems and Logic Programming

Overall Course Objectives

The aim of the course is to give the students an introduction to some of the basic declarative formalisms from formal computer science and logic that can be used for describing, analysing and constructing IT systems.
It will cover theoretical insight as well as practical skills in relevant high-level programming languages.

Learning Objectives

  • relate different kinds of proof systems
  • construct formal proofs in elementary logics
  • exploit selected classical and non-classical logics
  • use the backtracking algorithm for simple problem solving
  • analyze the effect of a declarative program
  • establish a functional design for a given problem, so that the main concepts of the problem are directly traceable in the design
  • master logical approaches to programming in terms of defining recursive predicates
  • communicate solutions to problems in a clear and precise manner

Course Content

The course covers logic programming (in particular Prolog as a rapid prototyping tool), elementary logics (including propositional and first-order logic), proof systems (deductive systems and/or refutation systems), and problem solving techniques (for instance the backtracking algorithm).

Recommended prerequisites

02100/02101/02102/01017/01019/02105, Programming in a declarative or imperative language, discrete mathematics, algorithms and data structures. Functional programming is an advantage.

Teaching Method

Lectures, exercises and mandatory assignments.


See course in the course database.





13 weeks




DTU Lyngby Campus

Course code 02156
Course type Bachelor
Semester start Week 35
Semester end Week 48
Days Tues 13-17

7.500,00 DKK