Artificial Intelligence (AI) is devoted to the computational study of intelligent behaviour, including areas such as problem solving, knowledge representation, reasoning, planning and scheduling, machine learning, perception and communication. This course gives an overview of the aforementioned AI subfields from a computer science perspective and introduces fundamental solution techniques for addressing them. An important part of the course is an independent final project where the students develop AI software in an area of their choice.
For questions and discussions about the lectures, homework, projects and AI in general go to the Piazza page of the course.
On the completion of the course the students should:
The textbook for this class is: “Artificial Intelligence: A Modern Approach” by Stuart Russell and Peter Norvig. This book has a good web site full of useful AI resources.
You hand in the (almost) weekly homework assignments and finish the labs. The assignments will mainly consist of small exercises in which you have to apply what you should have learned in the lecture. The questions should give you an indication of the questions that may be asked in the final exam. The labs are more practical applications of the material, often in the form of small programming tasks.
You complete two programming assignments. This can be done as a group project (up to 4 people). Make sure you clearly indicate who is part of the group and that every group member clearly understands the solution.
You can choose a topic for the final programming project (discuss topics and find a group on the Piazza page. Like the programming assignments, this can be done as a group project (up to 4 people). You have to hand in a 1-2 page description of the project goal and some ideas on how to achieve it approx. in week 8 (5% of the final grade) and a report in the last week (15% of the final grade).
There will be a final exam (3h) with questions similar to the ones in the assignments.
|Part of Course||Total Weight|
|2 Programming Assignments (2*10%)||20%|
|Final Written Exam||40%|
|1||Jan 13||1||Introduction, History|
|Jan 14||Lab||Lab 1 - Agents|
|Jan 15||2||Intelligent Agents, Search Problems|
|2||Jan 20||3||Search Problems, Blind Search|
|Jan 21||Lab||Lab 2 - Hashing States|
|Jan 22||3||Blind Search, Heuristic Search|
|3||Jan 27||3||Heuristic Search|
|Jan 28||Lab||Programming Assignment 1 - Search|
|Jan 29||5||Adversarial Search (Minimax, Alpha-Beta)|
|4||Feb 03||5,6||Adversarial Search (Algorithms), CSPs|
|Feb 04||Lab||Programming Assignment 1 - Search|
|5||Feb 10||7||Propositional Logic|
|Feb 11||Lab||Lab 3 - CSPs|
|Feb 12||7||Propositional Logic, Logical Agents|
|6||Feb 17||7,8,9||Logical Agents, First Order Logic|
|Feb 18||Lab||Programming Assignment 2 - Connect 4|
|Feb 19||8,9,10||First Order Logic, Planning|
|Feb 25||Lab||Lab 4 - Propositional Logic|
|Feb 26||13, 14||Uncertainty, Bayesian Networks|
|8||Mar 03||13, 14||Bayesian Networks|
|Mar 04||Lab||Lab 5 - Bayesian Networks|
|Mar 05||18-21||Machine Learning|
|9||Mar 10||18.3||Learning Decision Trees|
|Mar 11||Lab||Programming Assignment 2 - Competition|
|10||Mar 17||15||Probabilistic Reasoning over Time|
|Mar 18||Lab||Lab 6 - Learning Decision Trees|
|Mar 19||15||Probabilistic Reasoning over Time|
|Mar 25||Lab||Lab 7 - Particle Filtering|
|Apr 08||Lab||Project Presentations|
|Apr 09||Project Presentations|