This course will introduce the basic ideas and techniques underlying the design of intelligent computer systems. A specific emphasis will be on the statistical and decision-theoretic modeling paradigm. By the end of this course, you will have built autonomous agents that efficiently make decisions in fully informed, partially observable and adversarial settings. Your agents will draw inferences in uncertain environments and optimize actions for arbitrary reward structures. Your machine learning algorithms will classify handwritten digits and photographs. The techniques you learn in this course apply to a wide variety of artificial intelligence problems and will serve as the foundation for further study in any application area you choose to pursue.
Textbook: The course textbook is the 3rd edition of Artificial Intelligence: A Modern Approach by Russell and Norvig. Be sure to get the 3rd edition, as other editions will not match up to the reading assignments, nor contain all the necessary content.
Language: Course programming assignments will be in Python. We do not assume that students have previous experience with the language, but we do expect you to learn the basics very rapidly. Project 0 is designed to teach you the basics of Python if you are not already familiar.
There are three types of assignments that you will be expected to complete:
1. Reading assignments: These will primarily be readings from the textbook, but may occasionally come from other provided sources.
All reading assignments should be completed before the class period for which they are assigned.
2. Homework exercises: Throughout the semester, problem sets will be assigned and automatically graded through Gradescope.
You will receive instant feedback from the autograder and can retry each problem as many times as necessary.
The goal of these problems is to get you comfortable with the material and prepared for the midterm and final.
To access these assignments, you must sign up for a Gradescope account using the email address that is listed for you in Spire.
After creating an account, you'll enroll using a course code that will sent to all enrolled students.
3. Programming projects: There will be a series of Python programming projects in which you will implement various AI algorithms.
An autograder script will be provided for each project so that you can check your progress along the way and fix errors in your code.
The first of these projects (P0: Tutorial) must be completed individually. All other projects may be completed in pairs or alone.
Day | Topic | Readings | Slides | Assignments | ||
Mon 2/6 | Introduction | P0: Tutorial Due: 2/12 11:59 pm |
||||
Wed 2/8 | AI Basics and Ethics | Ch. 1.1, 2.1-2.3; AI-100 report | ||||
Mon 2/13 | Uninformed Search | Ch. 3.1-3.4 | HW1 Due: 2/26 11:59 pm |
|||
Wed 2/15 | A* Search and Heuristics | Ch. 3.5-3.6 | PDF |
P1: Search Due: 2/28 11:59 pm |
||
Mon 2/20 | President's Day | |||||
Wed 2/22 | Constraint Satisfaction Problems | Ch. 6.1-6.3 | HW2 Due: 3/7 11:59 pm |
|||
Mon 2/27 | CSPs II; Local Search | Ch. 6.4-6.5, 4.1-4.2 | ||||
Wed 3/1 | Game Trees: Minimax | Ch. 5.1-5.3 | PDF |
HW3 Due: 3/21 11:59 pm |
||
Mon 3/6 | Game Trees: Expectimax; Utilities | Ch. 5.4-5.5, 16.1-16.3 | P2: Multi-Agent Pacman Due: 3/26 11:59 pm |
|||
Wed 3/8 | Markov Decision Processes | Ch. 17.1-3 | HW4 Due: 3/28 11:59 pm |
|||
Mon 3/13 | Spring Break | |||||
Wed 3/15 | Spring Break | |||||
Mon 3/20 | Markov Decision Processes II | Sutton and Barto Ch. 3-4 | ||||
Wed 3/22 | Reinforcement Learning | S&B Ch. 6.1, 6.2, 6.5 | HW5 Due: 4/9 11:59 pm |
|||
Mon 3/27 | Reinforcement Learning II | Ch. 21 | P3: Reinforcement Learning Due: 4/16 11:59 pm |
Practice Midterms | ||
Wed 3/29 | Probability | Ch. 13.1-13.5 | ||||
Mon 4/3 | Midterm Exam | |||||
Wed 4/5 | Intro to ML and Bayes Nets: Representation | Ch. 14.1-14.3 | ||||
Mon 4/10 | Bayes Nets: Independence | Ch. 14.3 | PDF |
|||
Wed 4/12 | Bayes Nets: Inference | Ch. 14.4 | PDF |
|||
Mon 4/17 | Holiday: No Class | |||||
Wed 4/19 | Bayes Nets: Sampling | Ch. 14.5 | PDF |
HW6 Due: 5/2 11:59 pm |
||
Mon 4/24 | Hidden Markov Models | Ch. 15.1-15.3 | ||||
Wed 4/26 | Particle Filters and HMM Applications |
Ch. 15.5 | P4: Ghostbusters Due: 5/9 11:59 pm |
|||
Mon 5/1 | Decision Diagrams / VPI | Ch. 16.5-16.6 | HW7 Due: 5/11 11:59 pm |
|||
Wed 5/3 | ML: Naive Bayes | Ch. 18.1-18.2, 20.1-20.2.2 | PDF |
|||
Mon 5/8 | ML: Perceptrons | Ch. 18.6.1, 18.6.3 | PDF |
HW8 Due: 5/17 11:59 pm |
||
Wed 5/10 | ML: Kernels and Clustering | Ch. 18.8, 18.9 | ||||
Mon 5/15 | ML: Deep Learning | PDF |
||||
Wed 5/17 | Advanced Applications | Practice Finals | ||||
Final Exam: Wed 5/24 at 3:30-5:30 pm | Hasbrouck Add room 20 |
Attendance: Class attendance is strongly encouraged, but is not a component of grading.
Project grading: Projects will by default be graded automatically for correctness, though we will review projects individually as necessary to ensure that they receive the credit they deserve if there is an issue.
Slip days: Programming projects must be turned in electronically by 11:59pm on the listed due date. You will have 10 slip days total to use for these projects throughout the semester. They will be applied automatically in the order of assignments. After you've run out of slip days, 30% of the total possible points will be deducted from any late assignment (able to be submitted until the final day of classes), so reserve them for when they are absolutely necessary. Note that slip days are counted at the granularity of days, rounded up to the nearest day, meaning that 1 minute past the deadline counts as a full day. No other extensions will be provided, except under highly exceptional circumstances. The Gradescope exercises do not have late days (i.e. you will be given a zero if late), as solutions are automatically posted after the due date and may be discussed in the next class.
Overall grades will be determined from:
Grades will be assigned using both plus and minus grades.
You are encouraged to discuss the readings and concepts with classmates, but all work must be your own. Programming assignments must be your own, except for 2-person teams when teams are authorized. You may NOT look online for existing implementations of algorithms related to the programming assignments, even as a reference. Your code will be analyzed by automatic tools that detect plagiarism to ensure that it is original.
Students caught cheating will automatically fail the course and will be reported to the university. If in doubt about the ethics of any particular action, look at the university guidelines and/or ask—ignorance of the rules will not shield you from potential consequences.
The University of Massachusetts Amherst provides upon request appropriate academic accommodations for qualified students with disabilities. For more information, contact Disability Services at 413-545-0892 (TTY) or disability@umass.edu.
University policy states that: Students have the right to make up examinations, study, or work requirements that they miss because of religious observance without any adverse or prejudicial effects. No fees may be charged to the student for the makeup exercise. The law also provides that such makeup work may not create an unreasonable burden upon the University. Therefore, students have an obligation to inform their course instructors, in advance, of the days on which they may be absent for religious reasons. Students should inform their course instructors in writing of the days they will be absent as early in the semester as possible and always prior to the day(s) on which they will be absent for religious reasons. Instructors, if they feel that it is important for course planning, have the right to require students to provide a written list of such days within one full calendar week after students' enrollment in the course, provided that the instructors list this requirement and deadline on the course outline or other handouts. In the event of a dispute between an instructor and a student in any course, either party should contact the Department Head or the Ombuds Office (413-545-0867).