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, as well as ethical and societal issues surrounding AI. 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.
Textbooks: 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. You will also need to obtain a copy of Atlas of AI by Kate Crawford, which contains several of the ethics-related readings.
Prerequisites: Upper-division standing in CS.
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.
New for moving the course online after 3/30: Please note that I will be recording the lectures and posting them on Canvas. If you don't want to be in the recordings, don't turn on your video and/or audio on Zoom. Please don't share the videos outside of Canvas.
There are three types of assignments that you will be expected to complete:
1. Reading assignments: The technical readings will be primarily from the course textbook discussed above, but may sometimes come from other online sources that will be linked to.
Ethics readings will come from online sources, as well as the book Atlas of AI, discussed above.
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 the edX system.
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 an edX edge account. Please use you first + last name (followed by digits if necessary) as your username so that we can easily figure out who you are.
After creating an account, enroll in the course here.
3. Programming projects: There will be a series of Python programming projects in which you will implment 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 and Videos | Assignments | ||
| Thurs 8/26 | Introduction and AI Basics | Ch. 1.1, 2.1-2.3; AI-100 report (Executive Summary and Sec I) | P0: Tutorial Due: 9/1 11:59 pm |
|||
| Tues 8/31 | Ethical Frameworks | Ethical lenses | ||||
| Thurs 9/2 | Uninformed Search | Ch. 3.1-3.4 | HW1 Due: 9/15 11:59 pm |
|||
| Tues 9/7 | A* Search and Heuristics | Ch. 3.5-3.6; Do Artifacts Have Politics? | PDF | P1: Search Due: 9/20 11:59 pm |
||
| Thurs 9/9 | Constraint Satisfaction Problems | Ch. 6.1-6.3 | HW2 Due: 9/22 11:59 pm |
|||
| Tues 9/14 | CSPs II; Local Search | Ch. 6.4-6.5, 4.1-4.2; Self-Driving Moral Choices | ||||
| Thurs 9/16 | Game Trees: Minimax | Ch. 5.1-5.3 | PDF | HW3 Due: 9/29 11:59 pm |
||
| Tues 9/21 | Game Trees: Expectimax; Utilities | Ch. 5.4-5.5, 16.1-16.3; Atlas of AI Introduction | P2: Multi-Agent Pacman Due: 10/4 11:59 pm |
|||
| Thurs 9/23 | Markov Decision Processes | Ch. 17.1-3 | HW4 Due: 10/6 11:59 pm |
|||
| Tues 9/28 | Markov Decision Processes II | Sutton and Barto Ch. 3-4; Sources of Harm in AI | ||||
| Thurs 9/30 | Reinforcement Learning | S&B Ch. 6.1, 6.2, 6.5 | HW5 Due: 10/13 11:59 pm |
|||
| Tues 10/5 | Reinforcement Learning II | Ch. 21; Atlas of AI Ch. 3 | P3: Reinforcement Learning Due: 10/25 11:59 pm |
Practice Midterms | Thurs 10/7 | Probability | Ch. 13.1-13.5 |
| Tues 10/12 | AI Data Ethics and Case Studies | |||||
| Thurs 10/14 | Midterm Exam | |||||
| Tues 10/19 | Intro to ML and Bayes Nets: Representation | Ch. 14.1-14.3; GPT-2 Release Controversy | ||||
| Thurs 10/21 | Bayes Nets: Independence | Ch. 14.3 | PDF | |||
| Tues 10/26 | Bayes Nets: Inference | Ch. 14.4; Timnit Gebru Firing Controversy | PDF | |||
| Thurs 10/28 | Bayes Nets: Sampling | Ch. 14.5 | PDF | HW6 Due: 11/10 11:59 pm |
||
| Tues 11/2 | Hidden Markov Models | Ch. 15.1-15.3; Atlas of AI Ch. 4 | P4: Ghostbusters Due: 11/15 11:59 pm |
|||
| Thurs 11/4 | Particle Filters and HMM Applications |
Ch. 15.5 | ||||
| Tues 11/9 | Decision Diagrams / VPI | Ch. 16.5-16.6; Model Cards | HW7 Due: 11/22 11:59 pm |
|||
| Thurs 11/11 | ML: Naive Bayes | Ch. 18.1-18.2, 20.1-20.2.2 | PDF | P5: Classification Due: 12/1 11:59 pm |
||
| Tues 11/16 | ML: Perceptrons | Ch. 18.6.1, 18.6.3; Atlas of AI Ch. 5 | PDF | HW8 Due: 11/29 11:59 pm |
||
| Thurs 11/18 | ML: Kernels and Clustering | Ch. 18.8, 18.9 | ||||
| Tues 11/23 | ML: Deep Learning | Drone Warfare | PDF | |||
| Thurs 11/25 | No Class: Thanksgiving break | |||||
| Tues 11/30 | Advanced Applications | Atlas of AI Ch. 6 and Conclusion | | Practice Finals | ||
| Thurs 12/2 | Wrap up | PDF | ||||
| Sat 12/11 7-10pm via Gradescope | Final Exam | |||||
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.
Slip days: Programming projects must be turned in electronically by 11:59pm on the listed due date. You will have 5 slip days for these projects, up to two of which can be used for each project. After two slip days are used on a project, or after you've run out of slip days, you will receive a zero, 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. The written homework assignments 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. However, we will drop your lowest written homework grade.
Overall grades will be determined from:
Grades will be assigned using both plus and minus grades.
To help preserve our in person learning environment, the university recommends the following:
You are encouraged to discuss the readings and concepts with classmates, but all written 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 departmental guidelines and/or ask—ignorance of the rules will not shield you from potential consequences.
The University of Texas at Austin provides upon request appropriate academic accommodations for qualified students with disabilities. For more information, contact the Division of Diversity and Community Engagement — Services for Students with Disabilities at 512-471-6529; 512-471-4641 TTY.
A student who misses an examination, work assignment, or other project due to the observance of a religious holy day will be given an opportunity to complete the work missed within a reasonable time after the absence, provided that he or she has properly notified the instructor. It is the policy of the University of Texas at Austin that the student must notify the instructor at least fourteen days prior to the classes scheduled on dates he or she will be absent to observe a religious holy day. For religious holy days that fall within the first two weeks of the semester, the notice should be given on the first day of the semester. The student will not be penalized for these excused absences, but the instructor may appropriately respond if the student fails to complete satisfactorily the missed assignment or examination within a reasonable time after the excused absence.