Principles of Knowledge Representation and Reasoning - Overview

Lecturers: Prof. Dr. Bernhard Nebel, Prof. Dr. Malte Helmert and Dr. Stefan Wölfl

Exercises: Dr. Gabriele Röger

Time and Place

Lectures: Tuesday 14:15-16:00 and Friday 14:15-15:00 in building 101, room 01-010/014
Exercises: Friday 15:15-16:00 in building 101, room 01-010/014
Exam: by appointment


Lectures are held in English, and the course material and exercise sheets are in English. Students may ask questions and submit exercise sheets in German or English. The oral examination can be taken in German or English.


The course provides an in-depth introduction into the techniques that underly advanced systems for knowledge representation and automated reasoning. The following topics are covered:

  • classical logic (recap) and modal logics
  • qualitative temporal and spatial reasoning: Allen's interval algebra and the region connection calculus RCC-8
  • non-monotonic reasoning: default logic, cumulative logic, non-monotonic logic programming
  • description logics


The course is aimed at advanced students of Computer Science or Applied Computer science, such as diploma's degree students who have passed their mid-degree exams ("Vordiplom"), Bachelor students in their final year and Master students with a background in formal logics.

Most of the topics covered in the course are based on classical formal logic and its extensions, and a strong background in logics is highly advisable. We also expect basic knowledge of complexity theory (e.g. the theory of NP-completeness).

Exercises and Exam

Students studying towards a diploma's degree can obtain a certificate ("benoteter Schein") for an advanced course ("Spezialvorlesung") in this course.

For students studying towards a Bachelor of Science in Computer Science, a Master of Science in Computer Science or a Master of Science in Applied Computer Science, this course counts as an advanced course in the area "Artificial Intelligence and Robotics". The course is worth 6 ECTS points.

For students who study Computer Science as a minor subject ("Nebenfach"), the precise regulations depend on the respective degree programme.

All students who want to get credit for this course need to pass an oral examination, held shortly before the next teaching period, i.e., in September/October 2008.

During the semester, theoretical assignments will be posed weekly, and practicals (e.g. programming projects) will be posed occasionally. Working on these is not mandatory, but it is strongly encouraged in order to further comprehension of the course topics. Moreover, outstanding performance in the exercises and practicals is awarded with bonus marks for the oral examination according to the following rules:

  • Up to 10 bonus marks can be obtained for theoretical assignments. To obtain any bonus marks, a student needs to reach more than 50% of the total marks in the theoretical assignments. One bonus mark is then awarded for each 5 percentage points above this threshold.

  • Up to 10 bonus marks can be obtained in practicals. For each completed practical assignment, a certain number of bonus marks is awarded (usually 2-4, depending on difficulty and amount of work), and bonus marks for different practicals are cumulated up to a maximum of 10.

  • Each 10 bonus marks correspond to 1/3 grade step in the oral examination, for example an improvement from 2.0 to 1.7.

Students are allowed and encouraged to work on theoretical assignments and practicals in groups of two and submit their solutions together. Larger groups, as well as copied or plagiarized solutions will not be accepted.

Course Materials

Lecture slides are made available on the lecture page during the semester. At the end of each topic, the slides contain a short bibliography for further study. Not all of the books and papers listed there are available in the university library or on the World Wide Web, so please contact the lecturing staff if you need help getting hold of a reference. There are no textbooks or lecture notes for this course.