Table of contents

  1. Description
  2. Enrollment
  3. Prerequisites
  4. Communication
  5. Projects
  6. Homeworks
    1. Part 1
    2. Part 2
  7. Accommodations and Extensions
  8. Lectures
  9. Discussions
  10. Office Hours
  11. Exams
  12. Grading
  13. Collaboration Policy
    1. Permitted
    2. Absolutely Forbidden
  14. Inclusion
  15. Support During Remote Learning
  16. Auditing


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. Readings refer to fourth edition of AIMA unless otherwise specified.


Class listing on classes.berkeley.edu

In general, course staff does not control enrollment; we have to follow the department’s enrollment policies. We do not have any enrollment codes or any other way to let non-CS majors into the class. If you have any questions about enrollment, please reach out to the emails listed in the enrollment policies page.

If you are unable to enroll in the class right now, but plan to enroll later (e.g. you’re waiting for a CS major declaration to be processed), please fill out this form so that we know who you are and can add you to course platforms.


  • CS 61A or 61B: Prior computer programming experience is expected (see below)
  • CS 70 or Math 55: Familiarity with basic concepts of propositional logic and probability are expected (see below)

CS61A AND CS61B AND CS70 is the recommended background.

The required math background in the second half of the course will be significantly greater than the first half. The self-diagnostic assignment Homework 0 will help check your preparation.

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 and how the CS 188 submission autograder works. Project 1 is a good representation of the programming level that will be required for subsequent projects in this class.


The course schedule and all resources (e.g. lecture slides, discussion worksheets) will be posted on the course website: https://inst.eecs.berkeley.edu/~cs188/sp24/.

All course announcements and content/logistics questions will happen on Ed (the course discussion forum). We will be automatically enrolling everyone.

If you need to contact the course staff privately, please make a private question on Ed or email cs188@berkeley.edu.


There are 6 programming projects, submitted on Gradescope. We’ll enroll all students in Gradescope automatically.

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. Projects can be submitted as often as you like before the deadline; we strongly encourage you to keep working until you get a full score.

Project 0 is to be completed alone. All other projects can be completed alone or in teams of two. If done in a team of two, the person who submits needs to tag the other team member on Gradescope. However, it is important that the submission reflects the understanding of both team members. Specifically, it is not acceptable to “take turns” doing alternate assignments; each assignment must reflect significant effort from both team members.

Projects lose 20% of their total point value per day turned in late, unless you have extensions or accommodations. However, you have 5 project slip days, which can reduce your late penalty for a project by 1 day each. (For example, if a project is due on January 1 11:59 PM, and you submit on January 2 12:30 AM, you will use one slip day.) We will automatically apply slip days to your active project submissions to maximize your total score. Slip days are consumed independently for each partner, but extensions will apply to both.


There are 10 homeworks, submitted on Gradescope.

We’ll add all enrolled students in Gradescope automatically (it may take a day or two after you enroll to get added).

Homeworks cannot be turned in late unless you have extensions or accommodations. However, we will drop your lowest homework score.

Each homework has two components, described below:

Part 1

This part will be automatically graded on Gradescope for correctness, and you can submit as many times as you like up to the deadline; we encourage you to work until you have fully solved this portion of the homework.

Part 2

This part is meant to make you think beyond strict repetition of what is covered in class and is used to reinforce conceptual material that you will see on exams. This part is graded on correctness, and you must show all necessary work to receive full credit. Solutions to the challenge question will be released after the homework is due.

We want you to focus on understanding the material in the homeworks, not necessarily maximizing your score. To that end, we will give full credit on written challenge questions that earn at least 80% of the points possible. Otherwise, the score will be divided by 0.8 (for example, if you get 70% on a written challenge question, your score for that assignment would be counted as 0.7/0.8 = 87.5%).

Homework is to be submitted individually, but may be discussed in groups. If discussed in a group, acknowledge your collaborators in the submission per standard academic practice.

Accommodations and Extensions

As instructors, our goal is to teach you the material in our course. The more accessible we can make it, the better. If you encounter any extenuating circumstances, please let us know as soon as possible so we can best help you succeed in the class.

If you ever need an extension during the semester, please fill out the extensions form.

The Disabled Students’ Program (DSP) supports disabled students at UC Berkeley. They offer a wide range of services and accommodations. If you are facing barriers in school due to a disability, apply to DSP! Students registered with DSP can expect to receive an onboarding email within a week of sending us your formal letter of accommodation through the AIM portal.


We will have a 90-minute live lecture on Tuesdays and Thursdays, 12:30–2:00 PM. This is the listed lecture time on the course schedule.

We will not be offering Zoom lectures this semester, but we will post lecture recordings through bCourses.

Lecture attendance is optional but encouraged. We will offer a maximum of 2% of extra credit for lecture attendance. Each lecture will contribute equally to the amount of extra credit received, apart from the first lecture which is given for free to everyone.

In addition to lecture recordings from the current semester, we’ve posted links to Peyrin Kao and Stuart Russell’s lecture recordings from Spring 2023. These should mostly cover the same content as the current semester’s lectures, though in cases of content disputes, the current semester’s lectures will be used as the definitive source of truth.


TAs will hold weekly 1-hour or 1.5-hour live discussions throughout the week. Discussion sections start the week of January 22.

There are three types of discussion sections:

  • Regular discussion sections focus on understanding the current material.
  • Exam prep sections focus primarily on problem solving.
  • Extended-time sections cover material at a slower pace and more in-depth, and are 1.5 hours long.

You can attend any discussion sections you want. (For example, you could attend one regular section and one exam prep section each week.)

Only in-person discussions will be offered. Discussion attendance is optional, but we will be offering a maximum of 1% extra credit for discussion attendance. Each discussion will count for 0.1%, with up to two discussions a week (1 normal + 1 exam prep). We’ll try to post recordings of discussion worksheets, but there are no promises.

Office Hours

Office hours and HW/Project parties will be hybrid, so you can show up in-person or remotely. To request help, make a ticket on the office hours queue.

See the course calendar on the website for the office hours schedule and in-person locations. Office hours start the week of January 22.


The midterm is on Tuesday, March 5, 7–9pm PT.

The final exam is on Thursday, May 9, 3–6pm PT.

We are offering remote exams only at the same time as the scheduled exam. There will be no remote exams starting at any other time.

If you are unable to take the exam at the scheduled time, we will be offering only one alternate exam time, in-person only, immediately after the scheduled exam. Specifically, the alternate midterm time is Tuesday, March 5, 9–11pm PT. The alternate final exam time is Thursday, May 9, 6–9pm PT (we’ll give you a few minutes to walk between exams). There are no other alternate exam times. There are no remote exams at alternate times.

More logistics for the exam will be released closer to the exam date, including a form for you to sign up for a remote exam or an alternate-time exam.


Overall grades will be determined from:

  • Projects (25%)
  • Homework Assignments (20%)
  • Midterm (20%)
  • Final Exam (35%)
Grade Overall Percentage
A [85, 100]
A- [80, 85)
B+ [75, 80)
B [70, 75)
B- [65, 70)
C+ [60, 65)
C [55, 60)
C- [50, 55)
D+ [45, 50)
D [40, 45)
D- [35, 40)
F [0 , 35)

Staff may adjust grades upward based on class participation. The grade of A+ will be awarded at staff discretion based on exceptional performance.

If you are taking the class P/NP, you will need to attain a letter grade of C- or higher AND take the final to pass. If you are a graduate student taking the class SUS, you will need to attain a letter grade of B- or higher AND take the final to pass.

A final grade estimator is available for informational purposes only. In the unlikely event that a bug results in a disagreement between the course policies and this tool, the grade calculated using the course policies will be the one that is submitted to the University. This tool is still a work in progress and many values are just placeholders. It will be updated closer to the end of the semester.

Collaboration Policy

We believe that most students can distinguish between helping other students understand course material and cheating. Explaining a subtle point from lecture or discussing course topics is an interaction that we encourage, but you must write your solutions strictly by yourself (with your partner on projects). You must not ask for homework/project solutions on Stack Overflow or other online sites; although you may ask for help with conceptual questions. You must not receive help on assignments from students who have taken the course in previous years, and you must not review homework or project solutions from previous years.

Before you’ve submitted your final work for a project, you should never be in possession of solution code that you (or your partner) did not write. You will be equally culpable if you distribute such code to other students or future students of CS 188 (within reason).

You must ensure that your solutions will not be visible to other students. DO NOT GIVE ANYONE YOUR CODE! DO NOT POST SOLUTIONS TO PROJECTS ONLINE. If you use GitHub or another source control system to store your solutions electronically, you must ensure your account is configured so your solutions are not publicly visible. If you use GitHub, it offers free private repositories that allow you to keep your solutions private; please use one. If you’re not sure what you’re doing is OK, please ask.

Listed below are some non-comprehensive examples of what is allowed, and disallowed.


  • Discussion of approaches for solving a problem. Such help should be cited as comments in your code. For the sake of others’ learning experience, we ask that you try not to give away anything juicy, and instead try to lead people to such solutions.
  • Discussion of specific syntax issues and bugs in your code, without showing another student your code. Verbally discussing syntax issues is permitted, but Zoom screen sharing your code, for example, is never permitted. Cite any non course staff (course staff meaning Reader, TA, and Instructor) person you received advice from.
  • Using small snippets of non-188 code that you find online for solving tiny problems such as code for iterating through a Python dictionary. Such usages must be cited in comments in your code.

Absolutely Forbidden

  • Typing or dictating code into someone else’s computer.
  • Looking at someone else’s project code to understand a particular idea or part of a project.
  • Possessing project solution code that you did not write yourself or another student’s project code in any form, be it electronic or on paper. This includes the situation where you’re trying to help someone debug. Distributing such code is equally forbidden.
  • Posting solution code to any assignment in a public place (e.g. a public git repository, mediafire, etched into stones above the Mediterranean, etc). This applies even after the semester is over.
  • Using automatic code generators such as OpenAI Codex and Github Copilot or generative AI models capable of producing code, such as ChatGPT, Bard, etc.
  • Working in lock-step with other students. Your workflow should not involve a group of people identifying, tackling, and effectively identically solving a sequence of subproblems.

Warning: Your attention is drawn to the Department’s Policy on Academic Dishonesty. In particular, you should be aware that copying or sharing solutions, in whole or in part, from other students in the class or any other source without acknowledgement constitutes cheating. Any student found to be cheating will (1) be referred to the Office of Student Conduct, (2) receive negative points on the assignment (i.e., worse than not doing it at all), and, depending on severity, (3) fail the course.

This policy is not a game to be defeated, and such circumventions will be seen as plagiarism.


We believe in the crucial importance of creating a learning environment that is welcoming and respectful to students of all backgrounds. The following are specific steps that will help us in achieving this goal:

  • If you feel your academic performance has been impacted negatively due to a lack of inclusion, or due to experiences outside of class such as current events or family matters, please reach out to the instructors and staff. Our job is not only to teach but to support you in every way we can.
  • If something happens in the course that runs counter to the goal of making every student feel safe, respected, and welcome, please contact the head TA or the instructors; if you don’t feel comfortable contacting course staff, you can fill out this form to anonymously let the department know.
  • You may also consult a departmental Faculty Equity Advisor, or fill out the anonymous feedback form for the College of Engineering for equity and inclusion related feedback.
  • If you have a preferred name or set of pronouns that differ from your legal name, you may designate a preferred name for the classroom by following these steps.
  • As a member of the CS 188 community, realize that you have an important duty to help other students feel respected in helping create an inclusive learning environment.

Support During Remote Learning

From the College of Engineering:

We understand that your specific situation may present challenges to class participation. Please contact the instructors if you would like to discuss these and co-develop strategies for engaging with the course.

The Student Technology Equity Program (STEP) is available to help you access a laptop, Wi-Fi hotspot, and other peripherals.

You will be alerted as to when synchronous sessions are about to be recorded. If you prefer not to be recorded, you may turn your video and microphone off. Please set your Zoom name to be the name you would like instructors to call you. You may optionally include your personal pronouns. Please set your Zoom picture to an appropriate profile picture of you to foster a sense of community and enhance interactions. If you are not comfortable using an image of yourself, you may use an appropriate picture of an avatar. We encourage participating with your video on to foster a sense of commnuity and enhance interactions. However, we understand that some students are not comfortable with video or may not be able to participate by video.


If you are not an officially enrolled student in the class, but you’d like to unofficially audit the class, all of the resources we can share are posted publicly on the course website, or on the auditors Gradescope (entry code: 4VK322).

If you are not an officially enrolled student in the class, but you’d like to unofficially audit the class, all of the resources we can share are posted publicly on the course website.

  • Lectures: Slides and recordings are posted on the website.
  • Discussions: Worksheets, solutions, and video walkthroughs are posted on the website.
  • Past exams: Blank exams and solutions are posted on the Resources section of the website. We do not have staff resources to proctor and grade exams for auditors, but you can try out and self-grade any past exams on your own.
  • Homeworks: You can use this Gradescope course entry code to gain access to the homeworks: 4VK322. This Gradescope class contains copies of the autograded portions of our homeworks.
  • Projects: The projects and their autograders are all publicly available on the Projects section of the website. We do not provide Gradescope autograders for the projects, because they are identical to the autograders already bundled in the project releases.
  • We do not have staff resources to grade assignments or answer questions from auditors, so unfortunately we cannot grant access to Ed or the current semester’s Gradescope for auditors.