EE16B  Designing Information Devices and Systems II
Spring 2019
Please note that some materials (e.g. solutions) have since been removed from the site.
Schedule
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 

0 
01/22 Tu 
Circuits: Overview, Digital circuits
(Webcast) (Notes) (FA17Note1) (FA172) We expect to update these notes at a later date 
Section 0A
(Dis) (Ans) 

Homework 0
Due 01/30 We (PDF) Selfgrades Due 02/02 Sa (Sols) (Self Grade) 
01/24 Th 
Circuits: RC circuits
(Webcast) (Notes 1) (Notes 2) (FA173) 
Section 0B
(Dis) (Ans) 

1 
01/29 Tu 
Circuits: Devices
(Webcast) (Notes 1) (Notes 2) (FA174) 
Section 1A
(Dis) (Ans) 
Debugging (Syllabus) (Lab) (Prelab) (Prelab Sols) 
Homework 1
Due 02/06 We (PDF) Selfgrades Due 02/09 Sa (Sols) (Self Grade) 
01/31 Th 
Circuits: Inductors, frequency response
(Webcast) (Notes) 
Section 1B
(Dis) (Ans) 

2 
02/05 Tu 
Circuits: Complex numbers, phasors
(Webcast) (Note j) (Notes) Preliminary handwritten notes 
Section 2A
(Dis) (Ans) 
DAC / ADC (Lab) 
Homework 2
Due 02/13 We (PDF) Selfgrades Due 02/18 Mo (Sols) (Self Grade) 
02/07 Th 
Circuits: Phasors contd., transfer functions, Bode plots
(Webcast) (Notes) (Phasor/Bode History) 
Section 2B
(Dis) (Ans) 

3 
02/12 Tu 
Circuits: Low, high, bandpass RC and RL filters; filter design for eliminating interference
(Webcast) (Notes) 
Section 3A
(Dis) (Ans) 
Mic Board (Lab) 
Homework 3
Due 02/20 We (PDF) Selfgrades Due 02/23 Sa (Sols) (Self Grade) 
02/14 Th 
Circuits: Transfer functions and Bode plots contd., RLC circuits and filters
(Webcast) (Notes) 
No Section
Multipole/zero Bode plots (Notes) (Video) 

4 
02/19 Tu 
Circuits: Diff. eqs. by change of basis; the role of eigenvectors; applications to transient analysis of circuits
(Webcast) 
Section 4A
(Dis) (Ans) 
Color Organ I (Lab) 
Homework 4
Due 02/27 We (PDF) (iPy) Selfgrades Due 03/02 Sa (Sols) (Self Grade) 
02/21 Th 
Robotics and Control: Diff. eq. inputs; systems of differential inputs; sampling continuoustime systems with inputs, representing discretely for softwaredefined control; goals of control systems
(Webcast) 
Section 4B
(Dis) (Ans) 

5 
02/26 Tu 
Robotics and Control: controllability and how to test for it; using learning (via leastsquares) to figure out a model for system from data
(Webcast) 
Section 5A
(Dis) (Ans) 
Color Organ II (Lab) 
Homework 5
Optional (PDF) (iPy) (Sols) (Self Grade) 
02/28 Th 
Robotics and Control: observability and how to test for it; learning a system model without access to the underlying states; the need to reject disturbances; stability
(Webcast) 
Section 5B
Changing qualitative bahavior of systems with eigenvalues; midterm review (Dis) (Ans) 

6 Midterm 3/5 8–10pm (Practice) (Sols) 
03/05 Tu 
Robotics and Control: stability continued; the power of feedback to change the qualitative behavior of a system
(Webcast) 
Section 6A
(Dis) (Ans) 
Project I: FrontEnd (Lab) 
Homework 6
Due 03/13 We (PDF) (iPy) Selfgrades Due 03/16 Sa (Sols) (iPy Sols) (Self Grade) 
03/07 Th 
Robotics and Control: Placement of eigenvalues
(Webcast) 
Section 6B
(Dis) (Ans) 

7 
03/12 Tu 
Robotics and Control: Linearization
(Webcast) (Notes) 
Section 7A
(Dis) (Ans) 
Project II: System ID (Files) 
Homework 7
Due 03/20 We (PDF) (iPy) Selfgrades Due 03/23 Sa (Sols) (Self Grade) 
03/14 Th 
Robotics and Control: Linearization; derivatives in the vector and matrix context
(Webcast) 
Section 7B
(Dis) (Ans) 

8 
03/19 Tu 
Robotics and Control: BIBO Stability; Orthonormalization and GramSchmidt
(Webcast) 
Section 8A
(Dis) (Ans) 
Project III: OpenLoop Control (Files) 
Homework 8
Due 04/03 We (PDF) (iPy) Selfgrades Due 04/06 Sa (Sols) (Self Grade) 
03/21 Th 
Robotics and Control: Uppertriangulation, symmetric matrices, openloop planning
(Webcast) 
Section 8B
(Dis) (Ans) 

9 
Spring Recess



10 
04/02 Tu 
SVD: Properties of real symmetric matrices  realness of eigenvalues/vectors. Outer products and their rank. Outer product formula for matrix multiplication. Expressing SVD as outer products. Applications to image decomposition.
(Webcast) (Notes) (Slides) 
Section 10A
(Dis) (Ans) 
Project IV: ClosedLoop Control (Files) 
Homework 9
Due 04/10 We (PDF) (iPy) Selfgrades Due 04/13 Sa (Sols) (iPy Sols) (Self Grade) 
04/04 Th 
SVD/PCA: 'Planning' in open loop control. Computation of SVD, and understanding SVD more intuitively
(Webcast) 
Section 10B
(Dis) (Ans) 

11 
04/09 Tu 
SVD/PCA: More image decomposition and lowrank approximation examples, error formula for truncated lowrank approximation. Expressing data in matrix form. Covariance matrices and their properties. Correlation matrices and correlation between data dimensions.
(Webcast) 
Section 11A
(Dis) (iPy) (Ans) 
Project V: SVD/PCA (Files) 
Homework 10
Due 04/17 We (PDF) (iPy) Selfgrades Due 04/20 Sa (Sols) (iPy Sols) (Self Grade) 
04/11 Th 
PCA: Uses and limitations of correlation. Eigendecomposition of the covariance matrix. Principal componentsand their geometric interpretation  orthogonal axes maximizing variance. Connection between PCA and SVD. PCA via the SVD and viceversa.
(Webcast) 
Section 11B
No worksheet 

12 Midterm 4/17 8–10pm (Practice)(Sols) 
04/16 Tu 
Interpolation: Motivation for audio transmission and reconstruction. Intuitive interpolation: PWL and ZOH. Interpolation using a framework of basis functions with periodic nulls; basis functions for PWL and ZOH. Sincbasis based interpolation. Audio demo of different interpolation schemes. Global polynomial interpolation. Finding polynomial interpolation coefficients via VanderMonde linear system. Limitations of polynomial interpolation.
(Webcast) 
Section 12A
(Dis) (Ans) 
Project V: Continued 
Homework 11
Due 04/24 We (PDF) (iPy) Selfgrades Due 04/27 Sa (Sols) (iPy Sols) (Self Grade) 
04/18 Th 
DFT: Motivation for audio processing and filtering demo, JPEG compression example. Review of complex numbers. Complex roots of 1. Inner products, Hermitians. Definition of the DFT matrix.
(Webcast) 
Section 12B
(Dis) 

13 
04/23 Tu 
DFT: Definition of DFT matrix, interpretation as a basis. Orthogonality of the basis vectors. Expression for DFTmatrix multiplication. Symmetry, invertibility properties. The inverse DFT is essentially its Hermitian.
(Webcast) 
Section 13A
(Dis) (Ans) 
Project VI: Advanced Controls (Files) 
Homework 12
Due 05/01 We (PDF) Selfgrades Due 05/04 Sa (Sols) (Self Grade) 
04/25 Th 
DFT: Key property of finding the phasors of signals composed of M sinusoidal harmonic components from N=2M+1 uniformly spaced samples. Derivation/proof of this property. Demo of DFT with clip of a song.
(Webcast) 
Section 13B
(Dis) (Ans) 

14 
04/30 Tu 
DFT/Fourier Series: DFT audio demo. Timedomain features of audio. DFT (using the FFT) of a 1m audio segment sampled at CD rates. Frequency domain features. Corruption of the audio with a 1kHz tone. Notch filtering for almost perfect recovery. Lowpass filtering and its effects. Periodic waveforms. The effect of nonlinearities on sinusoidal waveforms.
(Webcast) 
Section 14A
(Dis) (Ans) 
Project VII: Integration (Files) 
Homework 13
Due 05/08 We (PDF) (iPy) Selfgrades Due 05/11 Sa (Sols) (iPy Sols) (Self Grade) 
05/02 Th 
Fourier Series: Sinusoids passing through nonlinearities. Demo: harmonic generation by nonlinearities. Expressing periodic signals as Fourier series. Deriving the analytical formula for Fourier coefficients. Finding Fourier coefficients using the DFT. Demonstration of the effects of aliasing.
(Webcast) 
Section 14B
(Dis) (Ans) 

15 
RRR Week
(Webcast) 


16 
Final Examinations


Resources
Piazza: ask questions here.Homework Practice: practice homework questions.
Lab
Video Notes
 Intro to transistors and digital logic
 RC Transients
 Differential Equations
 Second Order Circuits
 Linearization
 Observers and Observability
 Feedback Control
 Singular Value Decomposition
Circuits
 Charge
 Current
 Voltage
 Kirchoff's Laws
 Parallel and Series Resistors
 Voltage and Current Dividers
 Thevenin / Norton Equivalent Circuits and Source Transformation
 Bode plot practice problems
DFT
 Interactive guide to the DFT
 A New Sequence in Signals and Linear Systems's take on DFT starts on page 144
 Fourier visualizations
PCA & SVD
 A tutorial on PCA
 An article about SVD and its applications
 Image processing with the SVD
 Visualization of PCA
 Visualization of kmeans
Sampling and Aliasing
Controls
Course Staff
Instructors
GSIs
Karina Chang
Admin Head
jkarinac@
Titan Yuan
Admin Head
titan@
Maggie Payne
Lab Head
paynme0@
Kevin Zhang
Lab Head
berrypunny@
Peter Schafhalter
Lab Content
pschafhalter@
Mia Mirkovic
Lab Content
miamirkovic@
Zain Zaidi
Lab Content
zzaidi@
Ashley Lin
Lab
ashleyjl@
Dinesh Parimi
Lab
dineshp@
Julian Chan
Lab
julianchan0928@
Rohan Konnur
Lab
rohankonnur@
Alyssa Huang
Lab
alyssahuang@
Tiffany Cappellari
Lab
tiffanyec@
Victor Lee
Lab
vklee88@
Jove Yuan
Lab
jove@
Justin Lu
Lab
justin.lu222@
Raymond Gu
Lab
raymongdu1998@
Andrew Xu
Discussion
andrew.xu@
Arda Sahiner
Discussion
sahinera@
Jaymo Kang
Discussion
jaymo@
Simon Kuang
Discussion
simontheflutist@
Harrison Zheng
Discussion
hazheng@
Hitesh Yalamanchili
Discussion
hiteshy@
Matt Yeh
Discussion
myeh@
Alex Devonport
Discussion, Content
alex_devonport@
Regina Eckert
Content Head
eckert@
Aditya Arun
Content
aditya.arun@
Nikhil Shinde
Content
nikhilushinde@
Geoffrey Negiar
Content
geoffrey_negiar@
Sanjit Batra
Content
sanjitsbatra@
Elena Jia
Content
yiranjia@
Yi Zhao
Content
yi@
Sirej Dua
Content
sirejdua@
Edward Doyle
Web
e.doyle@
Please add berkeley.edu to the end of all emails
Policies
Course Info
The EECS 16 series (Designing Information Devices and Systems) is a pair of freshmanlevel courses introducing students to EECS, with a particular emphasis on how we deal with systems interacting with the world from an information point of view. Mathematical modeling is an important theme throughout these courses, and students will learn many conceptual tools along the way. Throughout this series, generally applicable concepts and techniques are motivated by, and rooted in, specific exemplary application domains. Students should understand why they are learning something.
EECS 16B deepens the understanding of linear modeling from EECS 16A and introduces dynamics and control, along with additional applications. EECS 70 (which can be thought of as the third course in the sequence – except without any labs) brings in probability and introduces additional discrete structures for modeling problems.
Grade Breakdown
Unlike the other components, your ethics grade will be multiplicatively factored into your final grade. Cheating in any form is not allowed. Looking at old solutions of homework or copying off of other people is strictly prohibited, and also punishable by referring the matter to Student Affairs, etc. at our discretion.
Homework  10% 
Labs  30% 
Midterm 1  15% 
Midterm 2  15% 
Final  30% 
Ethics  x1.01 
Homework Party
There will be homework parties most Mondays 9–11am and Tuesdays 2–3:30pm in Cory 144MA or Soda's Wozniak Lounge. Homework party is completely optional. GSIs and readers will be present in shifts to answer any homework questions. Students are expected to help each other out, and if desired, form adhoc "pickup" homework groups in the style of a pickup basketball game. We highly encourage students to attend homework party.
Homework Grading
The primary way that the homework will be graded is by yourselves. Homeworks are usually due on Wednesday night at 11:59pm. You need to turn in both your code and written solutions in the form of a .ipynb file and a .pdf file consisting of your writtenup solutions that also includes an attached pdf "printout" of your code. Any homework submissions that are turned in without both the .ipynb file and a .pdf of the solutions along with the code “printout” (or screenshot) attached will receive a zero on the coded iPython (a.k.a. Jupyter) notebook portions of the homework. If you have any questions about the format of a homework submission, please go to office hours or homework party.
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 halfway 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 should post on Piazza. This is not supposed to be a stressful process.
Your selfgrades will be due on the Saturday following the homework deadline at 11:59pm. We will accept late selfgrades up to a week after the original selfgrade deadline: you can turn them in by the following Wednesday for 90% credit and by the following Saturday for 50% credit. If you don't enter a proper grade by then, 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 selfgrade; and turn it in on time. Unless all of these steps are done, you will get a zero for that assignment.
We will drop the lowest homework score from your final grade calculation, so getting a single zero on a HW is not the end of the world. This drop is meant for emergencies. If you use this drop halfway into the semester and request another, we cannot help you.
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. This will also help you avoid selffavoritism.
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.
If you have any questions, please ask on Piazza.
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 90% credit. Homework resubmissions must be handwritten. Homework resubmissions will be due along with the selfgrades, so by 11:59pm Saturday night. If you choose to resubmit your homework, you must submit two sets of selfgrades, one for the first submission and one for the second submission. For the second submission do selfgrades as normal.
However, you must have demonstrated a sincere effort in order to get points back. If your original submission warranted 0 credit, then only 60% resubmission credit shall be awarded instead of 90%.
We will apply the 90% correction.
What does 90% 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 selfgrade for your first submission would be a 5/10. However, you can resubmit the homework problem with a fully correct solution and receive 90% of the remaining points as extra points, i.e. (105) * 90/100 = 4.5 extra points, and so your score for the problem would go from 5 points to 9.5 points.
Course Communication
The instructors and TAs will post announcements, clarifications, hints, etc. on Piazza. You must check the EE16B Piazza page frequently throughout the term. (You should already have access to the EE16B Spring 2019 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 will check the forum regularly, and other students will be able to help you too. When using the forum, please avoid offtopic 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 also 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, feel free to use this anonymous form.
Collaboration
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 writeup, and you may never copy material verbatim. Using previous EE16B homework, exam, and lab solutions is strictly prohibited, and will result in a case filed against you with the Office of Student Conduct.
Submit cheating or suspicious incident reports through this other anonymous form.
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! We would much rather deal with misunderstanding early on. 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!
Additionally, 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.
Advice
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.
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.
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. Also recall the caveat above, that you must write up your solutions on your own. We strongly advise 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, and that your final writeup 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.