EE 16B | Designing Information Devices and Systems II

Fall 2017


The schedule is tentative and still subject to change.

Wk Date Lecture Topic Section Lab Homework
008/22 TuNo lectureHomework 0
08/24 ThIntro, Cyberphysical, LogicSection 0B: KVL, KCL, op-amps review
108/29 TuCircuits — CMOS logic and transistorsSection 1A: OH/HW helpIntroduction to DebuggingHomework 1
08/31 ThCircuits — RC transientsSection 1B: Boolean logic, CMOS
209/05 TuCircuits — 2nd order ODEsSection 2A: RC circuit theoryAnalog-Digital Converters IHomework 2
09/07 ThCircuits — 2nd order circuits and RLC responseSection 2B: Complex numbers, 2nd order ODEs
309/12 TuCircuits — Filters and phasorsSection 3A: RLC circuitsAnalog-Digital Converters IIHomework 3
09/14 ThCircuits — Transfer functionsSection 3B: Phasors
409/19 TuCircuits — Filter design and bode plotsSection 4A: Transfer functionsMystery Circuit and Mic Board AssemblyHomework 4
09/21 ThCircuits — Bode plotsSection 4B: Bode plots
509/26 TuControls — State space representationSection 5A: 2nd order filtersColor Organ: Part I
09/28 ThControls — Linearization and stabilitySection 5B: State space
610/03 TuControls — Stability cont’dSection 6A: OHColor Organ: Part IIHomework 5
10/05 ThControls — ControllabilitySection 6B: Linearization and Stability
710/10 TuControls — State feedback controlSection 7A: Stability and controllabilityFront End Mic CircuitHomework 6
10/12 ThControls — Controller canonical form; outputs and observers Section 7B: Feedback control and block diagrams
810/17 TuControls — Observability and observers (beta) (notes)Section 8A: Controller canonical formSystem IDHomework 7
10/19 ThSVD/PCA — OverviewSection 8B: Observability and observers
910/24 TuSVD/PCA — ProcedureSection 9A: Spectral theoremIntroduction to Controls: Part IHomework 8
10/26 ThSVD/PCA — Geometric interpretation (beta) (notes)Section 9B: SVD
1010/31 TuSVD/PCA — K-means (beta) (notes)Section 10A: PCAIntroduction to Controls: Part IIHomework 9
11/02 ThSignals — Polynomial interpolation (beta)Section 10B: Midterm review
1111/07 TuSignals — Interpolation and sampling theoremSection 11A: Polynomial interpolationSVD/PCAHomework 10
11/09 ThMidterm 2Section 11B: Midterm review
1211/14 TuSignals — Discrete signals and systems (beta)Section 12A: Sampling theoremAdvanced ControlsHomework 11
11/16 ThSignals — Finite sequences, complex inner products and basis transformationSection 12B: LTI systems
1311/21 TuSignals — DFT and Spectral AnalysisSection 13A: DFT basisHomework 12
11/23 ThHoliday; no lectureSection 13B: Holiday; no section
1411/28 TuSignals — Properties of the DFT (notes)Section 14A: DFT ipynbIntegration
11/30 ThSignals — Convolutions using the DFTSection 14B: DFT and LTI
1512/05 TuReview
12/07 Th

Weekly Schedule

Course Staff


Miki Lustig

Michel Maharbiz


Jessie Yang
Admin TA
Arda Sahiner
Admin + Discussion TA
Amin Torabi
Discussion TA
Andrew Blatner
Lab TA
Andrew Xu
Discussion TA
Ashley Lin
Lab TA
Bob Zhou
Discussion TA
Edward Wang
Lab + Content TA
Jane Liang
Discussion TA
Justin Yim
Content + Discussion TA
Kevin Chen
Discussion TA
Kevin Zhang
Lab TA
Kyle Tanghe
Content + Discussion TA
Nikhil Shinde
Lab TA
Peter Schafhalter
Lab TA
Thomas Asmar
Lab TA
Tianrui Guo
Discussion TA
Vivek Athalye
Discussion + Lab TA

Please add to the end of all emails



Lecture Videos

Note that you need to be logged into your account to view these videos.
Lecture 0B
Lecture 1A
Lecture 1B
Lecture 2A
Lecture 2B
Lecture 3A
Lecture 3B
Lecture 4A
Lecture 4B
Lecture 5A
Lecture 5B
Lecture 6A
Lecture 6B
Lecture 7A
Lecture 7B
Lecture 8A
Lecture 8B
Lecture 9A
Lecture 9B
Lecture 10A
Lecture 10B
Lecture 11A
Lecture 11B
Lecture 12A
Lecture 12B
Lecture 13A
Lecture 14A
Lecture 14B

Video Notes

Intro to transistors and digital logic
RC transients
Second-order circuits
Differential equations
Observers and observability
Feedback control


Lab outline and overview
Oscilloscope cheatsheet
Intro to circuits debugging
Controls primer
Project deliverables
Project grading


Kirchoff's laws
Parallel and series resistors
Voltage and current dividers
Thevenin/Norton equivalent circuits and source transformation
Bode plot practice problems

Linear Algebra

Eigenvalues and eigenvectors
Change of basis and diagonalization


Interactive guide to the DFT
Another textbook chapter (starts on page 144)
Fourier visualizations


SVD flags example A tutorial on PCA
A linear algebra review that concludes with SVD
An article about SVD and its applications
Image processing with the SVD
Visualization of the PCA
Visualization of k-means

Sampling and Aliasing

JTAG transform compression

Frequency Response and Impedance


Murat Arcak's EE16B reader
Murray and Astrom
Franklin, Powell, and Workman


Grade Breakdown

  • Homework: 10%
  • Labs: 30%
  • Midterm 1: 15%
  • Midterm 2: 15%
  • Final: 30%

Homework Party

Every week there will be a "homework party." This is completely optional. GSIs will be present in shifts as will some readers. 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.

Homework Grading

The primary way that the homework will be graded is by yourselves. Homework is always due Tuesday at 11:59 (11:59am). You need to turn in both your code in the form of an ipynb file and a .pdf file consisting of your written-up solutions that also includes a "printout" of your code.

After the HW deadline, official solutions will be posted online and then you will 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:

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: all partial credit must be justified with a comment. If you are really confused about how to grade a particular problem, you are given a limited number of "I don't know" skips that you can use on every assignment. You always get at least two, and more if the HW has lots of parts. This is not supposed to be a stressful process and the skips are there to let you not obsess about how to grade any one part.

Your self-grades will be due Friday at 11:59 (11:59am) after the homework deadline and if you don't properly enter any grades by the self-grading deadline, you are giving yourself a zero on that assignment. Just doing the homework is not enough, you have to do the homework, turn it in on time, read the solutions, do the self-grades, and turn them in on time. Unless all of these steps are done, you get a zero for that assignment. We will be dropping your lowest-scored homework from your final grade calculation, so getting a single zero on a HW is not the end of the world.

Just as 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. This will also help you avoid self-favoritism.

The 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 a bit by taking into account reader scores so that everyone is effectively fairly graded on the same scale. (E.g. If we notice that you statistically tend to shade 8s into 5s a bit much as compared to the readers looking at your homeworks, we will apply a correction to pull your scores up a bit.)

If you have any questions, please ask on Piazza.

Extra credit will be available for many creative activities including helping us debug issues with the class and coming up with constructive solutions. (For example: creating practice problems with solutions, providing patches to bugs in labs and homeworks, etc...) Talk with your GSI in person or post on Piazza if you want to get feedback from the entire class.

Course Communication

The instructors and TA will post announcements, clarifications, hints, etc. on Piazza. Hence you must check the EE16B Piazza page frequently throughout the term. (You should already have access to the EE16B Fall 2017 forum. If you do not, please let us know.) If you have a question, your best option is to post a message there. 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.

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.

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 feel free to use an anonymous remailer like this one to avoid revealing your identity.


You are encouraged 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 writeup and you must never copy material verbatim. We believe 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 strongly encourage. But you should write your homework solution strictly by yourself so that your hands and eyes can help you internalize this material.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 to us We would much rather deal with misunderstanding early on, and we can help. Even if you are convinced that you are the only person in the class that doesn't understand the material, and that it is entirely your fault for having fallen behind, please overcome any feelings of guilt and 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 learn!


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. Although the numerical weight of the homeworks is not huge, there is usually a strong correlation between homework scores and final grades in the class.

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 get out of it.

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. You are strongly advised you 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. 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.