There will be several routes of communication for this course:

  • The main mode of electronic communication between students and staff, as well as amongst students, is through Piazza. It is intended for general questions about the course, clarifications about assignments, student questions to each other, discussions about material, and so on. We strongly encourage students to participate in discussion, ask, and answer questions through this site. The course staff will monitor discussions closely.
  • If you need to contact the course staff privately, you should email cs188@berkeley.edu. You may of course contact the professors or GSIs directly, but the course email will produce the fastest response.


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

CS61A AND CS61B AND CS70 is the recommended background.

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, but if you want to get a head start here is a good tutorial: ACM Python Tutorial


Extensions for projects and homeworks are generally granted only if

  1. you have submitted a DSP letter, or
  2. you have a medical or family-related emergency.

In a project group, the DSP extension only applies to the student with accommodation. If both students in the group have accommodation, they need to email the staff individually

For assignments whose solutions are set to be released publicly after the deadline, extension can only be requested up to the solutions release time.


This class includes 5 programming projects, 6 electronic homework assignments, and 4 written assessments.

Late Policy

Electronic homeworks and written assessments cannot be turned in late. If you don’t submit an electronic homework on time, you have to use your homework drop. Projects lose 20% of their total point value per day turned in late. However, projects also have slip days which can be used to delay the onset of the late policy. See the Project Slip Days.


The Coding Diagnostic is to be completed alone. Projects 1 and after 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. 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.

Please note that obtaining, sharing, and posting solutions to Electronic Homework, Written Homework, and Projects is a violation of academic integrity.

Please also note that sharing lecture recordings outside this class is prohibited due to privacy and accessibility concerns.

Project Slip Days

Programming projects must be turned in electronically by the listed due date and time. You will have a total of 5 slip days to be used across ALL projects to extend a deadline. Note that slip days are counted by the granularity of days, rounded up to the nearest day. For example, if you have yet to use your two slip days: for a project due at midnight (11:59 PM) on Friday, any submission from Friday midnight to Saturday midnight will use up one slip day, any submission from Saturday midnight to Sunday midnight will use up two slip days, and any submissions after Sunday midnight will begin being penalized by the late policy. Slip days will be applied to your grades at the end of the semester in a manner which maximizes your project grades. You may only use maximum two slip-days per project. You may only use maximum two slip-days per project

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

Electronic Homework

Electronic HW (hosted on Gradescope) are meant to reinforce and give practice with concepts covered in class. They will be automatically graded for correctness, and you can submit as many times as you like up to the deadline; again we encourage you to work until you have fully solved the homework. Electronic homeworks will generally be released Saturday, and due the following Friday. Electronic homeworks have no slip days. You will each be allowed to drop your lowest electronic homework and we will drop your lowest E-hw by default. Note that this policy is also meant to deal with cases like internet issues while submitting, forgetting about the deadline, emergency situations, joining the class late, etc.

Written Homework

Written Homeworks (submitted to Gradescope) are 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.

Written homeworks have no slip days but we will drop your lowest written homework score. You will be required to complete a self-grade for each written HW assigment to get credit.

Your final WHW grade will be adjusted by staff-side grading, and will be multiplied by 1.4 (with a maximum of 100% per assignment)

Check-in Quizzes

We are following an asynchronous style of learning, that is, we will post recorded lectures before actual meeting times and use the class meetings for live Q&As. While this allows you to pick your own pace for learning, we want to make sure that none of the students are behind in lecture materials. The check-in quizzes are meant to sanity-check your basic understandings of the lecture recordings. It also serves the purpose of a reminder that you need to be catching up with the schedule of the course. Each check-in quiz (on lecture content) is due before the corresponding live lecture. Check-in quizzes have no slip days or drops. Instead, you may use them to boost your final score (see details in grading).

These quizzes are optional and there will be a total of 25 check-in quizzes. For every check-in quiz you will earn:

  • 4 points if at least 50% of the questions are answered correctly.
  • 1 point otherwise.

The maximum number of points you can accumulate from check-in quizzes is 100 points.

If you earn x% from check-in quizzes and y% on the final exam, your equivalent final exam percentage (y_eq) will be y_eq = max(y, 0.75y+0.25x) = y+max(0, 0.25(x-y))

This means two things:

  • If your performance on the check-in quizzes is better than that on the final exam, the check-in quizzes will count towards your grade (as a boost)
  • Otherwise, your final exam grade is unaffected


Submissions should acknowledge all collaborators and sources consulted. All code and written responses should be original. We 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, we will actively be checking for code plagiarism (both from current classmates and previous semesters). All midterms, written assessments, and the final exam must be completed individually without any consultation or collaborators; we reserve the right to give an additional oral exam to ensure the student's understanding of the material on any midterm exam, written assessment, or final exam. We are not lenient about cheating; we sympathize with Kris Pister's policy .

CS 188 has a zero -tolerance policy towards academic misconduct. If the student committed academic dishonesty on any assignments/exams:

We will forward all suspicious cases to the Center of Student Conduct, and recommend immediate failure (F) if the involved individuals are found guilty.


Midterm: Thursday, July 15th, 5-7 PM PT. (Alternative Midterm: Friday, July 16th, 12-2 AM PT.)

Final: Wednesday, August 11th, 5-8 PM PT. (Alternative Final: Thursday, August 12th, 12-3 AM PT.)

We will not make any additional timeslots for the exams. If you cannot attend the regular or alternative timeslot for the exams, we strongly recommend you to take CS 188 in a different semester (because otherwise you will receive a 0 on the exams you cannot attend). We reserve the right to not grant alternative exam petitions with inadequate evidence, or those submitted past the deadline

Zoom proctoring will be used for both the midterm and final exam, and students are expected to screen share their computer and record themselves when throughout the exams. For more details, please refer to the exam logistics posts on Piazza.


Overall grades will be determined from:

  • Programming Assignments (25%)
  • Electronic Homework Assignments (10%)
  • Written Homework Assignments (10%)
  • Midterm (20%)
  • Check-in Quizzes + Final exam (35%)

Check-in Quizzes boost: Your percentage grade on the final = max(percentage grade on the final, 1/4 * percentage grade on check-in quizzes + 3/4 * percentage grade on the final) For example, if you completed 80% of all check-in quizzes and got 60% on the final, your grade on the final will be 1/4* 80% + 3/4*60% = 65%.

Grades are on the following fixed scale: (Refer to Notations for Intervals if you are not familiar with the notations below.)

| 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)       |

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

Regrade Policy: If you believe an error has been made in the grading of one of your exams or assignments, you may resubmit it for a regrade. Regrades for cases where we misapplied a rubric in an individual case are much more likely to be successful than regrades that argue about relative point values within the rubric, as the rubric is applied to the entire class. Because we will examine your entire submission in detail, your grade can go up or down as a result of a regrade request.


What are participation points?A form of extra credit to bump students who are close to grade boundaries into the next grade bin. All grade bins are posted above.

How do I earn participation points?There are 2 distinct categories to accumulate up to a maximum total of 20 participation points in CS 188. This is meant to give all students the maximum flexibility to participate in a way they feel comfortable with.

So in summary, Participation Score = min( Piazza + Section, 20), where Piazza and Section are subcategories in which you can earn anywhere from 0 to 20 points.

Piazza Participation (max 20): At the end of the semester, a Piazza participation score will be assigned to all students, where we will roughly grade everyone on a scale that rewards thought-provoking questions or insightful answers. Staff will assign piazza grades manually based on these rough features, so there is no formula that exactly maps the number of contributions to the number of piazza points you will receive. To put things into perspective out of a maximum of 20 points, less than 6% of students from Spring 2020 earned 10 points and the class median was 1 point.

Section Participation (max 20): We have discussion sections that span over a wide range of time, so please choose and regularly attend one section. At the end of the semester, you will be asked to fill out a Google form to describe your interactions with 1 TA. This will be reviewed by the admin TA team and cross-checked by the TA you referenced in the form, and used to determine your section participation points.

Each participation point is worth 0.05% of your grade, capped at 20 points (equivalent to 1%, which is a fifth of the width of one grade bin).

Please note that we will not round up anyone’s grades at the end of the semester beyond participation-point based extra credit. No exceptions. So please take this opportunity to earn extra credit and actively participate.


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.
  • 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.
  • If something happens in the course that runs counter to the goal of making every student feel safe, respected, and welcome, you can fill out this form to anonymously let the department know.
  • As a member of the CS188 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.


Here are the policies that govern admission into classes, and here are some answers to frequently asked questions about admission. The course staff does not control enrollment!