EE 16B | Designing Information Devices and Systems II

Spring 2018


The schedule is tentative and still subject to change.

Wk Date Lecture Topic Relevant Materials Section Lab Homework
001/16 TuIntro, Cyberphysical, LogicHomework 0
01/18 ThCMOS logic and transistorsSection 0B: KVL, KCL, op-amps review
101/23 TuCircuits — RC transientsSection 1A: Boolean logic, CMOSIntroduction to DebuggingHomework 1
01/25 ThCircuits — 2nd order ODEsSection 1B: RC circuit theory
201/30 TuCircuits — 2nd order circuits and RLC responseSection 2A: Complex numbers, 2nd order ODEsAnalog-Digital ConvertersHomework 2
02/01 ThCircuits — Filters and phasorsSection 2B: RLC circuits
302/06 TuCircuits — Transfer functionsSection 3A: PhasorsMystery Circuit and Mic Board AssemblyHomework 3
02/08 ThCircuits — Filter design and bode plotsSection 3B: Transfer functions
402/13 TuSystems — State space representation (notes)Section 4A: Bode plotsColor Organ: Part IHomework 4
02/15 ThSystems — Linearization and stability (notes)Section 4B: 2nd order filters
502/20 TuSystems — Stability cont’d (notes)Section 5A: State spaceColor Organ: Part II
02/22 ThControls — Open QA Session (notes)Section 5B: Linearization
602/27 TuControls — State feedback control [MIDTERM 1: 02/27 8PM] (notes)Section 6A: Midterm ReviewFront End Mic CircuitHomework 5
03/01 ThControls — Controller canonical form; outputs and observers (notes)(Written Notes)Section 6B: Stability and controllability
703/06 TuControls — Observability and observers (notes)Section 7A: Feedback control and block diagramsSystem ID and Car InstructionsHomework 6
03/08 ThControls — Overview(Written Notes)Section 7B: Stability and controllability Practice
803/13 TuSVD/PCA — SVD/PCA (notes)Section 8A: Controller canonical formIntroduction to Controls: Part IHomework 7
03/15 ThSVD/PCA — SVD/PCA (notes)Section 8B: Observability and observers
903/20 TuSVD/PCA — SVD/PCA (notes)Section 9A: Spectral theoremIntroduction to Controls: Part II
03/22 ThSVD/PCA — K-Means(Written Notes)Section 9B: Computing PCA
1003/27 TuHoliday; no lectureSection 10A: Holiday; no sectionNo Lab (Spring Break)
03/29 ThHoliday; no lectureSection 10B: Holiday; no section
1104/03 TuMidterm 2Section 11A: Midterm ReviewSVD/PCAHomework 8
04/05 ThSVD/PCA — K-Means (notes)(Written Notes)Section 11B: SVD
1204/10 TuSignals — Discrete signals and systemsSection 12A: Polynomial interpolationAdvanced ControlsHomework 9
04/12 ThSignals — Finite sequences, complex inner products and basis transformation(Video Completing Lecture)(Written Notes)(Follow On Written Notes)Section 12B: Discrete Time LTI Systems
1304/17 TuSignals — DFT and Spectral AnalysisSection 13A: LTI Systems, Sinc InterpolationIntegrationHomework 10
04/19 ThSignals — Properties of the DFTSection 13B: Discrete Fourier Transform
1404/24 TuSignals — Convolutions using the DFTSection 14A: DFT basisBuffer DaysHomework 11
04/26 ThMiscellaneous TopicsSection 14B: DFT and LTI
1505/01 TuHomework 12
05/03 Th

Weekly Schedule

Course Staff


Jaijeet Roychowdhury

Michel Maharbiz


Arda Sahiner
Head + Discussion TA
Karina Chang
Head + Discussion TA
Andrew Blatner
Head Lab TA
Peter Schafhalter
Head Lab TA
Aditya Arun
Discussion TA
Andrew Xu
Discussion TA
Apollo Jain
Discussion TA
Dinesh Parimi
Lab TA
Eilam Levitov
Discussion TA
Jae Min Kim
Lab TA
Jaymo Kang
Discussion TA
Julian Chan
Lab TA
Kevin Zhang
Lab TA
Kyle Tanghe
Discussion + Content TA
Kyoungtae Lee
Lab TA
Mia Mirkovic
Lab TA
Nikhil Shinde
Lab TA
Rohan Konnur
Lab TA
Simon Kuang
Discussion TA
Sukrit Arora
Lab TA
Thomas Asmar
Lab TA
Titan Yuan
Discussion + Content TA
Utkarsh Singhal
Discussion + Content 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 11B
Lecture 12A
Lecture 12B
Lecture 13A
Lecture 13B
Lecture 14A


Professor Roychowdhury's Animated Slides

These slides are meant to be watched in slideshow mode, and not to be printed.
State Space Representations
Linearization and Stability
Controllability and Feedback
Controller Canonical Form and Observability

Professor Roychowdhury's Video Content and Notes

Explanation Of Phasors
RLC circuit: half power point, Q factor, peak, etc., calculations
2nd Order ODE Solution Derivation (Notes) (Video)
QA Session on 02-22 Office Hours (Notes)(Video)
State Space To Phasor Transfer Functions
Linearizing Discrete Time Systems (Notes)(Video)
Pendulum example worked out in detail (Notes)(Video Pt. 1)(Video Pt. 2)

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

Your self-grades will be due Monday 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.

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 Spring 2018 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.