Presentation of the module

What do search for information on the Web, building personal assistants, autonomous driving or automatic planning have in common? These are all complex real-world problems that artificial intelligence (AI) aims to solve by addressing them with rigorous methods. In this course, you will study the fundamental principles that guide these applications and you will implement some of these systems. Specific topics include machine learning, search, games, Markov decision processes, constraint satisfaction, graphical models, and logic. The main goal of the course is to provide you with the tools to tackle new AI problems that you may encounter later. The ethical and philosophical aspects of AI will also be discussed at the end of the course.

Learning outcomes

Upon completion of this module, students will be able to:

  • identify problems that are amenable to solution by AI methods, and which AI methods may be suited to solving a given problem,
  • formalize a given problem in the language/framework of different AI methods,
  • implement basic AI algorithms (e.g., standard search algorithms),
  • design and carry out an empirical evaluation of different algorithms on a problem formalization, and state the conclusions that the evaluation supports.



  • every week, you will be offered exercises sheets so that you can train yourself on your understanding of the concepts.
  • you will also get several Python programming projects with the pacman environment. I expect you to work on these projects and submit an individual solution. (Instructions available for each project) The work you will have submitted for these projects will be counted as a bonus on the final exam score.

Final exam:

  • this is a 2h exam with documents. The questions will be very similar the exercises sheets provided during the course.
  • here is a link to the 2017-2018 exam.