Single-Course English 5 ECTS

Introduction to Artificial Intelligence

Overall Course Objectives

The aim is to provide the student with an understanding of basic notions and techniques in artificial intelligence (AI) and to train the student’s abilities to apply these techniques. The focus of the course is primarily on symbolic artificial intelligence, in particular techniques based on search and logic.

Learning Objectives

  • Explain, apply and implement uninformed and informed search techniques to solve AI problems
  • Explain, apply and implement adversarial search techniques for AI in games
  • Design, implement, benchmark and analyse search heuristics and game evaluation functions
  • Explain and apply logical techniques for the representation of knowledge and reasoning
  • Explain, apply and implement inference techniques in propositional and first-order logic
  • Explain the logical methods of knowledge-base update
  • Explain the strength and weaknesses of different AI techniques within search and logic
  • Correctly determine the relevant AI technique for solving a given problem
  • Explain the scope of AI, its potential for society as well as its limitations
  • Discuss philosophical, ethical, legal, and societal consequences of AI

Course Content

What is AI? Foundations of AI. Uninformed search. Informed/heuristic search: A*, greedy best-first search. Adversarial search: game trees, Minimax, Monte-Carlo Tree Search. Knowledge bases in propositional and first-order logic. Inference techniques in propositional and first-order logic: modus ponens, forward and backward chaining, resolution, model-checking, SAT-solving. Basic strategies for updating knowledge bases (belief revision). Philosophical, ethical, legal and societal aspects of AI.

Recommended prerequisites

02100/02101/02102/02312/02314/02105/01017/01019, or equivalent courses. You need experience with algorithms and data structures, programming, propositional logic and recursive procedures. The course requires experience with implementing non-trivial algorithms in a standard programming language like Java or Python. The course can be taken by bachelor students satisfying the recommended prerequisites.

Teaching Method

Lectures, exercises, and written assignments.


See course in the course database.





13 weeks




DTU Lyngby Campus

Course code 02180
Course type Candidate
Semester start Week 5
Semester end Week 19
Days Tues 8-12

7.500,00 DKK