Syllabus
The schedule is subject to change. We adjust the coverage of the material adaptively based on student and instructor feedback as well as developments in the field. Policies will stay largely stable, however.
Table of contents
- Course platforms
- Prerequisites
- Course outline
- Assignments
- Grading
- Collaboration
- Pulling your weight
- Course content and plagiarism
- Inclusion
- Enrollment
Course platforms
- Website. This site holds all public course information: syllabus, resources, and schedule.
- Gradescope. For submitting homework and for final exam scoring. It is your responsibility to make sure your SID is exactly correct and that your email matches the official Berkeley address in CalCentral, otherwise your grades might be lost.
- Ed. We use Ed as the forum for discussing course material and for sending announcements.
- Microsoft CMT. Used for peer review of final project reports. Acknowledgement: the Microsoft CMT service was used for managing the peer-reviewing process. This service was provided free by Microsoft, who bore all expenses including Azure cloud services, software development, and support.
Gradescope and Ed join links for Fall 2026 will be posted here and announced in the first lecture.
Prerequisites
This is a graduate-level/advanced undergraduate course about a particular approach to information processing using (simulated) analog circuits — differentiable computing — where the desired circuit behavior is tuned via optimization involving data, since we have no idea how to do hand-tuning at scale. Probabilistic and linear-algebraic frames are useful to understand what is going on, as well as how we navigate certain design choices. Overall, we expect students to have a strong mathematical background in calculus, linear algebra, probability, optimization, and statistical learning. Berkeley undergraduate courses that help build that maturity include:
- Calculus: Math 53. Math 1B or AP Calculus is not enough.
- Linear algebra and optimization: EECS 127/227A is ideal.
- Probability: EECS 126, Stat 134, or Stat/Data 140.
- Statistical learning: CS 189/289A or Stat 154. Data 102 is insufficient, even combined with Data 100. In particular, we expect students to already understand the basics of neural nets (multilayer perceptrons, backpropagation, training by SGD, gradient descent) as well as the core concepts of machine learning generally, including regularization, classification, loss functions, hyperparameters, validation, and why we hold out data. This material will be heavily built upon and not retaught. If you do not have this (watching videos on YouTube is not sufficient), you probably need to be taking CS 189/289A and not this course.
Math 53, EECS 126, EECS 127, and CS 189 is the recommended background.
Prerequisites are not enforced for enrollment, but we encourage students to consider taking some of the classes above and saving this course for a future semester if they feel shaky on the fundamentals, because we will not be able to slow down to let students who lack prerequisite understanding catch up.
The course assumes familiarity with programming in a high-level language with data structures. Homework and projects typically use Python; if you have not used it, work through the Python tutorial. Students who have taken Berkeley courses like CS 61ABC are well prepared for the programming components.
The course is understaffed, so course staff do not have the bandwidth to help students with material they should have mastered before taking this course. Students who proceed without the proper background accept full responsibility for teaching themselves what they are missing. Questions about background material will always have the lowest priority in course forums.
Course outline
The goal is to teach a principled course in deep learning that serves the diverse needs of our students while also codifying the present understanding of the field. Topics covered may include, but are not limited to:
- Underlying themes of deep learning, building beyond machine learning concepts like supervised vs. unsupervised learning, regression and classification, training/validation/testing, distribution shift, regularization, and the fundamental underlying tradeoffs.
- Defining and training neural networks: features, computation graphs, backpropagation, iterative optimization (SGD, momentum, Adam, Muon), strategies for training (explicit and implicit regularization, batch and layer normalization, weight initialization, gradient clipping, ensembles, dropout), and hyperparameter tuning including maximal update parameterization (ÎĽP).
- Families of contemporary models: fully connected networks, convolutional nets, graph neural nets, recurrent neural nets and state-space models, and transformers.
- Problems that utilize neural networks: computer vision, natural language processing, generative models, and others.
- Pre-training and fine-tuning, meta-learning, and transfer learning.
- Conducting experiments in a systematic, repeatable way, and leveraging and presenting data from experiments to reason about network behavior.
Assignments
This class includes roughly weekly homework assignments with written and coding components, a course project, and a final exam. All are mandatory.
Homework
Homework is nominally due on Fridays at 10:59 PM. However, the Gradescope deadline is the beginning of finals week. With extremely limited GSI support, we want to maximize the quality of discussions and homework, so we will not handle any extension requests. If you need a couple of extra days you may take them — except for Homework 0, for which we are already giving extra time — but know that this comes at the risk of falling behind. We teach lectures and discussions at a pace that assumes you have completed the weekly homework on schedule.
Homework exists mainly for students to learn. We encourage collaboration in teams of 2–4, but everyone must turn in their own individually handwritten submission.
We require students not only to do the homework but to carefully understand the solutions. You are required to critically evaluate your homework and make sure you can actually do every problem unassisted, to confirm your own learning. Homework problems can show up on the final exam. We recommend redoing any part of any question you didn’t get right the first time in light of what you learned from the solutions. There is no self-grade submission.
One of the most important learning objectives for this course is being able to learn on your own once you have finished it. Deep learning is a rapidly evolving field, so we will sometimes have homework problems that exercise this ability in a carefully curated way, by asking you to go beyond what was covered in lecture and discussion. When this happens, you will largely be expected to solve the problem in a self-contained way — you might have to look up docs for code — building on prerequisite understanding together with ideas already taught. Do not be distraught if something unfamiliar shows up; this is your chance to practice learning on your own in a supportive environment.
The recommended process for doing the homework is:
- Skim the problems.
- Start doing the problems on your own, noting where you get stuck but not letting yourself stay stuck for more than 3–5 minutes on anything.
- Go back to the parts you are stuck on, by yourself or with your study group. This is also the phase in which you can ask questions on Ed and look at what others have posted.
- If you talked to anyone, go back and write out your solutions on your own without access to your notes — in effect, make sure you can do it yourself. Refer to your notes to unstick yourself.
- After you’ve finished the homework yourself, try engaging with tools like Gemini or ChatGPT to see if you can use them to deepen your understanding of the problems and topics.
- Once solutions come out, check your own work carefully. Note what you got, and what you missed or misunderstood.
- Redo any problem you didn’t get, without looking at the solutions. If you get stuck, refer to the solution as a hint, then do the problem without looking at it. You need to make sure you can do the problems straight, because on the exam you won’t have anything else.
- If anything is still unclear after the solution and your attempts to redo the question, ask on Ed in the solutions thread.
Homework is worth 0% of the class grade. However, faculty may choose to look at homework submissions in the event of a grade boundary case, at the faculty’s discretion.
Course project
As a design course, EECS 182 requires all students to complete a final project done in teams of four, complete with a detailed written report and code submission.
- The entire team gets the same base grade.
- Project details will be announced later, but there will be a range of possibilities and difficulties.
- Part of doing the project is rubric-based peer evaluation of other students’ projects. Objective peer review is a standard part of academic practice, and this component is designed to simulate it. It is individually graded and multiplies your base grade.
- Part of the project involves a poster presentation and being able to verbally answer detailed questions about your specific project. There are no alternative venues or remote options.
- Doing well enough on the project is required: if you don’t do passing work on the project, you will fail the class.
Final exam
The final will be in our designated slot based on the lecture time, during finals week (Monday, December 14 through Friday, December 18, 2026). The exam is in person on the Berkeley campus.
The exact final exam date and time depend on the assigned lecture slot and will be confirmed here once the registrar publishes the exam grid.
There are no alternative exams or remote options, except as mandated by DSP. If you cannot make the exam, you should drop the class and take it in a future semester. Please do not email the staff requesting alternative exams.
The final exam in EECS 182/282A is challenging and serves as the main evaluation criterion for this class. If you don’t pass the final exam, you cannot pass the course.
Participation and good citizenship
We expect students to participate in a way that contributes to a positive and inclusive learning atmosphere for fellow students, and helps everyone deepen their mastery of the subject. Actions in furtherance of these goals earn positive points. Bad citizenship and non-constructive behavior gets negative points. Doing nothing gets zero points, which is a failing grade. More details will be provided in a relevant Ed thread.
In particular, students are required as part of participation and good citizenship to sign up for at least four different “special contributions” during the semester, although you can sign up for more to gain extra credit. These special contributions enhance both your learning and that of your classmates. Details, including how to sign up, will be in the Ed thread.
Late policy
Late projects will generally not be accepted.
Extensions and accommodations for DSP
Accommodations will be provided to students who have letters of accommodation from DSP services; we are happy to work with you to make the class accessible.
Grading
Additive weights:
| Component | Weight |
|---|---|
| Homework | 0% |
| Final Exam | 60% |
| Project | 25% |
| Participation | 15% |
Ethics multiplicative component. The additive component is further multiplied by an ethics multiplier. Engineering ethics is an important component of engineering as a discipline, and particularly important given the societal importance of deep learning technologies. We expect most students to get 100% in the ethics component as long as they practice full and responsible disclosure, are 100% accurate in citing sources and giving credit, identify limitations appropriately, and do not claim capabilities they do not have. But misrepresentations, circumventing accountability measures, gaming measurements, and acting with conflicts of interest without full disclosure are all violations of engineering ethics, because they are self-interested manipulations not in keeping with the societal trust placed in engineers. Such violations cause the ethics multiplier to drop below 1. This is an academic matter of evaluation against disciplinary standards, and is therefore conceptually independent of any process associated with violations of UC Berkeley rules.
Gating component. If either your final exam or your project is not of passing quality (C- or better), you cannot get higher than a D+ in the course. A high exam score or participation cannot make up for a failing project, and a high participation or project score cannot make up for a failing exam. This is not a trivial condition — had we applied it in Spring 2025, a further 10% of the course would have received a D+. The underlying cause was primarily not keeping up with the homework.
This class is not graded on a curve. We follow fixed grade bins, and your grade is determined by how well you do, not how well your peers do. Everyone can earn an A. Everyone can fail. The course staff sincerely wants all of you to succeed in this class.
| Grade | Overall percentage |
|---|---|
| A | [90, 100] |
| A- | [88, 90) |
| B+ | [84, 88) |
| B | [75, 84) |
| B- | [68, 75) |
| C+ | [65, 68) |
| C | [62, 65) |
| C- | [58, 62) |
| D | [53, 58) |
| F | [0, 53) |
Individual categories of the grade can go negative. The grade of A+ is awarded at the instructor’s discretion based on exceptional performance.
If you are taking the class P/NP, you need a letter grade of C- or higher. If you are a graduate student taking the class S/US, you need a letter grade of B- or higher.
Regrade policy. If there is reason to believe an error was made in grading an exam, you may resubmit it for a regrade in a timely fashion. Regrade requests to change the nature of the rubrics, the division of points between rubrics, or the choice of rubric items cannot be considered, as those apply to the whole class. However, if a rubric item is misapplied, we will gladly fix it. Because we examine the entire submission in detail, your grade can go up or down as a result of a regrade request.
If you are very near a grade boundary, we will randomly sample some of your submitted homework to see whether we should push you up or down.
Collaboration
We encourage students to work in groups of 2–4 in completing the homework. However, each student must write up their own solutions — handwritten for everything except code — and submit individually. Because it would be an ethics violation due to inherently self-interested misrepresentation, students should never directly copy solutions from other students or material from books or online resources. As per standard academic practice, you should acknowledge any collaborators on an assignment and credit any external sources used in your writeup. A failure to cite or acknowledge collaboration is grounds for immediately failing the course, because it can impact the ethics multiplier.
Because of the nature of the material, we encourage students to explore playing with ChatGPT, Gemini, and other large language models as well as code models, but suggest that you first solve the problems yourself before feeding them to an LLM. The point of feeding them to an LLM is to better understand LLM behavior. Since the homework counts for zero percent of the grade, asking the LLM to do it when you don’t know how has the same effectiveness as choosing to drive a lap around your neighborhood instead of going for a run. The point isn’t the destination, it’s the workout and the journey.
Pulling your weight
The course staff do not have the bandwidth to give students an individualized course or to engage in one-on-one tutoring. Students are expected to keep up with the course, take notes, and do all the assignments. Any time you approach staff for help, you are expected to be able to pull up any homework that has been due along with your notes from lecture and discussion. If you have not kept up, you will immediately move to the absolute bottom of the queue for getting help. If you cannot devote time and effort to the course, or if you lack the background to keep up, you should not be taking this course.
Course content and plagiarism
Please follow the University Policy on Notetaking. You are encouraged to use course materials to teach something to a personal friend, for personal use, or in your research. However, you are strictly prohibited from uploading course-related material — including your own solutions and notes taken from discussion or lecture — to websites such as CourseHero or Chegg, which monetize copyrighted material without instructor permission. Doing so is considered academic misconduct and will result in a referral to the Center for Student Conduct. It is also grounds for immediately failing the course because of the violation of engineering ethics involved: misrepresentation of ownership or authorization.
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 help us achieve 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. We expect you to keep up with the course, but understand that sometimes external events interfere with that, and we will try to accommodate.
- If something happens in the course that runs counter to the goal of making every properly prepared and hard-working student feel safe, respected, and welcome, please contact the professor. 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 EECS 182/282A community, please realize that you have an important duty to help other students feel respected in helping create an inclusive learning environment.
Enrollment
The course staff does not control enrollment, with one exception: we can drop students from the course who are insufficiently engaged at the start. For 182/282A, insufficient engagement is judged on the basis of not doing Homework 0 sincerely and completely by the deadline. If you complete Homework 0 and submit it to Gradescope, you are considered sufficiently engaged with the course. If you do not do Homework 0, you are deemed insufficiently engaged and could be dropped to make room for students on the waitlist who are sufficiently engaged.
For students on the waitlist, please participate in the course as though you are in it. We expect many students to drop, as is typical in advanced high-workload courses of this type. If pre-pandemic past experience is any indication, enough students will drop so that everyone on the waitlist who is still interested will likely get enrolled. Of course, we don’t know how well pre-pandemic experience extrapolates to now, so reality might be different.
For concurrent enrollment students, your applications will be processed by whatever process the department sets up. We hope that everyone gets in who is adequately prepared to take the class and put in the work that will be demanded of you.