Policies

Note: The syllabus is subject to change. We will adjust the coverage of the material adaptively based both on student and instructor feedback, as well as developments in the field. Policies will stay largely stable however.

Course Platforms

This course will use several platforms:

  • Website: This website includes all public course information, syllabus, resources, and schedule.
  • Gradescope: for submitting HW and final exam scoring. Please join the course using the access code: KDPYBB. Note, it is a student's responsibility to make sure that their SID is exactly correct and that the email matches the official Berkeley email address in CalCentral. Otherwise, the grades might be lost.
  • Ed Forum: We will use Ed as a forum for discussing course material and for sending out course announcements. If you haven’t been added, please join using this link.

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 can help build maturity include:
  • Calculus: Math 53 (note: 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 (note: Data 102 is insufficient, even when combined with Data 100.) In particular, we will expect students to already understand the basics of neural nets (multilayer perceptrons, backpropagation, training by SGD, gradient descent, etc.) as well as the core concepts of machine learning generally including regularization, classification, loss functions, hyperparameters, validation, why we hold out data, etc. This material will be heavily built upon and not retaught. If a student does not have this (watching videos on youtube is not sufficient), then they probably need to be taking CS 189/289A and not this course.

Math 53 and EECS 126 and 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 listed above and save this course for a future semester if they feel shaky on the fundamentals. Because we are not going to 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. Homeworks and projects will typically use Python. We encourage students to check out this tutorial if they haven’t used it before. Students who have taken Berkeley courses like CS 61ABC are well-prepared for the programming components of the class.

Unfortunately, with the funding cuts, we are extremely understaffed. Thus, the course staff does not have the bandwidth to help students with material that they should have mastered before taking this course. Students who choose to proceed with this course without proper background are accepting full responsibility to teach themselves background that they are missing. We will not be able to slow down to achieve the necessary material coverage, and questions pertaining to background material will always have the lowest priority in all 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, including building beyond underlying machine learning concepts like supervised vs unsupervised learning, regression and classification, training/validation/testing, distribution shifts, regularization, 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), hyperparameter tuning including maximal update parameterization (muP)
  • Families of contemporary models: fully connected networks, convolutional nets, graph neural nets, recurrent neural nets and state-space models, transformers
  • Problems that utilize neural networks: computer vision, natural language processing, generative models, and others.
  • Pre-training and Fine-tuning, Meta-Learning, Tranfer Learning
  • Conducting experiments in a systematic, repeatable way, leveraging and presenting data from experiments to reason about network behavior.

Assignments

This class includes more or less weekly homework assignments (written and coding components), a course project, and a final exam. These are all mandatory.

Homework

Weekly homeworks will involve both written and coding components. Homeworks will be nominally due on Fridays at 10:59 PM. However, the Gradescope deadline will be the beginning of finals week. With extremely limited GSI support, we want to maximize the quality of discussions and homeworks, so we will not be handling any extension requests. If a student needs a couple of extra days to complete the homework, they may take them (except for HW0 for which we are already giving extra time), but know that this comes at the risk of falling behind in the course. We will be teaching lectures and discussions at a pace that assumes that students have completed the weekly homeworks 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 to not only do the homeworks, but to carefully understand the solutions. Students are required to critically evaluate their homework and to make sure that they can actually do every problem on the assignment unassisted to confirm their own learning of the material. (Homework problems can also show up on the final exam.) To do this, we recommend that you redo any part of any question that you didn't get right the first time in light of what you have learned from the solutions. There will be no self-grade submission.

One of the most important learning objectives for the course is for students to be able to learn on their own once they have finished this course. Deep Learning is a rapidly evolving field. As a result, we will sometimes have homework problems that exercise this ability --- in a carefully curated way --- by asking you to go beyond what was covered or talked about in lecture and discussion. When this happens, you will largely be expected to be able to solve the problem in a self-contained way (you might have to look up docs for code, etc.) building on prerequisite understanding together with the ideas already taught. Do not be distaught 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: (0) Skim the problems; (1) Start doing the problems on your own, noting down where you get stuck but not letting yourself get stuck for more than 3-5 minutes on anything; (2) Go back to do parts that you are stuck on by yourself or with your study group --- talking through where you are stuck and getting past it --- this is also the phase in which you can ask questions on Ed as well as look to see what people have posted there; (3) 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; (4) After you've finished doing the homework yourself, try to engage with GenAI tools like Gemini, ChatGPT, etc. and see if you can use them to increase the depth of your understanding of the problems and the topics; (5) Once the solutions come out, check your own work carefully. Note what you got, what you missed or misunderstood, etc.; (6) Redo any problem that you didn't get without looking at the solutions. If you get stuck, refer to the solution as a hint but 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; (7) If anything is still unclear from 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 the 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.

  • Entire team gets the same base grade.
  • The project details will be announced later, but there will be a range of possibilities and difficulties.
  • A part of doing the project will be doing rubric-based peer evaluation of other students’ projects. Objective peer review is a standard part of academic practice, and this component of the project is designed to simulate this. This component is individually graded and multiplies a student's base grade.
  • A part of the project will also involve a poster presentation and being able to verbally answer detailed questions pertaining to the specific project. There will be no alternative venues or remote options.
  • Doing well enough on the project is required: if a student doesn't do passing work on the project, they will fail the class.

Final Exam

The Final will be in our designated slot based on the lecture time, namely Wed, Dec 17 from 8-11am. The exam will be in-person on the Berkeley campus. There will be no alternative exams or remote options.

If you cannot make this exam times, you should drop the class and take it in a future semester. Again, there will be no alternative exams or remote options (except as mandated by DSP). Please do not email the staff requesting alternative exams.

The Final Exam in EECS 182/282A will be challenging and serve as the main evaluation criteria for this class. If a student doesn't pass the final exam, they cannot pass the course.

Participation and Good Citizenship

We expect students to participate in the class 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 done in furtherance of these goals earn positive points. Bad citizenship and non-constructive behavior gets negative points. Doing nothing gets zero points. More details will be provided in a relevant Ed thread. Everyone starts at zero points, which is a failing grade.

In particular, students will be required as a part of participation and good citizenship to sign up for at least four different ``special contributions'' during the semester --- although students can sign up for more to gain extra credit. These special contributions will both enhance your learning as well as those of your classmates. Details (including how to sign up, etc.) will be in the Ed Thread.

Late Policy

Late Projects will generally not be accepted.

Extensions/Accomodations for DSP

Accommodations will be provided to students who have letters of accommodations from DSP services; we are happy to work with you to make the class accessible.

Grading

Additive Weights:

  • 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 that they do not have, etc. But misrepresentations, circumventing accountability measures, gaming measurements, acting with conflicts of interest without full disclosure, etc. are all violations of engineering ethics because they are self-interested manipulations that are not in keeping with the societal trust place in engineers. Such violations will cause the ethics multiplier to drop below 1. This is an academic matter of evaluation vis-a-vis disciplinary standards and is therefore conceptually independent of any process associated with violations of UC Berkeley rules, etc.

Gating component: If either your Final Exam or 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 similarly, a high participation score or project score cannot make up for a failing exam. This is not a trivial condition --- if we had applied this in Spring '25, a further 10% of the course would received a D+. The underlying cause of this was primarily due to not keeping up with the homework.

This class is not graded on a curve. We follow fixed grade bins, and your grade is determined on 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+ will be awarded at the instructor's discretion based on exceptional performance.

If you are taking the class PNP, you will need to attain a letter grade of C- or higher. If you are a graduate student taking the class SUS, you will need to attain a letter grade of B- or higher.

Regrade Policy: If there is reason to believe an error has been made in the grading of an exam, the student may resubmit it for a regrade in a timely fashion. Regrade requests for changing the nature of the rubrics or the division of points between the rubrics or the choice of rubric items cannot be considered as there apply to the whole class. However, if there is a case where a rubric item is misapplied, we will gladly fix it. Because we will examine the entire submission in detail, a student's 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 homeworks to see if we should push you up or down.

Collaboration

We encourage students to work in groups of 2-4 students 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/online resources. As per standard academic practice, students should should acknowledge any collaborators on an assignment and credit any external sources that were 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 students first solve the problems themselves before feeding them to an LLM. The point of feeding them to an LLM is to better understand LLM behavior. Since the HW 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. At any time a student approaches staff for help, they are expected to be able to pull up any homeworks that have been due along with their notes from lecture and/or discussion. If a student has not kept up, they will immediately move to the absolute bottom of the queue for getting help. If a student cannot devote time and effort to the course, or if they lack the background to keep up, they 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, in your research, etc. 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 on copyrighted material without instructor permission. Doing so will be considered academic misconduct and will result in a referral to the Center of 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 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. We expect you to keep up with the course, but understand that sometimes external events can interfere with that and we will try to accomodate.
  • 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 that are insufficiently engaged at the start of the course. For 182/282A, insufficient engagement will be judged on the basis of not doing HW0 sincerely and completely by the deadline. If you complete HW0 and submit it to gradescope, then you will be considered sufficiently engaged with the course. If you do not do HW0, then you will be deemed to be insufficiently engaged and could be dropped from the course to make room for students on the waitlist that 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 from you. We are basically awaiting funds from the department to let us do this as well as having qualified TAs to hire.