EE 16A | Designing Information Devices and Systems I

Fall 2015


Wk Date Lecture Topic Section Lab Homework
0 08/27 Th Introduction to Class: Welcome to EE16A!
(Slides 1)(Slides 2)
Section 0
Installation Guide
Lab 0: iPython Notebook Tutorial Homework 0
1 09/01 Tu Introduction to Imaging and Tomography
(Slides 1)
Section 1A:
Lab 0.9: Equipment Overview Homework 1
09/03 Th Vector and Matrices, Pt 1 Section 1B:
2 09/08 Tu Vector and Matrices, Pt 2 Section 2A:
Imaging Lab 1: Building a Light Sensor Homework 2
09/10 Th Vector and Matrices, Pt 3 Section 2B:
3 09/15 Tu Graphs and Flows Section 3A:
Lecture Review (no worksheet)
Imaging Lab 2: Single Pixel Scanning Homework 3
09/17 Th PageRank and Eigenvalues/Eigenvectors, Pt 1 Section 3B:

Midterm on Wed 9/23 (8-10PM)
09/22 Tu Pagerank and Eigenvalues/Eigenvectors, Pt 2 Section 4A:
Midterm review (no worksheet)
Imaging Lab 3: Multi-Pixel Scanning Homework 4
09/24 Th Review Section 4B:
5 09/29 Tu Introduction to Circuits Module; Q, I, V, E, P Section 5A:
Buffer Week Homework 5
10/01 Th Sources; Conductors; Ohm's Law; Power Section 5B:
6 10/06 Tu KCL/KVL and Voltage/Current Dividers Section 6A:
Touch Screen Lab 1: LED Fader and Resistive Touch Screen Homework 6
10/08 Th Norton/Thevenin Equivalence and Superposition Section 6B:
7 10/13 Tu Capacitance Section 7A:
Touch Screen Lab 2: Capacitive Touch Screen Homework 7
10/15 Th Resistance Touch Screens Section 7B:
8 10/20 Tu Capacitnce Touch Screens; Amplifiers Section 8A:
Touch Screen: Lab 2 Continued Homework 8
10/22 Th Op-Amps and Feedback Section 8B:
9 10/27 Tu Op-Amp Circuits Section 9A:
Locationing Lab 1: Cross Correlation Homework 9
10/29 Th Op-Amp Examples Section 9B:
10 11/03 Tu Correlation and Optimization Section 10A:
Locationing Lab 2: Computing Distances Homework 10
11/05 Th Least Squares Section 10B:
11 11/10 Tu CDMA; OMP Algorithm Section 11A:
Locationing Lab 3: Finding Locations with Least Squares
Homework 11
11/12 Th OMP Algorithm; Gram-Schmidt Section 11B:
Midterm on Wed 11/18 (8-10PM)
11/17 Tu Gram-Schmidt vs. Gaussian Elim., Circuis Review: Digital-to-Analog Converters Section 12A:
Buffer Week Homework 12
11/19 Th Basis and Diagonalization Section 12B:
13 11/24 Tu Wireless Communications Section 13A:
Buffer Week Homework 13
14 12/01 Tu Frequency Domain, Pt. 1 Section 14A:
Wireless Lab: Exploring Frequency Domain
Homework 14
12/03 Th Frequency Domain, Pt. 2 Section 14B:

Weekly Schedule

Course Staff


Anant Sahai

Ali Niknejad


Claire Lochner
Head Administrative TA
Adrien Pierre
Lab TA
Chenyang Yuan
Discussion TA
CJ Geering
Lab TA
Daniel Aranki
Discussion TA
Dan Calderone
Discussion TA
Eddie Groshev
Discussion TA
Ena Hariyoshi
Discussion TA
Filip Maksimovic
Discussion/Lab TA
Jaeduk Han
Lab TA
Jennifer Shih
Discussion TA
Joe Corea
Lab TA
Joey Greenspun
Lab TA
Kene Akametalu
Discussion TA
Leah Dickstein
Disussion TA
Orhan Ocal
Lab TA
Paul Rigge
Disussion TA
Preetum Nakkiran
Discussion TA
Reia Cho
Lab TA
Stella Walla
Discussion TA
Vidya Muthukumar
Disussion 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

Youtube Channel

  • LIVE VIDEO will be available 5 min before lecture.
  • Policies

    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, GPS and localization, and wireless communication 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 Mondays 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 Thursday 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.

    JJust 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 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 EE16a Piazza page frequently throughout the term. (You should already have access to the EE16a Spring 2015 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.