CS221: Artificial Intelligence: Principles and Techniques
Teaching Staff
Activities Homework parties and most office hours are in person in Huang Basement, but we have some remote office hours (for SCPD students) on Zoom. See class calendar for the exact times and locations of all activities.
Policies
Communication: We will use Ed for all communications, which you can access via Canvas. SCPD students: please email scpd-gradstudents@stanford.edu if you need general assistance. Make a public Ed post whenever possible. For private matters, make a private Ed post, which will be visible to only the instructors and all CAs. For extra sensitive matters, you can also email cs221-summer23-lead-staff@lists.stanford.edu, which is visible by only the instructor and the head CA.
Video access disclaimer: Lecture videos from previous versions of this course will be made available to all students. Weekly meetings/class/lectures from this quarter will also be recorded and available on Canvas. These recordings might be reused in other Stanford courses, viewed by other Stanford students, faculty, or staff, or used for other education and research purposes. If you have questions or concerns, please contact us.
Academic accommodations: If you need an academic accommodation, contact the Office of Accessible Education (OAE). The OAE will then prepare an OAE letter with the recommended accommodations. Send this letter to cs221-summer23-lead-staff@lists.stanford.edu by Friday, July 7 (week 2).
Collaboration policy and honor code: Please read Stanford's honor code policy. In the context of CS221, you are free to form study groups and discuss homeworks and projects. However, you must write up homeworks and code from scratch independently, and you must acknowledge in your submission all the students you discussed with. The following are considered to be honor code violations: When debugging code together, you are only allowed to look at the input-output behavior of each other's programs (so you should write good test cases!). We periodically run similarity-detection software over all submitted student programs, including programs from past quarters and any solutions found online on public websites. Anyone violating the honor code policy will be referred to the Office of Judicial Affairs. If you think you violated the policy (it can happen, especially under time pressure!), please reach out to us; the consequences will be much less severe than if we approach you.
Inclusion: The CS221 teaching staff is committed to creating an inclusive and supportive learning environment for all students. Please be respectful to your fellow students, course CAs, and instructors. If you see any problems, please reach out to us early.
Content
What is this course about? The goal of artificial intelligence (AI) is to tackle complex real-world problems with rigorous mathematical tools. In this course, you will learn the foundational principles and practice implementing various AI systems. Specific topics include machine learning, search, Markov decision processes, game playing, constraint satisfaction, graphical models, and logic (optional in the Summer 2023 quarter).
Prerequisites: This course is fast-paced and covers a lot of ground, so it is important that you have a solid foundation in a number of areas. Here are the basic skills that you need and the classes that teach those skills: It is less important that you know particular things (e.g., we don't use eigenvectors in this course even though that's a pillar of any linear algebra course), and more important that you've done enough related things that you feel at ease with it. While it is possible to fill in the gaps, this course does move quickly, and ideally you want to be focusing your energy on learning AI rather than catching up on prerequisites. We have made a few prerequisite modules that you can review to refresh your memory, and the first homework (foundtaions) will allow you to also get some practice on these basics.
Further reading: There are no required textbooks for this class, and you should be able to learn everything from the lecture notes and homeworks. However, if you would like to pursue more advanced topics or get another perspective on the same material, here are some great resources: Note that some of these books use different notation and terminology from this course, so it may may take some effort to make the appropriate connections.
Coursework
Schedule
Monday Tuesday Wednesday Thursday Friday Saturday Sunday
Week 1 June 26 June 27
June 28
June 29 June 30 July 1 July 2
Modules
Introduction
Machine Learning

Homework
[Foundations]
Class:
Introduction, Machine Learning (Jehangir)
4:30-6:15pm
Class:
Machine Learning (Jehangir)
4:30-6:15pm
Week 2 July 3 July 4
July 5
July 6 July 7 July 8 July 9
Modules
Machine Learning

Homework
[Sentiment]
Foundations Homework due at 11pm. No Class. July 4th Holiday. Class:
Machine Learning (Jehangir)
4:30-6:15pm
Final Study List Deadline
Week 3 July 10 July 11
July 12
July 13 July 14 July 15 July 16
Modules
Search

Homework
[Route]
Sentiment Homework due at 11pm. Class:
Search (Jehangir)
4:30-6:15pm
Class:
Search (Jian)
4:30-6:15pm
Week 4 July 17 July 18
July 19
July 20 July 21 July 22 July 23
Modules
MDPs

Homework
[Blackjack]
Route Homework due at 11pm. Class:
MDPs (Jehangir)
4:30-6:15pm
Class:
MDPs (Jehangir)
4:30-6:15pm
Week 5 July 24 July 25
July 26
July 27 July 28 July 29 July 30
Modules
Games
[Pacman]
Blackjack Homework due at 11pm. Class:
Games (Jehangir)
4:30-6:15pm
Class:
Games (Edmond)
4:30-6:15pm
Week 6 July 31 Aug 1
Aug 2
Aug 3 Aug 4 Aug 5 Aug 6
Modules
Factor Graphs
[Scheduling]
Pacman Homework due at 11pm. Class:
Factor Graphs, Beam Search (Jehangir)
4:30-6:15pm
Class:
Factor Graphs, Beam Search (Swastika, Jehangir)
4:30-6:15pm
Week 7 Aug 7 Aug 8
Aug 9
Aug 10 Aug 11 Aug 12 Aug 13
Modules
Markov and Bayesian Nets

Homework
[Car] (not due)
Class:
Markov and Bayesian Nets (Jehangir)
4:30-6:15pm

Scheduling Homework due at 11pm. Class:
Bayesian Nets, Conclusion (Jehangir)
4:30-6:15pm
Week 8 Aug 14 Aug 15
Aug 16
Aug 17 Aug 18 Aug 19 Aug 20


Class:
Week 7 Practice Problems (Anirudhan, Jehangir)
4:30-6:15pm

Class:
Final Exam Review (Jian, Jehangir)
4:30-6:15pm
Final Exam: 7-10pm PT