Policies

Note: The syllabus is subject to change.

Course Platforms

This course will use several platforms:

  • Website: This website includes all public course information, syllabus, resources, and schedule.
  • Gradescope: for submitting HW, corrections, self-grades, and exam scoring. Please join the course using the access code: NXPW8B
  • 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 where the desired circuit behavior is tuned via optimization involving data since we have no idea how to do hand-tuning at scale. Probabilistic 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 Math is not enough)
  • Linear Algebra and Optimization: EECS 16B and EECS 127/227A is ideal, but EECS 16B alone might be enough if students have complete mastery of that material. Math 110 is also helpful. (note: Math 54 or EECS 16A is required as a minimum, but are not nearly enough.)
  • Probability: EECS 126, Stat 134, or Stat 140 (note: CS 70 is required at a minimum, but might not be enough for everyone)
  • Statistical Learning: CS 189/289A or Stat 154 (note: Data 102 is insufficient, even when combined with Data 100.)

Math 53 and EECS 126 and EECS 127 and CS 189 is the recommended background.

Prerequisites are not enforced for enrollment, but we encourage you to consider taking some of the classes listed above and save this course for a future semester if you feel shaky on the fundamentals.

The course assumes familiarity with programming in a high-level language with data structures. Homeworks and projects will typically use Python. We encourage you to check out this tutorial if you haven’t used it before. Students who have taken Berkeley courses like CS 61A and CS 61B are well-prepared for the programming components of the class.

We do not have the staff bandwidth to help students with material that they should have understood before taking this course. If you choose to proceed with this course, you are accepting full responsibility to teach yourself anything in your background that you are missing. We will not be slowing down to accommodate you, 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, Newton’s Method, Momentum, RMSProp, AdaGrad, Adam), strategies for training (explicit and implicit regularization, batch and layer normalization, weight initialization, gradient clipping, ensembles, dropout), hyperparameter tuning
  • Families of contemporary models: fully connected networks, convolutional nets, graph neural nets, recurrent neural nets, transformers
  • Problems that utilize neural networks: computer vision, natural language processing, generative models, and others.
  • 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, a midterm exam, and a final exam.

Homework

Weekly homeworks will involve both written and coding components. Homeworks will be due on Fridays at 10:59 PM, with the first homework being due Sep 2. You get a 1 hour “grace period” until 11:59 PM to submit your homework with no penalty, but we strongly recommend you use this grace period to protect against technical issues and to have your assignments finished before 10:59 PM.

Homework exists mainly for you to learn. We encourage collaboration in teams of 2-4, but everyone turns in their own submission.

HW Corrections: Scoring on the homework is effort-based. Scores will be adjusted so that 80% is full credit, capped at full score. To get full credit on a part, you need to either get it right the first time or after you see the solutions, write out the correct answer along with a comment on what you did not get right the first time and why. At least 50% of parts need to be attempted in the original submission to be eligible for credit.

Self-grading deadlines: You have two weeks from the initial HW deadline to submit your resubmission (with correct answers for at least 80% of the parts for full credit) along with an appropriately formatted file detailing the appropriate grade for what you did. We will randomly check a subset of students to verify that self-grades are correct and apply negative points if students abuse the self-grade system. If you don’t think you have enough time each week to actually attempt at least half the homework and read through and truly understand at least 80% of the solutions, you probably shouldn’t be taking this course for credit this semester.

HW Drops: The lowest 2 homework scores will not be included in your grade, to account for things like falling sick, other commitments, etc.

HW Party: Weekly on Wednesday evenings, course staff will provide an collaborative space and extra support to help students work together and finish the assignment. More details will be posted on Ed.

Course Project

As a design course, CS 182 requires all students to complete a final project done in teams of four.

  • Entire team gets the same grade.
  • The project details will be announced later, but there will be a range of possibilities including some that are of lower difficulty
  • 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

Exams

The Midterm will be on Oct 26th at 8-10pm in the evening, in-person, on the Berkeley campus. There will be no alternative exams or remote options.

The Final will be in our designated slot based on the lecture time, which will be Exam Group 7: Tue, Dec 13th from 3-6pm in-person on the Berkeley campus. There will be no alternative exams or remote options.

If you cannot make these 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 letter). Please do not email the staff requesting alternative exams.

Exams in EECS 182 will be challenging and serve as the main evaluation criteria for this class.

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.

Lecture Scribing/Demo Creation (graduate students)

Graduate students must sign up for one of the 28 lectures and either sign up for making a solid demo relevant to the topics in that lecture, or to LaTeX scribe the lecture. Grad students can work in teams of at most two on either the demo or the scribing. The LaTeX scribing is a serious task where they need to write things up in a way that comprehensive and clear to understand. As with the projects, following academic practice, all writing comes with reviewing responsibilities. Teams will also need to sign up to peer review three other notes or demos against a rubric (details will be provided in the relevant Ed thread).

Late Policy

Late HWs and Projects will generally not be accepted, unless you have a DSP accommodation. If you miss the deadline, you will have to use your homework drops. However, exceptional circumstances such as student illness, serious illness of close family member, or family bereavement may merit an extension. Please fill out the form linked in the next section to request an extension.

Extensions/Accomodations for DSP

Please have your DSP advisor submit a letter.

Our course manager Michael-David will be managing extension requests and accommodations this semester. If you require a DSP extension for any assignment, please fill out this form that is only seen by him. Non-DSP students may also use the form to request extensions for any exceptional circumstances. Please do not email staff or post on Ed requesting an extension.

If you have any questions, concerns, or want to reach out to Michael-David directly, feel free to email him at eecs-course-management@eecs.berkeley.edu.


Grading

Weights (undergrad students):

  • Homework (20%)
  • Midterm Exam (20%)
  • Final Exam (30%)
  • Project (25%)
  • Participation (5%)

Weights (graduate students):

  • Homework (20%)
  • Midterm Exam (20%)
  • Final Exam (20%)
  • Project (25%)
  • Participation (5%)
  • Lecture Scribing/Content Creation (10%)

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)
C+ [65, 68)
C [62, 65)
C- [58, 62)
D [53, 58)
F [0, 53)

The instructors may adjust grades upward based on class participation, extra credit, etc. 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 AND take the final to pass. If you are a graduate student taking the class SUS, you will need to attain a letter grade of B- or higher AND take the final to pass.

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.

Collaboration

We encourage you to work in groups of 2-4 students in completing the homework—however, each student must write up their own solutions and submit individually. You should never directly copy solutions from other students or material from books/online resources. As per standard academic practice, you should should acknowledge any collaborators on an assignment and credit any external sources that you used in your writeup. A failure to cite or acknowledge collaboration is grounds for immediately failing the course.

Course Content and Plagiarism

Please follow the University Policy on Notetaking. You are encouraged to use course materials to teach something to a 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.


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

Here are the policies that govern admission into classes. The course staff does not control enrollment!

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.