EE 16A | Designing Information Devices and Systems I

Spring 2016


Wk Date Lecture Topic Section Lab Homework
1 01/19 Tu Introduction to Class: Welcome to EE16A! (Video)(Slides) Section 0A
Get Started: iPython + NumPy
Homework 0
01/21 Th Intro to Imaging/Tomography (Video) (Slides) (Notes) Section 0B:
2 01/26 Tu Vectors and Systems of Equations (Video)(Notes) Section 1A:
Get Started: Lab Equipment Homework 1
01/28 Th Linear Dependence (Video)(Notes 1)(Notes 2) Section 1B:
3 02/02 Tu Matrices and Transformations (Video)(Notes) Section 2A:
Imaging Lab 1: Building a Light Sensor Homework 2
02/04 Th Rank and Inverses (Video)(Notes) Section 2B:
4 02/09 Tu Vector Spaces (Video)(Notes) Section 3A:
Imaging Lab 2: Single Pixel Scanning Homework 3
02/11 Th Nullspaces and Flows (Video)(Notes) Section 3B:
dis3B.pdf, ans3B.pdf

Midterm on Tues 2/16 (7-9PM)
02/16 Tu Special (Video)(Notes) Section 4A:
dis4A.pdf, ans4A.pdf
Buffer Week Homework 4
02/18 Th Sources; Conductors; Ohm's Law; Power (Video)(Notes) Section 4B:
dis4B.pdf, ans4B.pdf
6 02/23 Tu KCL/KVL and Voltage/Current Dividers (Video) Section 5A:
dis5A.pdf, ans5A.pdf
Imaging Lab 3: Multipixel Scanning Homework 5
02/25 Th Norton/Thevenin Equivalence and Superposition (Video)(Notes) Section 5B:
dis5B.pdf, ans5B.pdf
7 03/01 Tu Capacitance (Video)(Notes) Section 6A:
dis6A.pdf, ans6A.pdf
Touch Screen Lab 1: LED Fader and Resistive Touch Screen Homework 6
03/03 Th Resistance Touch Screens (Video)(Notes) Section 6B:
dis6B.pdf, ans6B.pdf
8 03/08 Tu Capacitance Touch Screens; Amplifiers (Video)(Notes) Section 7A:
dis7A.pdf, ans7A.pdf
Touch Screen Lab 2: Capacitive Touch Screen Homework 7
03/10 Th Op-Amps and Feedback (Video) Section 7B:
dis7B.pdf, ans7B.pdf

Midterm on Thurs 3/17 (7-9PM)
03/15 Tu Op-Amp Circuits (Video) Section 8A:
dis8A.pdf, ans8A.pdf
Buffer Week Homework 8
03/17 Th Op-Amp Examples (Video) Section 8B:
dis8B.pdf, ans8B.pdf
03/22 Tu - 03/24 Th Spring Break No Dis Buffer Week Homework 8, cont
10 03/29 Tu Inner products and Orthogonality (Video)(Notes) Section 9A:
Buffer Week Homework 9
03/31 Th Correlations (Video)(Notes) Section 9B:
11 04/05 Tu Triangulation (Video)(Notes) Section 10A:
Locationing Lab 1: Cross Correlation Homework 10
04/07 Th Least Squares (Video) Section 10B:
12 04/12 Tu Orthogonal Matching Pursuit (Video)(Notes) Section 11A:
Locationing Lab 2: Computing Distances Homework 11
04/14 Th Speeding up OMP (Video)(Notes) Section 11B:
13 04/19 Tu PageRank (Video)(Notes) Section 12A:
Locationing Lab 3: Finding Locations with Least Squares Homework 12
04/21 Th Determinants (Video) Section 12B:
14 04/26 Tu PageRank (cont) (Video) Section 13A:
Buffer Week Homework 13
04/28 Th Diagonalization (Video)(Notes) Section 13B:
14 05/03 Tu Review Lecture(Video) No dis Buffer Week No Homework
05/05 Th Review Lecture (Video) No dis

Weekly Schedule

Course Staff


Elad Alon

Babak Ayazifar


Reia Cho
Head Admin & Lab TA
Akshay Pattabi
Lab TA
Andy Wang
Lab TA
Andy Zhang
Discussion TA
Ankit Mathur
Lab TA
Beliz Gunel
Discussion TA
Bob Zhou
Chuang Qian
Lab TA
CJ Geering
Lab TA
Eddie Groshev
Discussion TA
Ena Hariyoshi
Discussion TA
Gregg Scrantron
Discussion & Content TA
Harrison Rosenberg
Content TA
Hongling Lu
Lab TA
Jennifer Shih
Content TA
Kyungna Kim
Lab TA
Leah Dickstein
Discussion & Content TA
Lydia Lee
Discussion TA
Mostafa Rohaninejad
Discussion TA
Nandish Mehta
Discussion & ContentTA
Nikhil Mishra
Lab TA
Ori Hoxha
Discussion TA
Primus Lam
Web TA
Quincy Huynh
Lab TA
Rachel Zhang
Yuxuan (Andrew) Liu
Lab TA

Please add to the end of all emails


Piazza (Ask Questions Here)

Recommended Text

  • Linear Algebra by Lipschutz, Seymour and Lipson, Marc, Schaum's Outlines, 5th Ed.
  • Electric Circuits by Nahvi, Mahmood and Edminister, Joseph, Schaum's Outlines, 6th Ed.

Additional Reader Text

Setting up How-To's


Course Info

The EECS 16 series (Designing Information Devices and Systems) is a pair of freshman-level 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 exemplar application domains. Students should always understand why you are learning something. This first course focuses on modeling as abstraction -- a way to see the important underlying structure in a problem -- and introduces the basics of linear modeling, largely from a "static" and deterministic point of view. The next course deepens the understanding of linear modeling and introduces dynamics and control along with different applications. Finally, EECS 70 (which can be thought of as the third course in this sequence --- except without any labs), introduces more discrete structures for modeling problems as well as bringing in probability.

In EECS 16A in particular, we are going to use the application domains of imaging and tomography, 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. Our emphasis will be on modeling and using linear structure to solve problems, not on how to do computations. We will learn about linear circuits not just 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 very 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

  • Homework: 15%
  • Labs: 15%
  • Midterms: 30%
  • Final: 30%
  • Participation: 10%

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 Tuesdays at noon. 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 noon 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 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 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 inputs. (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 EE16a Piazza page frequently throughout the term. (You should already have access to the EE16A Spring 2016 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 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.