======T-622-ARTI, Introduction to Artificial Intelligence, Spring 2015===== ===== 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/spring2015/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). Make sure you clearly indicate who is part of the group and that every group member clearly understands the solution. /* The [[public:t-622-arti-15-1:prog1|first programming assignment]] is to use search to find a good solution for a vacuum cleaning robot. The [[public:t-622-arti-15-1:prog2|second programming assignment]] is to program a Connect-4 agent. */ ==== Final Project (20%) ==== 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 /* 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%| |Final Project | 20%| |Final Written Exam | 40%| ^Total ^ 100%^ ===== Course Schedule (subject to change) ===== ^Week^Date^Chapters^Topic^ | 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|[[public:t-622-arti-15-1:prog1|Programming Assignment 1 - Search]] | |:::|Jan 29| 5|Adversarial Search (Minimax, Alpha-Beta) | | 4|Feb 03| 5,6|Adversarial Search (Algorithms), CSPs | |:::|Feb 04| Lab|[[public:t-622-arti-15-1:prog1|Programming Assignment 1 - Search]] | |:::|Feb 05| 6|CSPs | | 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|[[public:t-622-arti-15-1:prog2|Programming Assignment 2 - Connect 4]] | |:::|Feb 19| 8,9,10|First Order Logic, Planning | | 7|Feb 24| 10|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 | |:::|Mar 12| 25|Robotics | | 10|Mar 17| 15|Probabilistic Reasoning over Time | |:::|Mar 18| Lab|[[Lab 6 - Learning Decision Trees]] | |:::|Mar 19| 15|Probabilistic Reasoning over Time | | 11|Mar 24| |??? | |:::|Mar 25| Lab|[[Lab 7 - Particle Filtering]] | |:::|Mar 26| |??? | | 13|Map 31| |Wrap-Up | |:::| ---|Easter Break | |:::|Apr 08| Lab|Project Presentations | |:::|Apr 09| |Project Presentations | ^^^^^