EECS16B | Designing Information Devices and Systems II

Fall 2020


Lecture: (Passcode: 008430)


This 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
08/27 Th Syllabus + 16A Review
(Google Drive Link) (Zoom Recording) (Passcode: Yi@^Df1e) (Notes) (Circuits Course Reader)
No Section
Syllabus Week (No Lab)
Homework 0
Due 09/03 Th
(Self Grade)
09/01 Tu Transistors and Digital Electronics
(Google Drive Link) (Zoom Recording) (Passcode: 1&n80x.q) (Slides) (Notes)
16A Review
Syllabus Week (No Lab)
Homework 1
Due 09/10 Th
(Self Grade)
09/03 Th CMOS, Energy, and Power
(Google Drive Link) (Zoom Recording) (Passcode: F@waf+Q7) (Notes)
Section 1B
09/08 Tu Transient Analysis and Differential Equations
(Google Drive Link) (Zoom Recording) (Passcode: =80N&2Qe) (Notes)
No Section (Labor Day)
Lab 1: Debugging
Homework 2
Due 09/17 Th
(Self Grade)
09/10 Th Differential Equations and First Order Circuits
(Google Drive Link) (Zoom Recording) (Passcode: 0^n4UCq@) (Notes)
Section 2B
(Dis) (Ans)
Quest 9/15

Redo due 9/24 10:59pm (Sample)
09/15 Tu Vector Differential Equations
(Google Drive Link) (Zoom Recording) (Passcode: kzx.?4L0) (Notes)
Section 3A
(Dis) (Ans)
Lab 2: DAC / ADC
Homework 3
Due 09/24 Th
(Self Grade)
09/17 Th Change of Basis and Inductors
(Google Drive Link) (Zoom Recording) (Passcode: %MT3SAR1) (Notes)
Section 3B
(Dis) (Ans)
09/22 Tu Inductors, RLC Circuits, and Complex Numbers
(Google Drive Link) (Zoom Recording) (Passcode: Q8%XP5&w) (Notes)
Section 4A
(Dis) (Ans)
Lab 3: Color Organ
Homework 4
Due 10/01 Th
(PDF) (iPy)
(Self Grade)
09/24 Th RLC Circuits and Phasors
(Google Drive Link) (Zoom Recording) (Passcode: z&=P2Ga2) (Notes)
Section 4B
(Dis) (Ans)
09/29 Tu Phasors, Frequency Response, and Bode Plots
(Google Drive Link) (Zoom Recording) (Passcode: t!!@9EK^) (Notes)
Section 5A
(Dis) (Ans)
Buffer Week
Homework 5
Due 10/08 Th
(Self Grade)
10/01 Th Bode Plots and RLC Resonance
(Google Drive Link) (Zoom Recording) (Passcode: 1^kk1c*9) (Notes)
Section 5B
(Dis) (Ans)
10/06 Tu State Space Models
(Google Drive Link) (Zoom Recording) (Passcode: p%f!H6F+) (Slides) (Controls Course Reader)
Section 6A
(Dis) (Ans)
Project Part 1: Front End Circuits
Homework 6
Due 10/15 Th
(PDF) (iPy)
(Self Grade)
10/08 Th Equilibrium Points and Linearization
(Google Drive Link) (Zoom Recording) (Passcode: !6LQv+8t) (Slides)
Section 6B
(Dis) (Ans)
Midterm 1 10/12

Redo due 10/22 10:59pm (Sample)
10/13 Tu Stability
(Google Drive Link) (Zoom Recording) (Passcode: DK^Q3@%*) (Slides)
Buffer Week
Homework 7
Due 10/22 Th
(Self Grade)
10/15 Th Stability and Controllability
(Google Drive Link) (Zoom Recording) (Passcode: $fz2rrD?) (Slides)
Section 7B
(Dis) (Ans)
10/20 Tu State Feedback Control
(Google Drive Link) (Zoom Recording) (Passcode: xAhmb#=0) (Slides)
Section 8A
(Dis) (Ans)
Project Part 2: System ID
Homework 8
Due 10/29 Th
(PDF) (iPy)
(Sols) (iPy Sols)
(Self Grade)
10/22 Th System Identification
(Google Drive Link) (Zoom Recording) (Passcode: y@?W58Z#) (Slides)
Section 8B
(Dis) (Ans)
10/27 Tu SVD
(Google Drive Link) (Zoom Recording) (Passcode: GyqCT#B3) (Slides)
Section 9A
(Dis) (Ans)
Buffer Week
Homework 9
Due 11/05 Th
(Self Grade)
10/29 Th Computing the SVD
(Google Drive Link) (Zoom Recording) (Passcode: *.7iIxNt) (Slides)
Section 9B
(Dis) (Ans)
11/03 Tu Geometry of the SVD and PCA
(Google Drive Link) (Zoom Recording) (Passcode: 81thp#V6) (Slides)
Section 10A
(Dis) (Ans)
Project Part 3: Closed-Loop Control
Homework 10
11/05 Th Finishing up SVD and PCA
(Zoom Recording) (Passcode: vf6x%P%5) (Slides)
Section 10B
(Dis) (Ans)
Midterm 2 11/10

Redo due 11/22 10:59pm (Sample)
11/10 Tu Moore Penrose, Sampling, Interpolation
(Zoom Recording) (Passcode: X^@p3M&g) (Slides)
Homework 11
Due 11/19 Th
(PDF) (iPy)
(Sols) (iPy Sols)
(Self Grade)
11/12 Th Sampling and Interpolation
(Zoom Recording) (Passcode: 41?7p32m) (Slides)
No Section (Veterans Day)
11/17 Tu Sampling, Aliasing, Discrete Signals
(Zoom Recording) (Passcode: Pj*59zCr) (Slides)
Section 12A
(Dis) (Ans)
Project Part 4: Advanced Controls
Homework 12
Due 12/03 Th
(Self Grade)
11/19 Th Discrete Systems, LTI Systems, Convolution Sum
(Zoom Recording) (Passcode: RYM%13$%) (Slides)
Section 12B
(Dis) (Ans)
11/24 Tu Finite Sequences, Change of Basis, DFT
(Zoom Recording) (Passcode: ^3?LPEBT) (Slides)
Section 13A
(Dis) (Ans)
No Lab
11/26 Th No Lecture (Thanksgiving Break)
No Section (Thanksgiving Break)
12/01 Tu DFT
(Zoom Recording) (Passcode: g3R90L5!) (Slides)
Section 14A
(Dis) (Ans)
Buffer Week
12/03 Th DFT, MRI, Wrap Up
(Zoom Recording) (Passcode: XFk#9sk+) (Slides)
No Worksheet
RRR Week
RRR Week: Finals Week
Final Examinations



Transfer Discussion


OH and HW Party

Course Staff


Seth Sanders

Miki Lustig


(Please direct administrative/logistical questions to
Click to reveal bios (if they have one)!

Ramsey Mardini
Head Admin

Maxwell Chen
Head Admin

Mikaela Frichtel
Head Lab

Steven Lu
Head Lab

Mauricio Bustamante
Discussion, Content

Archit Gupta
Discussion, Content

Fangda Gu
Discussion, Content

Taejin Hwang
Discussion, Content

Nick Nolan
Discussion, Content

Son Tran

Marie Barr-Ramsey

Justin Yu

Ashwin Vangipuram

Rafael Calleja

Elizabeth Wang

Priyans Nishithkumar Desai

Kaitlyn Chan

Sravya Basvapatri

Caleb Kuo

Sumer Kohli

Please add to the end of all emails


Zoom Links

Live Lecture: (Passcode: 008430)

Discussion/OH: @120 on Course Piazza

Course Info

The EECS 16AB series (Designing Information Devices and Systems) is a pair of entry-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.

Grade Breakdown

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

This course is graded on a point system with a total of 300 points. Here is the breakdown:

Homework 40 points
Lab and Project 45 points
Quest 15 points
Midterm 1 50 points
Midterm 2 50 points
Final 100 points

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.

In the 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.

Notice that you can get many points by being regular with your homework and the lab.

Grading Scale

Each letter grade corresponds to a range of scores:

A+ [300+] A [279+) A- [270+)
B+ [252+) B [225+) B- [204+)
C+ [195+) C [186+) C- [174+)
D+ [171+) D [165+) D- [159+)
F [0, 159+)

Homework Party

Homework parties are an opportunity to meet and interact with other students, while also having the chance to get help from GSIs and Faculty.

Homework Party is held 1-4 pm weekly on Tuesdays.

Homework Party is completely optional. 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 Thursday night at 10:59 PM. If your homework is late you will be given a zero on that homework assignment.

You need to turn in a .pdf file consisting of your written-up solutions. You may write out your solutions on paper and scan it or use a tablet. If the homework includes an ipython notebook, you must also attach a .pdf "printout" of your .ipynb code on Gradescope. Any homework submissions that are turned in without the code “printout” 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 also have the opportunity to resubmit your homework after homework solutions are released to get back 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. 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.

Your self-grades will be due on the Thursday following the homework deadline at 10:59 PM sharp. We will accept late self-grades up to a week after the original self-grade deadline for 65% credit on the associated homework assignment.  If you don't enter a proper grade by this deadline, you will receive a zero on that assignment.

We will automatically drop the lowest 2 homework scores from your final grade calculation.

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. Coarsely graded questions are based on effort and are worth one point. If you are given one point you are given the same score you gave yourself for all associated parts (with adjustment from self inflation/deflation) and if you are given a zero you are given zero points for all associated parts of that question no matter the self grade. 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.

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.

If you have any questions, please ask on Piazza.

Homework Resbmission

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 30% credit.

Homework resubmissions will be due along with the self-grades, so they will be due by 10:59pm Thursday 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 resubmission. For the resubmission regrade all questions based off the better of your original submission and your resubmission (i.e. if you originally got a problem completely correct on your original submission, give yourself a 10 on the resubmission self grades even though you didn’t redo it). We will apply a 30% correction.

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. 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 post on Piazza or go to office hours or homework party.

What does 30% credit mean? Let us say you only were able to get half-way through a problem during the first submission. You submitted your homework on Monday, and while going through the solutions you understood 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 30% of the remaining points as extra points, i.e. (10-5) * 30/100 = 1.5 extra points, and so your score for the problem would go from 5 points to 6.5 points.

Homework Effort Policy

Homework can be challenging – we do not intend to punish you for making small mistakes.

Your final score (after any corrections are applied) on any homework will be min(100%, 1.25 x score %). In other words, for each homework you will receive full credit for any score of 80% or above.

Discussion Section Policies

Note that while discussion (like lecture) is a mandatory part of the course, we will not be taking attendance in either discussion or lecture.

Exam Policies

There is a Quest, two Midterms, and one Final. The exam dates are below:

Quest (9/15: 7-8pm)

Midterm 1 (10/12: 7-9pm)

Midterm 2 (11/10: 7-9pm)

Final (12/15: 3-6pm)

Makeup exams will not be scheduled for any reason.

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.

Exam Clobbering

To help those who miss or do poorly on an exam we will have a clobber policy for this semester. To qualify for clobber for an exam you must complete a redo of the exam and submit it before the given deadline. Assuming you qualify, the Quest can be clobbered by Midterm 1, and the two Midterms can be clobbered by the Final. Clobber will be applied in the following manner:

Note: % on [exam] is after bins are applied

If you qualify for clobbering the Quest: grade on Quest = max(% on Quest, % on Midterm 1)

If you qualify for clobbering Midterm 1: grade on Midterm 1 = max(% on Midterm 1, % on final)

If you qualify for clobbering Midterm 2: grade on Midterm 2 = max(% on Midterm 2, % on final)


If you need an exception please fill out this form as soon as possible: link.

Exceptions will be handled on a case-by-case basis. 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. You must check the EECS16B Piazza frequently throughout the semester. (You should already have been added to the Piazza – if you were not, please email us).

If you have a question, your best option is to post on Piazza. Course staff will check Piazza regularly, and other students will be able to help you too.

When using Piazza, 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 an answer faster.

If your question is personal or not of interest to other students, you can 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 questions you can't get answered in office hours, in discussion sections, or through Piazza.

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


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 EECS16B 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 the head TAs, 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.