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.
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 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.
The first programming assignment is to use search to find a good solution for a vacuum cleaning robot.
The second programming assignment is to program a Connect-4 agent.
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||35%|
|1||Jan 14||1,2||Introduction, History, Agents|
|Jan 15||Lab||Lab 1 - Agents|
|Jan 16||2||Intelligent Agents|
|2||Jan 21||3||Search Problems, Blind Search|
|Jan 22||Lab||Programming Assignment 1 - Search|
|Jan 23||3||Blind Search, Heuristic Search|
|3||Jan 28||3||Heuristic Search|
|Jan 29||Lab||Lab 2 - Hashing States|
|Jan 30||5||Adversarial Search (Minimax, Alpha-Beta)|
|4||Feb 04||5,6||Adversarial Search (Algorithms), CSPs|
|Feb 05||Lab||Programming Assignment 2 - Connect 4|
|5||Feb 11||7||Propositional Logic|
|Feb 12||Lab||Lab 3 - CSPs|
|Feb 13||7||Propositional Logic, Logical Agents|
|6||Feb 18||7,8,9||Logical Agents, First Order Logic|
|Feb 19||Lab||Lab 4 - Propositional Logic|
|Feb 20||8,9,10||First Order Logic, Planning|
|Feb 26||Lab||Programming Assignment 2 - Competition|
|Feb 27||13, 14||Uncertainty, Bayesian Networks|
|8||Mar 04||13, 14||Bayesian Networks|
|Mar 05||Lab||Lab 5 - Bayesian Networks|
|Mar 06||18-21||Machine Learning|
|9||Mar 11||18.3||Learning Decision Trees|
|Mar 12||Lab||Lab 6 - Learning Decision Trees|
|10||Mar 18||15||Probabilistic Reasoning over Time|
|Mar 19||Lab||Lab 7 - Particle Filtering|
|Mar 20||15||Probabilistic Reasoning over Time|
|13||Apr 01||Project Presentations|
|Apr 02||Lab||Project Presentations|
|Apr 03||Project Presentations|