The naive algorithm often suffices for solving small scale problems, but in many real-life settings advanced algorithms and logic-based artificial intelligence are needed for robust, efficient and intelligent software. A simple search engine can easily index the contents of a drive on a personal computer but indexing the web is much more difficult. Similarly a robot can plan its actions optimally by an exhaustive state space search only if the number of possible actions and states is very limited. Software developers must be able to work with intrinsically hard problems and large, complicated data collections.
The student must follow the requirements in the general curriculum for the programme such that at least 30 ECTS points are obtained among the following courses:
02221 Foundations of Distributed Systems (5 ECTS)
02249 Computationally Hard Problems (7.5 ECTS)
02256 Automated Reasoning (5 ECTS)
02282 Algorithms for Massive Data Sets (7.5 ECTS)
02285 Artificial Intelligence and Multi-Agent Systems (7.5 ECTS)
02287 Logical Theories for Uncertainty and Learning (5 ECTS)
02289 Algorithmic Techniques for Modern Data Models (5 ECTS)
02291 System Integration (5 ECTS)
The terminated courses 02220 Distributed Systems (7.5 ECTS), 02222 Distributed Systems (10 ECTS), 02281 Data Logic (5 ECTS), 02283 Algorithms for Massive Data Sets (5 ECTS), 02284 Knowledge-Based Systems (5 ECTS) and 02286 Logic in Computer Science, Artificial Intelligence and Multi-Agent Systems (7.5 ECTS) also count on the study line.