Knowledge representation has traditionally been an important area of research at our department. In accordance, whole family of courses on this subject is offered to our students.

## Contents

## Introduction to KR

- Semantic fundamentals of knowledge systems (1-INF-470)

## Core KR courses

- Representation, knowledge and reasoning (2-IKV-131)
- Knowledge representation and reasoning (2-AIN-144)
- Description logics, ontologies and the semantic web (1-AIN-646)
- Answers set programming (M-INCU-062)
- Programming in Prolog (M-INCU-022)
- Judegment involving uncertainty (2-AIN-245)

## Related courses

Selection of courses that are also related to knowledge representation:

- Expert systems 1 (2-AIN-141)
- Expert systems 2 (2-AIN-241)
- Introduction to declarative programming (1-AIN-505)
- Declarative programming of web ppplications (1-AIN-425)
- Symbolic programming and LISP (M-INCU-021)
- Logic and cognitive science (2-IKV-261)

## Before you subscribe to KR course

Before you subscribe to any of the KR courses, it is advised to have some background in logic and in artificial intelligence (AI). It is best if you have the background informations beforehand but usually it is also possible to take your KR course together the pre-required courses (same semester). We advice that you take one of the AI courses:

- Fundamentals of artificial intelligence 1 (1-AIN-360)
- Fundamentals of artificial intelligence for cognitive science (2-IKV-103)

and at least one of the Logic courses:

- Introduction to mathematical logic (1-INF-210)
- Mathematical logic (2-INF-114)
- Logic for computer science (1-INF-450)
- Mathematical logic for cognitive science (2-IKV-267)
- Set theory and mathematical logic 1 (1-MAT-455)
- Set theory and mathematical logic 2 (1-MAT-480)

It also an advantage, if you have background in formal languages and automata, computational complexity. Recommended courses:

- Formal languages and automata 1 (1-INF-215)
- Formal languages and automata 2 (1-INF-410)
- Computational complexity (2-INF-124)

And finally, you should have background in databases, there are three courses taught at our faculty:

- Introduction to database systems (1-INF-230)
- Databases (1-INF-500)
- Database Systems Implementation (1-AIN-521)