Course Information

Announcements and Forums:

See bSpace for announcements and project forums.

Course Staff:

Instructor: John DeNero (denero AT
Current Office hours: Check the final preparation page for special office hours this week

GSIs: Nimar Arora, Dan Gillick and Nick Hay

Staff Email:

Times and Locations:

Lecture: Tuesdays & Thursdays, 11:00 am - 12:30 pm in 306 Soda Hall

Sections: All sections are on Monday.

Course Description:

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.

See the syllabus for slides, deadlines and the lecture schedule.


Projects: Programming projects are a significant portion of the coursework, and focus primarily on building agents to play Pacman. Projects may be completed and submitted alone or in teams of two (submission instructions). These projects will primarily be graded automatically for correctness, though we will review projects individually as necessary to ensure that they receive the credit they deserve.

Written homeworks: homeworks will consist of questions similar to those that have appeared on previous semesters' exams. They can be discussed in groups, but must be written up individually. Turn written assignments in lecture the day they are due.

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 assignment.    Written assignments do not have late days!

Ethics: All submission should acknowledge any collaborators and sources consulted.  All code and written responses should be original.  I trust you all to submit your own work, but to protect the integrity of the course from anyone who doesn't want to play by the rules, I will actively be checking for code plagiarism (both from current classmates and previous semesters). I'm not lenient about cheating; I sympathize with Kris Pister's policy.

See the assignments page for specifics.


Overall grades will be determined from:

Grades are on the following fixed scale:


[85 -- 100]%
[80 -- 85)%
[75 -- 80)%
[70 -- 75)%
[65 -- 70)%
[60 -- 65)%
[55 -- 60)%
[50 -- 55)%
[45 -- 50)%
[40 -- 45)%
[35 -- 40)%
[0 -- 35)%

I may adjust grades upward based on class participation, extra credit, etc. The grade of A+ will be awarded at my discretion based on exceptional performance.


Course communication will be handled through bSpace, including all course announcements and discussion forums. If you need to contact the course staff privately, you should email the staff list (cs188-staff@lists). You may of course contact the instructor or GSIs directly, but the staff list will produce the fastest response.


This course has substantial elements of both programming and mathematics, because these elements are central to modern AI.  You should be prepared to review basic probability on your own if it is not fresh in your head.  You should also be very comfortable programming on the level of CS 61B even though it is not strictly required.

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. See the programming page for details.


The required course textbook is Russell and Norvig, Artificial Intelligence: A Modern Approach, Second Edition.  If your copy has a red cover and not a green cover, it's the first edition and is too different to be used for this course.  Any other readings will be made available online.


The course staff is not in charge of enrollment. You may contact Michael-David Sasson directly with questions; he makes all enrollment decisions for the course.