EECS16A | Designing Information Devices and Systems I

Spring 2020

Scheduling Updates


Important Changes to Lab found here

Click here for the playlist of Lecture Videos. Or check below for a specific video.

Click here for the playlist of Discussion Videos. Or check below for a specific video.

Lecture Zoom Permalink Info: Link , Phone: +1 669 900 6833, Meeting ID: 740 984 059

Please be sure to access all materials with your Berkeley email/account. Requests for access by external accounts (e.g. gmail, etc.) will not be provided.

The below can be found in the rest of the website or at this Piazza Post . Disclaimer: The below content has a time-delay. Always check @338 on Piazza for the most relevant information. But here's a condensed summary:

Discussion is now remote and there are no more in-person discussions. You should still attend both a Monday and a Wednesday discussion. Recorded discussions will be available in the section column of the Schedule section below. The 11:00 AM section with Nirmaan and Jesse will be a special interactive section; we'll try several methods via Zoom to allow for more interactivity like a real discussion. Go here the relevant section of the website (or better yet, to the relevant piazza post itself )

Office hours are now remote. The schedule will be uploaded here , with a mix of sign-up OH (in 10-minute slots), and larger OH on Zoom to replace HW Party. Please come with specific questions prepared - it'll make the learning experience much better! To sign up for a 10-minute OH slot, click this link

Everybody will be getting full participation points.

To enter HW Party, click this link for instructions.

RRR Week Staff Review Sessions - There will be no lecture during RRR week. Instead, TAs will be holding topic specific reviews on Wednesday, May 6th . The schedule is listed below. The sessions will be recorded and linked here afterwards.

10:00 AM (Anika)

Eigenvalues / Eigenvectors / Eigenspaces

Recording link Notes link: N/A
11:00 AM (Jesse) OMP Recording link Notes link: N/A
12:00 PM (Miyuki) Thevenin and Norton Equivalence Recording link Notes link: N/A
1:00 PM (Matteo) Correlation / Inner Product / Projection Recording link Notes Link

2:00 PM (Deepshika)

Linear Least Squares Recording link Notes Link

3:00 PM (Deepshika)

Module 1 Topics (systems of linear equations, matrix spaces, tranformations) Recording link Notes Link

3:00 PM (Panos)

Negative Feedback in Op-Amp Topologies Recording link: N/A Notes Link: N/A
4:00 PM (Kareem) Steady state & time integration for capacitive circuits, charge sharing Recording link Notes link: N/A


The schedule is tentative and subject to change.
(Please scroll horizontally if you're viewing this on your phone.)
Week Date Lecture Topic Section Lab Homework
01/21 Tu Overview: Introduction to Imaging
(Slides) (Webcast)
(Note 0)

Homework 0
Due 01/24 Fr
(Self Grade)
01/23 Th Systems of Linear Equations and Gaussian Elimination
(Docucam Notes) (Webcast)
(Note 1)
01/28 Tu More Gaussian Elimination, Matrix-Vector Multiplication
(Docucam Notes) (Webcast)
(Note 2)
Section 1A
(Dis) (iPython) (Ans)
Anaconda setup + ipython bootcamp (M 1/27 - F 1/31)
Homework 1
Due 01/31 Fr
(PDF) (iPy)
(Self Grade)
01/30 Th Introduction to Proofs. Span, Linear Dependence, and Independence
(Docucam Notes) (Webcast)
(Note 3) (Note 4)
Section 1B
(Dis) (iPython) (Ans)
02/04 Tu Linear Transformations, Matrix-Matrix Multiplication
(Docucam Notes) (Webcast)
(Note 5)
Section 2A
(Dis) (Ans)
Imaging 1 (M 2/3 - F 2/7))
(Imaging I)
Homework 2
Due 02/07 Fr
(PDF) (iPy)
(Self Grade)
02/06 Th Inversion
(Docucam Notes) (Webcast)
(Note 6)
Section 2B
(Dis) (iPython) (Ans)
02/11 Tu Vector Spaces: Null spaces and Columnspaces
(Docucam Notes) (Webcast)
(Note 7) (Note 8)
Section 3A
(Dis) (Ans)
Imaging 2 (M 2/10 - F 2/14))
(Imaging II)
Homework 3
Due 02/14 Fr
(PDF) (iPy)
(Self Grade)
02/13 Th Page Rank, Eigenvalues, and Eigenspaces
(Docucam Notes) (Webcast)
(Note 8) (Note 9)
Section 3B
(Dis) (iPython) (Ans)
02/18 Tu Eigenvalues and Eigenspaces
(Docucam Notes) (Webcast)
(Note 9)
President's Day
No Lab
Homework 4
Due 02/21 Fr
(PDF) (iPy)
(Self Grade)
02/20 Th Eigenvalues and Eigenspaces
(Docucam Notes) (Webcast)
(Note 9)
Section 4B
(Dis) (Ans)
02/25 Tu Introduction to Circuit Analysis
(Docucam Notes) (Webcast)
(Note 11)
Section 5A
(Dis) (Ans)
Imaging 3 (M 2/24 - F 2/28)
(Imaging III)
Homework 5
Due 02/28 Fr
(PDF) (iPy)
(Self Grade)
02/27 Th Introduction to Modeling with Circuit Elements
(Docucam Notes) (Webcast)
(Note 12)
Section 5B
(Dis) (Ans)
Midterm 3/2

Review Presentation Slides
MT1 (Blank)
MT1 (Answers)
MT1 (Solutions)
03/03 Tu Power and Voltage/Current Measurement
(Docucam Notes) (Webcast)
(Note 13) (Note 14)
Section 6A
(Dis) (Ans)
Buffer Labs (T 3/3 - F 3/6)
Homework 6
Due 03/06 Fr
(PDF) (iPy)
(Self Grade)
03/05 Th 2D Touchscreen
(Docucam Notes) (Webcast)
(Note 15A)
Section 6B
(Dis) (Ans)
03/10 Tu Capacitance
(Docucam Notes) (Webcast) (Algorithm for Charge-Sharing)
(Note 16)
Section 7A
(Dis) (Ans)
Touch 1 (M 3/9 - F 3/13))
(Touch I)
(Gradescope Quiz)
Homework 7
Due 03/13 Fr
(Self Grade)
03/12 Th Introduction to Capacitive Touchscreen
(Docucam Notes) (Webcast)
(Note 17)
Section 7B
(Zoom Recording) (Notes) (Dis) (Ans)
03/17 Tu Capacitance modeling and measurement
(Docucam Notes) (Webcast)
Section 8A
(Zoom Recording) (Notes) (Dis) (Ans)
Touch 2 (M 3/16 - F 3/20))
(Touch 2)
(Gradescope Quiz and Checkoff)
(Gradescope PDF Notebook Submission)
Homework 8
Due 03/20 Fr
(Self Grade)
03/19 Th Thevenin and Norton Equivalence
(Docucam Notes) (Webcast)
(Note 15B)
Section 8B
(Zoom Recording) (Notes) (Dis) (Ans)

03/24 Tu Skip (Spring Break)
No lab (spring break)
03/26 Th Skip (Spring Break)
03/31 Tu Op-amp Circuit Analysis
(Docucam Notes) (Webcast)
Section 9A
(Zoom Recording) (Notes) (Dis) (Ans)
Touch 3A (M 3/30 - F 4/3)
(Touch 3)
(Gradescope Checkoff)
(Gradescope PDF Notebook Submission)
Homework 9
Due 04/03 Fr
(Self Grade)
04/02 Th Design Procedure and Design Examples
(Docucam Notes) (Webcast (part a)) (Webcast (part b))
Section 9B
(Zoom Recording) (Notes) (Dis) (Ans)
Midterm 4/6

Zoom Recorded Review Session
MT2 (Blank)
MT2 (Answers)
MT2 (Solutions)
Zoom Recorded Redo Session
04/07 Tu Design Examples
(Slides) (Article) (Webcast)
Section 10A
(Zoom Recording) (Notes) (Dis) (Ans)
No Lab (T 4/7 - F 4/10)
Homework 10
Due 04/10 Fr
(Self Grade)
04/09 Th Locationing for GPS; Trilaterations
(Docucam Notes) (Webcast)
(Note 21)
Section 10B
(Zoom Recording) (Notes) (Dis) (Ans)

Guerilla Section 1
04/14 Tu Similarity Measures in Data: Correlation Measures
(Docucam Notes) (Webcast)
(Note 22)
Section 11A
(Zoom Recording) (Notes) ((Ext. Sec) Zoom Recording) ((Ext. Sec) Notes) (Dis) (Ans)
Touch 3B (M 4/13 - F 4/17)
(Touch 3)
(Gradescope Checkoff)
(Gradescope PDF Notebook Submission)
Homework 11
Due 04/17 Fr
(Self Grade)
04/16 Th Fitting Data using Least Squares
(Docucam Notes) (Webcast)
(Note 23)
Section 11B
(Zoom Recording) (Notes) ((Ext. Sec) Zoom Recording) (Dis) (Ans)

Guerilla Section 2 Recording
Guerilla Section 2 Worksheet
Guerilla Section 2 Solutions
04/21 Tu Least Squares Continued
(Docucam Notes) (Webcast)
Section 12A
(Zoom Recording) (Notes) ((Ext. Sec) Zoom Recording) ((Ext. Sec) Notes) (Dis) (Ans)
APS 1 (M 4/20 - F 4/24)
(APS 1)
(Gradescope Checkoff)
(Gradescope PDF Notebook Submission)
Homework 12
Due 04/24 Fr
(PDF) (iPy)
(Self Grade)
04/23 Th Greedy Algorithms for Machine Learning
(Docucam Notes) (Webcast)
Section 12B
(Zoom Recording) (Notes) (Dis) (iPython) (Ans)
04/28 Tu Machine Learning Continued
(Docucam Notes) (Webcast)
(Note 24)
Section 13A
(Zoom Recording) (Notes) ((Ext. Sec) Zoom Recording) ((Ext. Sec) Notes) (Dis) (iPython) (Ans)
APS 2 (M 4/27 - F 5/1)
(APS 2)
(Gradescope Checkoff)
(Gradescope PDF Notebook Submission)
Homework 13
Due 05/01 Fr
(PDF) (iPy)
(Self Grade)
04/30 Th Machine Learning Continued
(Docucam Notes) (Webcast)
(Note 24)
Section 13B
(Zoom Recording) (Notes) ((Ext. Sec) Zoom Recording) ((Ext. Sec) Notes) (Dis) (Ans)

Final (Blank)
Final (Solutions)
05/05 Tu RRR Week

Section 14A
(Zoom Recording) (Notes) ((Ext. Sec) Notes) (Dis) (Ans)
No Lab
Homework 14
Due 05/16 Sa
(PDF) (iPy)
(Self Grade)
05/07 Th RRR Week

Section 14B


Update, March 10th: Office hours will be remote, starting on Wednesday 3/11. The schedule will be uploaded here and we'll be using a mix of sign-up OH (in 10-minute slots), and larger OH on Zoom to replace HW Party. If you come to office hours, please come with your specific questions prepared - it'll make the learning experience a lot better! To sign up for a 10-minute office hour slot with a TA, click this link for instructions.

Discussion Schedule

Note: Monday and Wednesday discussion sections cover different material, and you need to go to BOTH a Monday and Wednesday discussion each week.

Students are welcome to attend any discussion they choose. This year we are offering a variety of sections that may be of interest to different groups of students. First-years are encouraged to go to the sections colored in Orange, transfer students are encouraged to go to the section colored Green, and students who have a prior background in linear algebra/have taken Math 54 are encouraged to go to the Blue section. (We emphasize that the class does not rely on any prior linear algebra knowledge, and we do NOT expect you to have taken Math 54 or a linear algebra class in advance.) All this said, please try out various sections and choose the section that works best for you.

Update, March 10th: Discussion is now remote. There are no more in-person discussions; you should still attend both a Monday and a Wednesday discussion. Recorded discussions will be available from now on at Discussion permalinks (will be filled out soon): The 11:00 AM section, with Nirmaan and Jesse, will be a special interactive section - wherein we'll try several methods via Zoom to allow for more interactivity, like a real discussion.

Note that the below is updated infrequently; see this post for the most updated info.

1:30 AM PT (Adhyyan) [2 PM India, 4:30 PM China, 9:30 AM UK]

Phone: +1 669 900 6833Meeting ID: 388 225 1406

10:00 AM (Anika)

Phone: +1 669 900 6833Meeting ID: 862 091 1715
11:00 AM - (Jesse) 669 900 6833Meeting ID: 495 414 0206
12:00 PM (Miyuki) 669 900 6833Meeting ID: 710 684 7896
1:00 PM (Matteo) 669 900 6833Meeting ID: 734 462 3686

2:00 PM (Deepshika) 669 900 6833Meeting ID: 597 753 1985

3:00 PM (Panos) 669 900 6833Meeting ID: 919 540 7891
4:00 PM (Kareem) 669 900 6833Meeting ID: 294 105 5330


Piazza (Ask Questions Here)

Homework Practice Problems

Recommended Texts

Circuit Cookbooks

Extra Resources

Setting up How-To's

Past Exams

Past exams vary in scope from semester to semester, and may include topics that are not in scope for the current semester or module. In-scope topics are posted on Piazza 1-2 weeks before the exam.

Course Staff


Thomas Courtade

Prabal Dutta

Please add to the end of all emails


Sarika Madhvapathy

Sam Weismann

Leyla Kabuli
Head Lab

Jesse Conser
HW Management / Dis

Kareem Ahmad

Miyuki Weldon

Deepshika Dhanasekar

Matteo Ciccozzi

Anika Ramachandran

Adhyyan Narang
Head Content

Panagiotis Zarkos


Christos Adamopoulos

Terry Chern

Moses Won

Nirmaan Shanker

Matt McPhail
Lab / Content


Amanda Jackson
Lab / Content

Seiya Ono

Linda Du


Sang A Park

Peru Dayani

Neelesh Ramachandran

Sumer Kohli


Course Info

The EECS 16AB series (Designing Information Devices and Systems) is a pair of introductory-level courses introducing students to EECS. The courses have a particular emphasis on how to build and understand systems interacting with the world from an informational point of view. Mathematical modeling is an important theme throughout these courses, and students will learn many conceptual tools along the way. These concepts are rooted in specific application domains. Students should understand why they are learning something.

An important part of being a successful engineer is being able to identify the important and relevant structure in a complex problem while ignoring minor issues. EECS 16A focuses on modeling as abstraction: how can we see the relevant underlying structure in a problem? It introduces the basics of linear modeling, largely from a "static" and deterministic point of view. EECS 16B deepens the understanding of linear modeling and introduces dynamics and control, along with additional applications. Finally, EECS 70, (which can be thought of as the third course in this sequence --- except without any labs), introduces additional discrete structures for modeling problems, and brings in probability.

In EECS 16A in particular, we will use the application domains of imaging and tomography, smartphones and touchscreens, and GPS and localization to motivate and inspire. Along the way, we will learn the basics of linear algebra and, more importantly, the linear-algebraic way of looking at the world. The emphasis will be on modeling and using linear structures to solve problems; the class is not just focused on how to do computations. We will learn about linear circuits, not merely as a powerful and creative way to help connect the physical world to what we can process computationally, but also as an exemplar of linearity and as a vehicle for learning how to do design. Circuits also provide a concrete setting in which to learn the key concept of "equivalence" --- an important aspect of abstraction. Our hope is that the concepts you learn in EECS 16A will help you as you tackle more advanced courses and will help form a solid conceptual framework that will help you learn throughout your career.

Grade Breakdown

Update, March 10th: All students will now given 20/20 (100%) for their participation requirement (yay, free points!). Please continue to attend lecture and discussion - these are essential parts of the class, and as we transition to remote learning, much of the responsibility for continuing to participate and learn is placed on you, as students.

Our objective is to help you become the best engineer you can be, and grades are not everything. The various components of the class -- homework, labs and exams -- are designed explicitly with this in mind. Every challenge is a growth opportunity. You will have the opportunity to gain points in the course through completing your homework and attending labs as well as through the exams.

This course is not graded on a curve. We will set absolute thresholds for performance that will map to grade boundaries. We encourage you to discuss the course material with each other and teach each other new ideas and concepts that you learn. Teaching the material is one of the best ways to learn, so discussing course material with colleagues in the class is a win-win situation for everyone. Grades are not everything, far from it, but that said, here is the breakdown for grading for this class.

Participation 20 points
Homework 35 points
Labs 45 points
Midterm 1 50 points
Midterm 2 50 points
Final 100 points

Notice that you can get many points by being regular with your homework and the labs. Our goal is to help you learn the material as best as possible!

Grading Scale

This course is not curved. We define the following grading scale (in percentages):

A+ [100+] A [93+) A- [90+)
B+ [84+) B [75+) B- [68+)
C+ [65+) C [62+) C- [58+)
D+ [57+) D [55+) D- [53+)
F [0-, 53)
In the rare event that the instructors deem that a change needs to be made for a given exam, then you will be told where the grade boundaries are for that exam and how to adjust your score on the exam to get your points on the above scale. You will always know how you are doing in the course grade-wise.

Exam Clobber Policy

This course spans a fairly broad set of ideas and concepts within a short period of time, and hence sustained and consistent effort and investment are critical to your success in this class. Similarly, by far the most common operating mode we have observed in previous students who struggled and/or failed this class was attempting to do the bare minimum in general and then catch up/cram right before the exams.

In order to formally encourage all of you to maintain the sustained effort that we have observed to be critical to success, we will be adopting a new policy regarding exam clobbering, participation, and effort. Specifically, for students who (1) complete an optional midterm redo and (2) perform significantly better on the final exam, we will provide the opportunity to clobber a midterm.

If you qualify for the clobber (i.e. (1) and (2)), you may replace your lowest midterm score with your scaled score on the final exam according to the formula below.

Replacement MT score (on scale of 100) = max [MT score, final exam score - 15% (on scale of 100)] This essentially allows you to replace your midterm grade by a higher grade --- we want to reward improved performance.

If you complete the optional midterm redo for both midterms, and are eligible for a clobber on both midterm, the clobber that helps your score more is applied (i.e. you may clobber either Midterm 1 or Midterm 2, but not both, and only if you complete both midterm redos). Please note that even though lecture attendance is not included (for logistical reasons) in the two criteria for clobbering eligibility, we do strongly encourage you to attend lecture in person.

Exam Attendance Policy

You must attend at least two of the three exams (Midterm 1, Midterm 2, Final Exam) in order to pass the class. We will consider granting an incomplete given extenuating circumstances. Simply not attending the final exam does not ensure an automatic failure.


Update, March 10th: Everybody will be getting full participation points. Ignore the below for this Sp20 semester.

Participation is worth a maximum of 20 points, and is measured by discussion attendance - to get full participation credit, you must attend 16 discussions throughout the course of the semester. Your grade will be prorated by the number of discussions you attend; i.e., if you attend 12 discussions, you will have 12/16 * 20 = 15 points in this category.

Homework Party

Update, March 10th: HW Party will be structured differently going forward. To enter HW Party, click this link for instructions.

Homework parties are your chance to meet and interact with other students, while also having the chance to get help from GSIs, Tutors and Faculty. This is your chance to have a social experience as part of the class. We expect students to treat each other with respect during homework parties as well as during all other parts of the class -- including interactions on Piazza, discussion and office hours. Remember that each of you is coming into a class with different experiences and backgrounds -- use this as an opportunity to learn from one another.

Thursdays 9-11AM, and Thursdays 2-4PM, HW Party will be held in Soda’s Wozniak Lounge or Cory 144MA. Check the course calendar for location. Attending homework party is highly encouraged.

Students are expected to help each other out, and if desired, form ad-hoc "pickup" homework groups in the style of a pickup basketball game. We highly encourage students to attend homework party.

Homework Submission

Homeworks are due on Friday night at 11:59 PM. You need to turn in a .pdf file consisting of your written-up solutions that also includes an attached pdf "printout" of your .ipynb code on Gradescope; you may use your phone camera or any page-scanning app in order to turn your written homework into a PDF, as long as your work is clear and legible In addition, Gradescope has an option to associate pages of your work to each homework problem. You must select the relevant pages for every problem. Any homework submissions that are turned in without the code “printout” (or screenshot) attached will receive a zero on the coded ipython notebook portions of the homework. Any problems without pages selected will receive zero credit. If you have any questions about the format of a homework submission, please go to office hours or homework party.

You will have the opportunity to resubmit your homework after homework solutions are released to get makeup credit. See below for details.

Homework Grading – Self-Grading

The point of homework in this class is for you to learn the material. To help you in doing this each student will grade their own homework in addition to being graded by 16A readers. After the HW deadline, official solutions will be posted online. You will then be expected to read them and enter your own scores and comments for every part of every problem in the homework on a simple coarse scale:

Score Reason
0 Didn't attempt or very very wrong
2 Got started and made some progress, but went off in the wrong direction or with no clear direction
5 Right direction and got half-way there
8 Mostly right but a minor thing missing or wrong
10 100% correct

Note: You must justify self-grades of 2, 5, or 8 with a comment. Grades of 0 and 10 do not need to be justified. If you are really confused about how to grade a particular problem, you should post on Piazza. This is not supposed to be a stressful process.

We will hold extra office hours that will do HW run-throughs after the HW solutions have been released. These will be held on Monday, and we encourage you to attend them to ask questions about grading and clarify your understanding of the HW and solutions.

Your self-grades will be due on the Monday following the homework deadline at 11:59 PM sharp. We will accept late self-grades up to a week after the original homework deadline for 65% credit on the associated homework assignment. If you don't enter a proper grade by this deadline, you are giving yourself a zero on that assignment. Merely doing the homework is not enough, you must do the homework; turn it in on time; read the solutions; do the self-grade; and turn it in on time. Unless all of these steps are done, you will get a zero for that assignment.

We will automatically drop the lowest homework score from your final grade calculation. This drop is meant for emergencies. If you use this drop half-way into the semester, and request another, we cannot help you. EE47D students will not have their lowest homework score dropped.

Just like we encourage you to use a study group for doing your homework, we strongly encourage you to have others help you in grading your assignments while you help grade theirs.

Course readers are going to be grading and sending you occasional comments. Because we have reader grades, we will catch any attempts at trying to inflate your own scores. This will be considered cheating and is definitely not worth the risk. Your own scores will be used in computing your final grade for the course, adjusted by taking into account reader scores so that everyone is fairly graded effectively on the same scale. For example, if we notice that you tend to give yourself 5s on questions where readers looking at your homeworks tend to give you 8s, we will apply an upward correction to adjust.

Reader grades will be released on Gradescope about one week after the homework deadline. Readers grade questions either on a “coarse” or “fine” scale for each homework part. Coarsely graded question parts are worth a single point and are based on effort. Finely graded question parts are worth a total of 10 points and are graded using the same self-grading rubric above. Homework regrade requests are typically due on Gradescope within 72 hours of reader grades being released. If a regrade request is submitted for a part of a question on the homework, the grader reserves the right to regrade the entire homework and could potentially take points off.

If you have any questions, please ask on Piazza.

Self-Grade Walkthrough

Homework Resubmission

Again, the point of homework in this class is to help you learn. We understand that sometimes work from other classes, midterms or your personal life can come in the way of making a homework deadline. For this reason we will allow you to resubmit your homework for 70% credit. Homework resubmissions must be HANDWRITTEN. Homework resubmissions will be due along with the self-grades, so they will be due by 11:59pm Monday night. If you choose to resubmit your homework, you must submit two sets of self-grades, one for the first submission and one for the second submission. For the second submission do self-grades as normal. We will apply the 70% correction.

What does 70% credit mean? Let us say you only were able to get halfway through a problem during the first submission. You submitted your homework on Friday, and while going through the solutions you figured out how to do the whole problem. Your self-grade for your first submission would be a 5/10. However, you can resubmit the homework problem with a fully correct solution and receive 70% of the remaining points as extra points, i.e. (10-5) * 70/100 = 3.5 extra points, and so your score for the problem would go from 5 points to 8.5 points.

Homework Effort Policy

Because the point of homework in this class is to help you learn, not to punish you for making small mistakes, if your final score (after resubmission and any other corrections are applied) on any homework is above 8/10, your grade will automatically be bumped up to 100% (10/10). If your final score is less than 8/10, it will be scaled accordingly so that a 6/10 will result in 75% (7.5/10).

Lab and Discussion Section Policies

Update, March 10th: Discussion is now remote. There are no more in-person discussions; you should still attend both a Monday and a Wednesday discussion. Recorded discussions will be available from now on at Discussion permalinks (will be filled out soon): The 11:00 AM section, with Nirmaan and Jesse, will be a special interactive section - wherein we'll try several methods via Zoom to allow for more interactivity, like a real discussion.

Labs for this class are not open section, you must go to your assigned lab section . If you finish the lab early, we encourage you to help other groups debug their lab. This will help you learn the material better and contribute towards a better learning experience for everyone.

You should aim to get checked-off by the end of your lab section. If you attend your whole lab section but do not finish in time, you may get checked-off at the beginning of your next lab section before starting the following lab. While labs are not meant to be burdensome, they are an essential part of the course. We have the following strict grading policy for labs: If you complete all the labs, you will receive full lab credit. If you fail to complete one lab, you will receive 43/45 lab credit. If you miss two labs, you will receive 30/45. If you miss three or more labs, you will get an F in the class.

Number of Missed Labs What Happens?
0 You get full lab credit - 45/45
1 You get almost full lab credit - 43/45
2 You get half lab credit - 30/45
3 or more You Fail the class - final letter grade: F

Some lab sections are “buffer labs.” “Buffer weeks” occur during several-day periods in which no new labs begin, and makeup labs are offered on a limited schedule. During buffer lab weeks, you may get checked off for only one lab that occurred during that lab module. No other labs can be checked off. You may sign up to attend any buffer lab held during a buffer week, and each buffer week’s schedule will be different . More details on buffer lab sections and signups will be announced on Piazza for every module.

Wires on lab breadboards must be planar. Lab staff will ask students to redo their circuits before debugging them if the wires are non-planar. The definition of planar wires on a breadboard is shown below:

Planar Non-planar

Please note the blue capacitors on the image to the left. Professor Courtade's favorite color is blue! Also, did you know? Even though Professor Dutta played football in high school and has held faculty appointments at two pairs of great rivalries (OSU/Michigan and Berkeley/Stanford), he's never seen "The Game" or "Big Game" in person.

You may go to any discussion section. Certain sections will prioritize certain groups of students (e.g. first-year, transfer students, students with prior linear algebra / Math 54 background). Again, we emphasize that we DO NOT expect you to have taken a linear algebra class before EECS16A. All other students are allowed to remain in the section at the discretion of the discussion TA in charge of that section. We encourage you to go to the same discussion sections every week so that the TAs can get to know you personally.

Exam Policies

There are two midterms and one final. The midterms will be held Monday, March 2, 2020 from 8pm to 10pm and Monday, April 6th, 2020 from 8pm to 10pm. The final will be held on Thursday, May 14, from 8am to 11am. Makeup Exams will not be scheduled.

Please plan for exams at these times. In case of an emergency on exam day, please email the Head GSI at as soon as possible and provide details of the issue as well as a contact phone number. Emergency exam conflicts will be handled on a case-by-case basis. Exam conflicts originating from a lecture conflict will not be accommodated.

On exam day, you must bring your Cal student ID to your exam location. Locations and logistics will be posted on Piazza closer to the exam dates. If you do not take your exam in the correct location, a large penalty will be applied to your exam score. Additionally, regrade requests on Gradescope are typically due within a week of exams being released on Gradescope. Late regrade requests will not be considered. If a regrade request is submitted for a part of a question on the exam, the grader reserves the right to regrade the entire exam and could potentially take points off.

Exceptions and Exam Accommodation

Any requests for exceptions should be emailed to the Head GSI at Email the exception request as soon as possible. Exceptions will be handled on a case-by-case basis. Since there is one homework drop, missing homework is rarely excused. Examples of situations that merit an exception are medical emergencies and family emergencies. It will be easier for us to grant an exception if you have a doctor’s note or other documentation.

Course Communication

The instructors and TAs will post announcements, clarifications, hints, etc. on Piazza. Hence you must check the EECS16A Piazza page frequently throughout the term. (You should already have access to the EECS16A Spring 2020 forum. If you do not, please let us know.)

If you have a question, your best option is to post a message on Piazza. The staff (instructors and TAs) will check the forum regularly, and if you use the forum, other students will be able to help you too. When using the forum, please avoid off-topic discussions, and please do not post answers to homework questions before the homework is due. Also, always look for a convenient category to post the question to (for example, each homework will have its own category, so please post there). That will ensure you get the answer faster.

If your question is personal or not of interest to other students, you may mark your question as private on Piazza, so only the instructors will see it. If you wish to talk with one of us individually, you are welcome to come to our office hours. Please reserve email for the questions you can't get answered in office hours, in discussion sections, or through the forum.

For any exceptions that are of a personal nature, please contact the head GSI at Technical and homework questions are best resolved in homework and during office hours.

It can be challenging for the instructors to gauge how smoothly the class is going. We always welcome any feedback on what we could be doing better. If you would like to send anonymous comments or criticisms, please fill out this anonymous feedback form.

Association of Women in EE&CS (AWE) Office Hours

AWE Office Hours are co-hosted by the Association of Women in EE&CS (AWE). These OHs will be staffed by female course staff members and AWE members but will otherwise function the same as regular OHs. Our hope is to offer an alternative OH environment and give you more autonomy to learn in whichever environment best suits your personal learning style. All students are welcome to attend.

Professor Roundtables

This year, you have the opportunity to sit down and snack with Professors Courtade and Dutta! The professors will be hosting several roundtables on weekdays throughout the semester. This is a chance to meet your professor outside of a formal, classroom environment. Please stop by for informal conversation about 16A, Berkeley, faculty life, research, applications of 16A, or anything else. Sign up at this link (plus, there will be snacks)!


We encourage you to work on homework problems in study groups of two to four people; however, you must always write up the solutions on your own. Similarly, you may use books or online resources to help solve homework problems, but you must always credit all such sources in your write up, and you must never copy material verbatim. Using previous EECS 16A homework, exam, and lab solutions is strictly prohibited, and will be considered academic dishonesty. This is not how you want to start your career as an engineer.

We expect 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 encourage strongly. But you should write your homework solution strictly by yourself so that your hands and eyes can help you internalize the subject matter. You should acknowledge everyone whom you have worked with, or who has given you any significant ideas about the homework. This is good scholarly conduct.

Don't Be Afraid to Ask for Help

Are you struggling? Please come talk with us! The earlier we learn about your struggles, the more likely it is that we can help you. Waiting until right before an exam or the last few weeks of the semester to let us know about your problems is not an effective strategy - the later it is, the less we will be able to help you.

Even if you are convinced that you are the only person in the class who is struggling, please overcome any feelings of embarrassment or guilt, and come ask for help as soon as you need it -- we can almost guarantee you're not the only person who feels this way. Don't hesitate to ask us for help -- we really do care that you thrive! You can email, or email / talk to any TA at any time -- we’re happy to help.


The following tips are offered based on our experience.

Do the homeworks! The homeworks are explicitly designed to help you to learn the material as you go along. There is usually a strong correlation between homework scores and final grades in the class.

Keep up with lectures! Discussion sections, labs and homeworks all touch on portions of what we discuss in lecture. Students do much better if they stay on track with the course. That will also help you keep the pace with your homework and study group.

Take part in discussion sections! Discussion sections are not auxiliary lectures. They are an opportunity for interactive learning. The success of a discussion section depends largely on the willingness of students to participate actively in it. As with office hours, the better prepared you are for the discussion, the more you are likely to benefit from it.

Please come to office hours! We love to talk to you and do a deep dive to help you understand the material better.

Form study groups! As stated above, you are encouraged to form small groups (two to four people) to work together on homeworks and on understanding the class material on a regular basis. In addition to being fun, this can save you a lot of time by generating ideas quickly and preventing you from getting hung up on some point or other. Of course, it is your responsibility to ensure that you contribute actively to the group; passive listening will likely not help you much. And recall the caveat above that you must write up your solutions on your own. We advise you strongly to spend some time on your own thinking about each problem before you meet with your study partners; this way, you will be in a position to compare ideas with your partners, and it will get you in practice for the exams. Make sure you work through all problems yourself, and that your final write-up is your own. Some groups try to split up the problems ("you do Problem 1, I'll do Problem 2, then we'll swap notes"); not only is this a punishable violation of our collaboration policies, it also ensures you will learn a lot less from this course.


EECS 16AB Course Coverage

EECS16AB was specially designed to ramp students up to prepare for courses in machine learning and design and are important classes to set the stage for the rest of your time in the department. A rough breakdown of the content in the classes is as follows:

Module 1: Introduction to systems and linear algebra
Module 2: Introduction to design and circuit analysis
Module 3: Introduction to machine learning

Module 1: Differential equations and advanced circuit design
Module 2: Introduction to robotics and control
Module 3: Introduction to unsupervised machine learning and classification


Q1: Should I take EECS16A my first semester at Cal?

A1: If you have taken an AP calculus class, then the answer is yes! EECS16A has no prerequisites other than calculus and is designed with freshmen and incoming transfer students in mind. It is designed to be taken alongside 61A. Furthermore, we reserve seats for freshmen and incoming transfer students in the class, so you are essentially guaranteed a spot in the class your first year. It will be harder to get into the class as an upperclassman.

Q2: Should I take EECS 16A and EECS 16B before or after CS 70?

A2: EECS16A and 16B were specifically designed to help ease the transition to CS70 for incoming students. These classes provide an introduction to proofs and the kind of mathematical thinking that is very useful in a class like CS70. We recommend you take 16AB before taking CS70, this should help you have an easier time in CS 70.

Q3: Should I take MATH 54 before taking EECS16A?

A3: EECS 16A is designed to be taken without any prerequisites, so there is no need to take MATH 54 before EECS 16A. EECS 16AB teaches linear algebra with the intent of preparing you for courses like EECS 127 (Optimization) and EECS 189 (Machine Learning) and provides engineering and machine learning examples and applications for linear algebra. EECS 16AB also uses Jupyter notebooks and python so you can better connect linear algebra and computation.