Policies

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
    1. Homework
    2. Project
    3. General
    4. DSP
  8. Lectures
  9. Discussions
  10. Office Hours
  11. Exams
  12. Grading
  13. Collaboration Policy
    1. Permitted
    2. Absolutely Forbidden
  14. Inclusion
  15. Auditing

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


Enrollment

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.


Prerequisites

  • 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.


Communication

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/fa24/.

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.


Projects

There are 5 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. However, you have 7 project slip days, which can reduce your late penalty for a project by 1 day each. (For example, if a project is due on September 1st at 5 PM, and you submit on September 1st at 5:30 PM, you will use one slip day.) We will automatically apply slip days to your active project submissions to maximize your total score. Each partner consumes a slip day for every day the project is late. Extensions will apply to both partner’s submissions.


Homeworks

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). If you are unofficially auditing the class, you can use this entry code to get access to ungraded practice copies of the homeworks: 8KY78K.

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

Written homework (submitted into Gradescope) is meant to make you think beyond strict repetition of what is covered in class and is a sample of the kind of assessment material you will see on exams. Points will be given for completion/effort rather than correctness. In addition, the following homework will contain a retrospective self-assessment in which you compare your solution to the staff solution (also graded on completion). You are welcome to discuss any stage of the written homework process with others provided you acknowledge your collaborators.


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.

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.

Homework

Extensions on homework are being offered on a case-by-case basis. The maximum length we’re willing to approve is 4 days. You’re expected to adhere to the honor code (please don’t look at the solutions before you submit your homework).

Project

We’re offering 7 slips days for use on projects. Extensions will only be offered after exhausting slip days on a case by case basis (via the extension form). Slip days are applied with daily granularity (e.g. 1 hour after the deadline counts as 1 full day). After you’ve exhausted all your slip days, projects lose 20% of their total point value per day.

General

Please try to submit extension applications before an assignment’s deadline. We may not accept requests submitted after.

DSP

DSP accommodations for assignments are also handled through the extensions form.


Lectures

We will have a 90-minute live lecture in Dwinelle 155 on Tuesdays and Thursdays, 3:30-5: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.


Discussions

TAs will hold weekly 1-hour or 2-hour live discussions throughout the week. Discussion sections start the week of September 9.

There are three types of discussion sections:

  • Regular discussion: focusing on understanding the current material.
  • Exam prep: focusing primarily on problem solving.
  • Extended discussion: covers regular discussion material at a slower pace and more in-depth, and are 2 hours long.

You can attend any discussion sections you want. Only in-person discussions will be offered. We’ll try to post recordings of discussion worksheets, but there are no promises.


Office Hours

Office hours and 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 September 2.


Exams

The midterm is on Thursday, October 17, 7–9 PM PT.

The final exam is on Friday, December 20, 7-10 PM PT.

We will only offer an alternate exam slot for students who meet both our qualification criteria: (i) you need to have a hard conflict; (ii) you need to contact us no later than Friday 9/20 about any such conflicts through this form. The alternate slots will be Thursday, October 17, 9-11 PM PT for the midterm and Saturday, December 21, 9 AM-12 PM PT for final.

All exams must be taken in person. There will be no online offering for exams this semester.


Grading

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 (e.g. lecture, section, ed) 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 S/U, 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 ChatGPT, Stack Overflow or other 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.

Permitted

  • 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.


Inclusion

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.

Auditing

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: 8KY78K).

  • 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: 8KY78K. 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.