CS 189/289A at UC Berkeley



Welcome to CS 189! We are excited to have you as we embark upon a survey of both classical and modern machine learning methods.

Course Overview

Below is a very general overview the course. Please note that this overview is tentative and may be subject to change

Week 1: Introduction and Math Review

Week 2: Maximum Likelihood Estimation

Week 3: Linear Regression

Week 4: Classification

Week 5: Gradient Descent and Backpropagation

Week 6: Evaluating Models

Week 7: Dimensionality Reduction

Week 8: Clustering

Week 9: Decision Trees

Week 10: Convolutional Neural Networks and Vision

Week 11: Transformers and Natural Language Processing

Week 12: Graph Neural Networks and Computational Biology

Week 13: Hidden markov Models and Graphical Models

Week 14: Reinforcement Learning

Week 15: Robotics and Causality

In-Person Instruction

CS 189 will be taught fully in person this semester, unless conditions change and university policy mandates otherwise. We are planning to record lectures, but we won't be releasing the recordings on an ongoing basis. Instead, we currently plan to release lecture recordings in two batches shortly before the midterm and final exams, with the intention that they be used for studying.


Auditors are welcome to attend lecture only if there are extra seats available in the lecture hall. We anticipate that lectures will be very full for the first couple weeks of the semester. Unfortunately, we cannot devote instructional resources to auditors, but you are welcome to use materials that are posted publicly on this site. We will not be adding auditors to bCourses or to Ed Discussion, and auditors may not attend discussion sections or office hours.

Non-EECS Graduate Students

If you are a graduate student from a department other than EECS who is blocked from joining the CS289A waitlist, please email cs189-fa22 (at) berkeley (dot) edu ASAP with your department and degree program. We unfortunately cannot guarantee that any non-EECS students will be admitted into the course, but we can send you a form to fill out to express your interest in enrolling.


Ed Discussion

We will use Ed Discussion as the "one-stop shop" throughout the semester for a Q&A forum and for official announcements. Enrollment in Ed Discussion is mandatory. If you have not yet been added to the CS 189 Ed, please email cs189-fa22 (at) berkeley (dot) edu. If you have questions about anything related to the course, please post them on Ed rather than emailing the instructor or TAs. Please do not post anything resembling a solution to a homework problem before it's due. If in doubt, you should make your post private (visible to instructors only). We always welcome any feedback on what we could be doing better. You are required to use your actual name on Ed.


All homework will be submitted through Gradescope, and all grades will be returned through Gradescope. If you have not been added to Gradescope, please email cs189-fa22 (at) berkeley (dot) edu.


We will use bCourses to upload lecture recordings for this course and solutions to problem sets. If you are in the course, you should have automatically been added to bCourses. If you cannot access the bCourses site, please email cs189-fa22 (at) berkeley (dot) edu.

Instructional Servers

This course does not make use of instructional accounts, but if you would like a computer account for this course, go to http://inst.eecs.berkeley.edu/webacct, or click 'WebAcct' on http://inst.eecs.berkeley.edu.


The midterm is Friday, October 21 from 7-9 p.m. The final is tentatively scheduled for Tuesday, December 13, from 8-11 a.m. All students are required to take exams in person. No alternate exams will be offered. Please make a private Ed post if you have an extreme hardship related to these policies.


All materials can be found on the front page.


Discussion worksheets are released the day before the first discussions of the week. The discussion sections may cover new material and will give you additional practice solving problems. You may attend whichever, as many, and as few discussion sections as you like.


There will be about 9 homeworks for this class, released 1-2 weeks at a time. Readers will grade homeworks throughout the semester, and grades will be released on Gradescope. If you wish to request a regrade on a homework assignment, you have 5 days to do so. Any regrade requests after this time window will not be considered by course staff. Doing the homeworks and reading the solutions is vital for your learning. You are expected to show your work and justify all of your answers. We are implementing the following policy to reduce student stress: homework will be scored out of 80%. For instance, if you scored a 50% on the homework, then your actual grade is 50/80. If you scored a 80% on the homework, then your actual grade is 80/80. If you scored 80+ on the homework, then your actual grade is capped at 80/80. Your lowest two homework scores will be dropped, but these two drops should be reserved for emergencies. We will not grant additional homework drops or homework extensions for any reason.


Ethical behavior is an important part of being an engineer. It is a part of our responsibility to act ethically and honestly, and moreover, ethical behavior is what helps you learn best. Cheating is fundamentally dishonest and antisocial behavior. We have a zero-tolerance policy for cheating. Any offense will result in negative points for the category that the offense occurs in, with no bound on how negative it can go, and a referral to the Center for Student Conduct.

You are not permitted to upload any of our problems, solutions, or your own solutions to our problems to any site that is accessible by other people. Use Ed to discuss content. The only limited exceptions to this are online communication mediums between you and the collaborating individuals explicitly listed on your homework assignment. Looking at online solutions from previous semesters or other students is forbidden, as is sharing of your solutions with others. Furthermore, students all have an affirmative duty to report possible cases of cheating or unauthorized communication to the course staff, immediately. Acknowledgement of and failure to report cheating implicates the bystander since this is academic misconduct. Cheating hurts us all and engineering ethics requires us to point out wrongdoing when we are aware of it.


You are encouraged to work on homework problems in study groups of up to five people, however, you must always write up the solutions on your own. You are not permitted to look at the final written solution even for members of your own study group. Similarly, you may use books or online resources (not solutions from previous terms) to help solve homework problems, but you must always credit all such sources in your writeup and you must never copy material verbatim. We believe that most students can distinguish between helping other students and cheating. Explaining the meaning of a question, discussing a way of approaching a solution, or collaboratively exploring how to solve a problem within your group is an interaction that we strongly encourage. But you should write your homework solution strictly by yourself. You must explicitly acknowledge everyone whom you have worked with or who has given you any significant ideas about the homework.


Students will be graded with the following weights:

  • Homework: 20%
  • Midterm: 35%
  • Final: 45%