======T-622-ARTI, Introduction to Artificial Intelligence, Spring 2016===== ===== Description ===== 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. ===== Help ===== For questions and discussions about the lectures, homework, projects and AI in general go to [[http://piazza.com/ru.is/spring2016/t622arti/home|the Piazza page of the course]]. ===== Goals ===== On the completion of the course the students should: * have a good overview of the field of artificial intelligence (AI) and a thorough understanding of the fundamental solution methods used to attack a wide variety of AI-related problems. * have gained experience building a small special-purpose AI system. ===== Book ===== The textbook for this class is: //"Artificial Intelligence: A Modern Approach"// by Stuart Russell and Peter Norvig. This book has a [[http://aima.cs.berkeley.edu/|good web site]] full of useful AI resources. ===== Coursework Overview ===== ==== Homework Assignments/Labs (20%) ==== 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. ==== Programming assignments (2 x 10%) ==== You complete two programming assignments. This can be done as a group project (up to 4 people, ideally 2-3). 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 [[public:t-622-arti-16-1:programming_assignment_2_-_breakthrough|second programming assignment]] is to program a breakthrough agent. ==== Project (20%) ==== You can choose a topic for the 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 7 (5% of the final grade) and a report /* and demonstration */ in the last week (15% of the final grade). /* [[public:t-622-arti-13-1:final_project|List of chosen topics]] */ ==== Exam (40%) ==== There will be a final exam (3h) with questions similar to the ones in the assignments. ===== Grading ===== ^Part of Course^Total Weight^ |Assignments, Labs | 20%| |2 Programming Assignments (2*10%) | 20%| |Project | 20%| |Final Written Exam | 40%| ^Total ^ 100%^ ===== Course Schedule (subject to change) ===== ^Week^Date^Chapters^Topic^ | 1|Jan 12| 1|Introduction, History| |:::|Jan 13| Lab|[[Lab 1 - Agents]] | |:::|Jan 14| 2|Intelligent Agents, Search Problems | | 2|Jan 19| 3|Search Problems, Blind Search | |:::|Jan 20| Lab|[[Lab 2 - Hashing States]] | |:::|Jan 21| 3|Blind Search, Heuristic Search | | 3|Jan 26| 3|Heuristic Search | |:::|Jan 27| Lab|Programming Assignment 1 - Search (description on MySchool) | |:::|Jan 28| 3|Heuristic Search | | 4|Feb 02| 5|Heuristic Search, Adversarial Search (Minimax, Alpha-Beta) | |:::|Feb 03| Lab|Programming Assignment 1 - Search (description on MySchool) | |:::|Feb 04| 6|Adversarial Search (Algorithms), CSPs | | 5|Feb 09| 7|CSPs | |:::|Feb 10| Lab|[[Lab 3 - CSPs]] | |:::|Feb 11| 7|CSPs, Propositional Logic | | 6|Feb 16| 7,8,9|Logical Agents | |:::|Feb 17| Lab|[[Programming Assignment 2 - Breakthrough]] | |:::|Feb 18| 8,9|First Order Logic | | 7|Feb 23| 8,9|First Order Logic | |:::|Feb 24| Lab|[[Lab 4 - Propositional Logic]] | |:::|Feb 25| 10|Planning | | 8|Mar 01| 10|Planning | |:::|Mar 02| Lab|[[public:t-622-arti-16-1:programming_assignment_2_-_breakthrough|Programming Assignment 2 - Competition]] | |:::|Mar 03| 13, 14|Uncertainty, Bayesian Networks | | 9|Mar 08| 18-21|Bayesian Networks, Machine Learning | |:::|Mar 09| Lab|[[Lab 5 - Bayesian Networks]] | |:::|Mar 10| 18-21|Machine Learning | | 10|Mar 15| 18-21|Learning Decision Trees | |:::|Mar 16| Lab|[[Lab 6 - Learning Decision Trees]] | |:::|Mar 17| 25|Robotics | | 11|Mar 22| 15|Probabilistic Reasoning over Time | |:::| ---|Easter Break | | 12|Mar 30| Lab|[[Lab 7 - Particle Filtering]] | |:::|Mar 31| |Wrap-Up | | 13|Apr 05| |Project Presentations | |:::|Apr 06| Lab|Project Presentations | |:::|Apr 07| |Project Presentations | ^^^^^