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. The techniques you learn in this course apply to a wide variety of modern artificial intelligence problems and will serve as the foundation for further study in more specific areas of AI, such as deep learning (though please note that this course does not significantly cover deep learning, but instead focuses on fundamentals necessary for a proper understanding of such areas).
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 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 use Gradescope via Canvas. You can enroll via a course code that will be posted on Canvas. Your gradescope
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. These will be submitted on Gradescope as well.
Day | Topic | Readings | Slides | Assignments | ||
Tues 9/2 | Introduction | Ch. 1.1, 2.1-2.3; AI-100 report (optional) | P0: Tutorial Due: 9/8 11:59 pm |
|||
Thurs 9/4 | Uninformed Search | Ch. 3.1-3.4 | HW1 Due: 9/17 11:59 pm |
|||
Tues 9/9 | A* Search and Heuristics | Ch. 3.5-3.6 | PDF |
P1: Search Due: 9/22 11:59 pm |
||
Thurs 9/11 | Constraint Satisfaction Problems | Ch. 6.1-6.3 | PDF. CSP demo | HW2 Due: 9/24 11:59 pm | ||
Tues 9/16 | CSPs II; Local Search | Ch. 6.4-6.5, 4.1-4.2 | ||||
Thurs 9/18 | Game Trees: Minimax | Ch. 5.1-5.3 | PDF |
HW3 Due: 10/1 11:59 pm |
||
Tues 9/23 | Game Trees: Expectimax; Utilities | Ch. 5.4-5.5, 16.1-16.3 | P2: Multi-Agent Pacman Due: 10/6 11:59 pm |
|||
Thurs 9/25 | Markov Decision Processes | Ch. 17.1-3 | HW4 Due: 10/8 11:59 pm |
|||
Tues 9/30 | Markov Decision Processes II | Sutton and Barto Ch. 3-4 | ||||
Thurs 10/2 | Reinforcement Learning | S&B Ch. 6.1, 6.2, 6.5 | HW5 Due: 10/15 11:59 pm |
|||
Tues 10/7 | Reinforcement Learning II | Ch. 21 | P3: Reinforcement Learning Due: 10/28 11:59 pm |
|||
Thurs 10/9 | Probability | Ch. 13.1-13.5 | ||||
Tues 10/14 | Bayes Nets: Representation | Ch. 14.1-14.3 | ||||
Tues 10/16 | Bayes Nets: Independence | Ch. 14.3 | PDF |
|||
Tues 10/21 | Midterm Exam | |||||
Thurs 10/23 | Bayes Nets: Inference | Ch. 14.4 | PDF |
|||
Tues 10/28 | Bayes Nets: Sampling | Ch. 14.5 | PDF |
HW6 Due: 11/10 11:59 pm |
||
Thurs 10/30 | Hidden Markov Models | Ch. 15.1-15.3 | ||||
Tues 11/4 | No class | |||||
Thurs 11/6 | Particle Filters and HMM Applications |
Ch. 15.5 | P4: Ghostbusters Due: 11/19 11:59 pm |
|||
Tues 11/11 | No class | |||||
Thurs 11/13 | Decision Diagrams / VPI | Ch. 16.5-16.6 | HW7 Due: 12/7 11:59 pm |
|||
Tues 11/18 | Naive Bayes | Ch. 18.1-18.2, 20.1-20.2.2 | PDF |
|||
Thurs 11/20 | Perceptrons | Ch. 18.6.1, 18.6.3 | PDF |
HW8 Due: 12/9 11:59 pm |
||
Tues 11/25 | No class | |||||
Thurs 11/27 | No class | |||||
Tues 12/2 | Kernels and Clustering | Ch. 18.8, 18.9 | ||||
Thurs 12/4 | Deep Learning | PDF |
||||
Tues 12/9 | AI Ethics and Loose Ends | |||||
Final Exam: Wed 12/17 1-3pm | Goessmann Laboratory 20 |
Attendance: Class attendance is mandatory. You will be granted 3 free days that you can miss for any reason, but please save these for when you truly need them, as no other days will be granted except under extraordinary circumstances. Bring a smartphone or other device to class that can read QR codes, as we will be using Qwickly to take attendance.
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.
Late policy: Programming projects and Gradescope exercises are due electronically by 11:59pm on the listed due date. After the due date, programming projects can be turned in late at a 20% penalty (of the total number of possible points) until 11:59pm on the final day of classes (12/9). No extensions will be provided, except under highly exceptional circumstances. Gradescope exercises can be submitted up to 5 days late at a 20% penalty (of the total number of possible points). After that, solutions will be auto-released, so no extensions are possible. The only exception to being able to submit up to 5 days late is if the date would go beyond the last day of class (12/9), as all assignments must be submitted by then.
Overall grades will be determined from:
Grades will be assigned using both plus and minus grades as follows:
93-100: AUMass Amherst is strongly committed to academic integrity, which is defined as completing all academic work without cheating, lying, stealing, or receiving unauthorized assistance from any other person, or using any source of information not appropriately authorized or attributed. As a community, we hold each other accountable and support each other’s knowledge and understanding of academic integrity. Academic dishonesty is prohibited in all programs of the University and includes but is not limited to: Cheating, fabrication, plagiarism, lying, and facilitating dishonesty, via analogue and digital means. Sanctions may be imposed on any student who has committed or participated in an academic integrity infraction. Any person who has reason to believe that a student has committed an academic integrity infraction should bring such information to the attention of the appropriate course instructor as soon as possible. All students at the University of Massachusetts Amherst have read and acknowledged the Commitment to Academic Integrity and are knowingly responsible for completing all work with integrity and in accordance with the policy: (https://www.umass.edu/senate/book/academic-regulations-academic-integrity-policy)
In this course, 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. Assistance from AI systems such as ChatGPT for writing code or answering homework questions is also strictly prohibited. Please note that AI is likely to produce code similar to that of any other student who uses it. This will get flagged by our plagiarism tools and be treated identically to any other form of copying or plagiarism.
The University of Massachusetts Amherst is committed to providing an equal educational opportunity for all students. If you have a documented physical, psychological, or learning disability on file with Disability Services (DS), you may be eligible for reasonable academic accommodations to help you succeed in this course. If you have a documented disability that requires an accommodation, please notify me within the first two weeks of the semester so that we may make appropriate arrangements. For further information, please visit Disability Services (https://www.umass.edu/disability/)
In accordance with Title IX of the Education Amendments of 1972 that prohibits gender-based discrimination in educational settings that receive federal funds, the University of Massachusetts Amherst is committed to providing a safe learning environment for all students, free from all forms of discrimination, including sexual assault, sexual harassment, domestic violence, dating violence, stalking, and retaliation. This includes interactions in person or online through digital platforms and social media. Title IX also protects against discrimination on the basis of pregnancy, childbirth, false pregnancy, miscarriage, abortion, or related conditions, including recovery. There are resources here on campus to support you. A summary of the available Title IX resources (confidential and non-confidential) can be found at the following link: https://www.umass.edu/titleix/resources. You do not need to make a formal report to access them. If you need immediate support, you are not alone. Free and confidential support is available 24 hours a day / 7 days a week / 365 days a year at the SASA Hotline 413-545-0800.