EECS16A, Designing Information Devices and Systems I

Fall 2020

Progress Tracker

To help you stay on track in this course, we have designed an optional 16A Progress Tracker , which maps out all the semester's required course assignments. It is completely self-guided, and we hope it helps you keep track of your progress in 16A! To make a personal copy of the Fall 2020 16A Progress Tracker, click here .

Scheduling Updates

If there are any special events to note, or deviations from the schedule as listed below, they'll be noted here!

8/26/2020: Lecture information: Lecture will be held through a Zoom livestream. This will be recorded and linked below as soon as possible each Tuesday and Thursday. The password for lecture (and other) recordings is 16a .

Lectures: T/Th 12:30-2:00 PM PST, Lecture Zoom Link , Meeting ID: 939 6210 1326

8/26/2020: The Discussion Schedule has been released below . Please be sure to see the table and also the important information under it. There are sections at a wide range of times, with different emphases and styles; feel free to check out several and see which works best for you. Also, for many popular time slots, there are multiple sections at the same time to offer choices.

copied password to clipboard!
changed site font!


The schedule below is subject to change; for deviations from the schedule, see above.
(Please scroll horizontally if you're viewing this on your phone.)

Week Date Lecture Topic Section Lab Homework
08/27 Th Overview, Introduction to Imaging No Lab

09/01 Tu Systems of Linear Equations and Gaussian Elimination Section 1A (Mon)
iPython Bootcamp
Homework 1
(Due 09/04 Fr)

Practice Sets
Practice Set 0
Practice Set 1
09/03 Th More Gaussian Elimination, Matrix Vector Multiplication Section 1B (Wed)
09/08 Tu Introduction to Proofs, Span, Linear Dependence and Independence No Lab
Homework 2
(Due 09/11 Fr)

Practice Sets
Practice Set 2
09/10 Th Linear Transformations, Matrix-Matrix Multiplication Section 2B (Wed)
09/15 Tu Inversion Section 3A (Mon)
Imaging I
Homework 3
(Due 09/18 Fr)

Practice Sets
Practice Set 3
09/17 Th Vector Spaces: Null-spaces and Column-spaces Section 3B (Wed)
09/22 Tu Page Rank, Eigenvalues and Eigenspaces Section 4A (Mon)
Imaging II
Homework 4
(Due 09/25 Fr)

Practice Sets
Practice Set 4
09/24 Th More Eigenvalues and Eigenspaces Section 4B (Wed)
09/29 Tu More Eigenvalues and Eigenspaces Cont. Section 5A (Mon)
Imaging III
Homework 5
(Due 10/02 Fr)

Practice Sets
Practice Set 5
10/01 Th Intro to Circuit Analysis Section 5B (Wed)
MT1, Oct 5, 7-9 PM PST
10/06 Tu Introduction to Modeling with Circuit Elements Section 6A (Mon)
Buffer (Imaging I/II/III)
Homework 6
(Due 10/09 Fr)

Practice Sets
Practice Set 6
10/08 Th Power and Voltage/Current Measurement Section 6B (Wed)
10/13 Tu 2D Touchscreen Section 7A (Mon)
Touch I (+ Breadboarding Bootcamp)
Homework 7
(Due 10/16 Fr)

Practice Sets
Practice Set 7
10/15 Th Superposition and Equivalence Section 7B (Wed)
10/20 Tu Introduction to Capacitive Touchscreen Section 8A (Mon)
Touch II
Homework 8
(Due 10/23 Fr)

Practice Sets
Practice Set 8
10/22 Th Capacitance modeling and measurement Section 8B (Wed)
10/27 Tu Op-amps and Negative Feedback Section 9A (Mon)
Touch III
Homework 9
(Due 10/30 Fr)

Practice Sets
Practice Set 9
10/29 Th Op-amp Circuit Analysis Section 9B (Wed)
MT2, Nov. 2, 7-9 PM PST
11/03 Tu Design Procedure and Design Examples Section 10A (Mon)
Buffer (Touch I/II/III)
Homework 10
(Due 11/06 Fr)

11/05 Th Design Examples Section 10B (Wed)
11/10 Tu Introduction to the locationing (GPS) lab. ML problem 1: Classification Section 11A (Mon)
No Lab
Homework 11
(Due 11/13 Fr)

Practice Sets
Practice Set 10
11/12 Th ML problem 2: Estimating the propagation delays Section 11B (Wed)
11/17 Tu ML problem 3: Fitting data using Least Squares Section 12A (Mon)
Homework 12
(Due 11/20 Fr)

Practice Sets
Practice Set 11
11/19 Th ML problem 4: Prediction. Least squares continued Section 12B (Wed)
11/24 Tu Greedy algorithms for machine learning Section 13A (Mon)
No Lab (Thanksgiving)

11/26 Th No Class (Thanksgiving) No Section (Thanksgiving)
12/01 Tu Machine Learning continued Section 14A (Mon)
Homework 13
(Due 12/04 Fr)

12/03 Th More Machine Learning Section 14B (Wed)
Final, Dec. 18, 8-11 AM PST
12/08 Tu RRR Week Buffer (APS I/II)

12/10 Th RRR Week

Calendars (Still in Progress for Fa20)

If nothing shows up below, or you get a message indicating some kind of refused connection from Google, please ensure that you're signed into your email address.

Discussion Schedule

Please note the important information below the table. The set of ASEs assisting with a given discussion (if any) is given by the bulleted list.

Discussion Schedule
Time (Mon/Wed) Group Section 1 Group Section 2 Individual Worktime Lecture Style
8am-9am Sashank K.
9am-10am Neelesh R.
  • Anjali T.
  • Arnav G.
  • Samyukta S.
10am-11am Kristina M.
  • Jaiveer S.
  • Abishek S.
  • Srinivasan M.
Varun M.
  • Anjali T.
11am-12pm Austin P.
  • Ethan G.
  • Alina T.
  • Aniruddh K.
Ava T.
12pm-1pm Ashwin R. (Mon), Dahlia S. (Wed)
  • Luke L.
  • Kyle L.
  • Dylan B.
Miyuki W.
  • Aayush S.
  • Kiriaki F.
  • Marco G.
1pm-2pm Michelle M. (Mon), Wendy L. (Wed)
  • Vincent C.
  • Kyle L.
  • Srinivasan M.
  • Anusha S.
Ashwin R. (Mon), Dahlia S. (Wed)
  • Kiriaki F.
Moses W.
[Freshman] [RECORDED]
2pm-3pm Tsegereda E.
  • Dylan B.
  • Neeraj S.
  • Richard L.
Michelle M. (Mon), Wendy L. (Wed)
  • Jamie H.
  • Alicia M.
  • Mohsin S.
3pm-4pm Miyuki W.
  • Mohsin S.
  • Aniruddh K.
  • Vincent C.
  • Rajamani I.
Daniel A.
  • Alicia M.
  • Aidan H.
  • Neeraj S.
4pm-5pm Sumer K.
[Lin. Alg. Experience]
  • Jenny W.
5pm-6pm Tyler R.
[Freshman] [RECORDED]
  • Alina T.

Note: Monday and Wednesday discussion sections cover different material, and you are very strongly encouraged to go to a discussion both days. Scroll horizontally to view entire table, and see below for critical information on how to read the table.

To account for different learning styles, there will be 3 different styles of discussion sections.

  • The first set of sections are “Group Sections" (blue) . These discussion sections will be staffed with a TA and many ASEs, and students will be given a chance to work with each other in breakout rooms.
  • The second type of sections are "Individual Worktime" (green) , which are more oriented toward individual work and are intended for students who prefer working solo and not in groups. Here, the TA will give you time to work on the problem on your own and then discuss the answer.
  • The last type of section (similar to the second type) is "Lecture Style" (purple) . There may be slightly less time for individual work on the problems in the Lecture Style sessions, but TAs will be there to answer questions in all sessions.

Furthermore note the following; despite the bold labels in some sections, all sections are open to all. However, to facilitate similar groups of students getting to know each other, we have designated sections according to categories. Freshman section or Freshman/Sophomore sections are intended for these specific years of students. Transfer sections are intended for Transfer students. The Linear Algebra experience section is intended for upper division students who might have some prior linear algebra experience. Again, all sections are open to all.


Piazza (Ask Questions Here)

Homework Practice Problems

Textbook: Condensed Note Content Summaries and Practice Problem Solutions

A brief guide on using this resource from the semester it was released: There is now a new resource available to help you study! This book consists of condensed sets of notes that summarize the important material from the course notes, as well as detailed solutions for the online Practice Problems! Here's the entire book and the Table of Contents. Individual chapters of the book (notes and solutions by practice set) can be found here (the links aren't perfect, you may need to scroll a tiny bit down for some chapters). A couple brief comments on using this resource:

  1. I recommend skimming the Introductory Chapter and the Conventions Chapter. These will provide some useful tips to keep in mind.
  2. Each chapter has a Relevant Information section and a Problems section. The first contains a (generally complete) summary of the corresponding content from the notes. The second contains the detailed solutions mentioned above.
  3. This is a new resource, and may well have errors or areas to improve in; if you spot something wrong and would like to mention it, or have feedback of any kind, please submit a feedback ticket.

Technology Needs (STEP)

Student Technology Equity Program (STEP). STEP provides laptops and other technologies for free and is for undergraduate, graduate, and professional students. It requires just a simple online application form. For details, see here.

Recommended Texts

Circuit Cookbooks

Extra Resources

Setting up How-To's

Past Exams

Past exams vary in scope from semester to semester, and may include topics that are not in scope for the current semester or module. Unavailable exams are indicated by N/A. In-scope topics for the current semester will be posted on Piazza about a week before the corresponding exam.

Semester Midterm 1 Midterm 2 Final
su20 pdf, sol pdf, sol sol
sp20 pdf, sol pdf, sol pdf, sol
fa19 pdf, sol pdf, sol pdf, sol
sp19 pdf, sol pdf, sol pdf, sol
fa18 pdf, sol pdf, sol sol
sp18 pdf, sol pdf, sol pdf
fa17 pdf, sol pdf, sol sol
su17 pdf, sol pdf, sol N/A
sp17 pdf, sol pdf, sol N/A
fa16 pdf, sol pdf, sol pdf, sol
sp16 pdf, sol pdf, sol pdf, sol
fa15 pdf, sol pdf, sol pdf, sol
sp15 pdf, sol pdf, sol pdf, sol

Practice Sets: Links to Notes and Solutions

It is very strongly recommend that you try the problems themselves here before looking at the solutions below. The links for solutions are not perfect, so you may need to scroll to the bottom of the linked page to find them. Give feedback here.

**Please note that chapter 4B should be considered largely out of scope for Fa20. For details, consult the course notes, Piazza, or a TA.

Module 1** Module 2 Module 3
Practice Set 0: Notes, Sols
Practice Set 1: Notes, Sols
Practice Set 2: Notes, Sols
Practice Set 3: Notes, Sols
Practice Set 4: Notes, Sols
Practice Set 5: Notes, Sols
Practice Set 6: Notes, Sols
Practice Set 7: Notes, Sols
Practice Set 8: Notes, Sols
Practice Set 9: Notes, Sols
Practice Set 10: Notes, Sols
Practice Set 11: Notes, Sols

Course Staff

Please add to the end of all emails!


Gireeja Ranade


I'm a third-year EECS major currently conducting research in power electronics. My favorite part of 16A is the circuits module: I find the creative aspect of circuit design to be quite rewarding, and the hands-on lab work is super fun. Outside of academics, I love outdoor adventures (particularly aquatic ones), classical music, and cooking.

Amanda Jackson
Head / Lab

Hi! My name is Anika. I am a 3rd year studying Industrial Engineering and Operations Research (IEOR for short) which is all about optimization and efficiency (i.e. making the world as lazy as I am)! This is my fourth semester on course staff for EECS 16A. I love this class because it helps bring fundamental concepts to life through an application focus. Outside of academics, I love to spend time with friends and watch netflix (always looking for good recommendations!). I am also a dancer and enjoy karaoke-ing disney songs. I look forward to this semester and I hope to help make this class a great experience for each and every one of you. Welcome to EECS 16A!

Anika Ramachandran
Head / Dis
eecs16a@, anikar@

Hi! I'm a transfer student finishing up my last semester here at Berkeley. I enjoy graphic design, wikipedia diving, learning and teaching, control systems, and I also occasionally make jewelry. Excited to meet you!

Moses Won
Admin / Content / Dis

Hi I’m Dahlia, and I’m currently a sophomore in EECS. My technical interests include machine learning and control systems, but I spend most of my free time walking around Berkeley or rewatching season 3 of Riverdale.

Dahlia Saba
HW Management / Dis

Hi everyone! I'm a second year EECS student. I'm excited to work on the 16A software team this year to make sure the class runs smoothly for you all. On campus I participate in micro-robotics research, and in my free time I enjoy running!

Austin Patel
Software / Dis

Hello! I'm Neelesh, a 3rd year EECS undergraduate interested in hardware (devices and circuits). This is my 4th time as a TA for EECS 16A, and I'll be teaching a discussion and working on software. I enjoy studying analog/digital circuit design, have worked with PCBs in my projects before, and I'm doing some device design research as well. I'm excited for everyone to learn as much as they can from this course!

Neelesh Ramachandran
Software / Dis

Hey everyone! I'm a 3rd year EECS major who loves systems/distributed programming, AI/ML, and cybersecurity. 16A is a system design course first and foremost, which is what's so fun about helping teach it! In my free time, I love developing side projects (check out if you get the chance!). Also, reach out to me for fun quarantine game ideas!

Sumer Kohli
Software / Dis

Hello! I’m a sophomore studying Computer Science as an excuse to start the robot uprising. Currently, I’m researching how to teach robots to walk upright and push blocks on a table with machine learning (read: linear algebra). When I get frustrated with their progress, I watch Korean movies, write about philosophy, appreciate wordplay in books and puzzles, and reminisce about how cool least squares is.

Ashwin Reddy

Hi! I am a 4th year EECS transfer with interests in robotics, embedded systems, and signal processing. When I am not EECS-ing away, I love hiking, video games, long-boarding, and herpetology. 16A was one of my favorite classes. If you don't feel the same, let me know ASAP and we can fix that.

Daniel Abraham

I'm a 5th year PhD student working on computational imaging and machine learning. For fun, I used to be an avid tango dancer (pre-pandemic), but now I've taken up gardening and urban hiking.

Kristina Monakhova

Hi, I'm a senior (potentially graduating this Fall!) that spends most of their time on developing the student-teaching community at Cal. I led CSM EECS16A before becoming the President of CSM this year. I love teaching because of how much I end up learning from my students. When I'm not on campus, you can find me bouldering, biking around, or snowboarding in Tahoe.

Michelle Mao

I am a 5th year masters student in mechanical engineering and I love to design and manufacture things. I am sad that I won't be able to use the makerspace this semester so I am trying to build my own 3D printer. I really like 16A because you get to learn some of the cool applications of linear algebra that you couldn't in a normal math class.

Miyuki Weldon

I am a 4th year Ph.D. student in EECS Department. My research focuses on low power electronics. I specifically work on energy-efficient Micro-electro-mechanical switches (MEMs) and possibly use them for flash memory applications. I am an active member of WICSE and BGESS. I enjoy cooking, traveling, hiking. And I'm so excited about being 16A discussion GSI!!!

Tsegereda Esatu

I am a junior, majoring in Physics, Computer Science, and Applied Mathematics. My primary technical interests and areas of research activity are in Condensed Matter Physics and Quantum Information theory. I am particularly interested in the application of Quantum algorithms to Optimization and Machine learning problems. Outside academia, I participate in British parliamentary debate with the Debate Society of Berkeley. My favourite things to do in Berkeley in my spare time are to go on long bike rides and to hike the fire trails. I think that EECS16A is a uniquely foundational class, as it teaches immensely useful fundamental ideas in linear systems theory that are used virtually everywhere in the physical sciences and in engineering, at every level of complexity. I particularly enjoyed that the class exemplifies how a small but powerful set of mathematical tools and hardware abstractions can be used to design notably sophisticated systems.

Varun Menon

Salutations! I'm Aster, a third-year double majoring in Computer Science & Classical Languages (Latin and Greek). In my free time, I like practicing wushu (martial arts), reading novels, watching dramas, and writing stories :) My most recent obsession is MDZS/The Untamed. Feel free to talk to me any time or send me your favorite book recs!

Aster Guan

My name is Dixun and I'm a mechanical engineering major from Toronto, Ontario, Canada, North America, Earth. I'm a die hard Toronto Maple Leafs fan and I also like playing and losing chess games, severely undercooking my steaks, losing money on put options, and jogging 1 mile once a week for exercise.

Dixun Cui

Hi! I'm Jianshu, a 5th Year EECS M.S. student. I'm from Southern California, and my pronouns are he/him/his. This will be my 4th time teaching EECS 16A. I like cooking, eating and travelling. Feel free to talk to me about anything!

Jianshu Chi

Upstanding reformed former premed seeking redemption in the church of eecs. Will take bribes if they consist of sufficient monetary value or boba with adequate sugar levels.

Jeff Chen

Hi folks! I'm Lily, and in my spare time, I do research at CLTC, (try to) build mobile apps, and search for the most delicious way to cook cremini mushrooms. 16A was my favorite class during my first semester here, and I look forward to working with you to make lab as streamlined and fun as it can be.

Lily Bhattacharjee

Hello! I am a senior in EECS. My favourite part of 16A were the labs, so I hope you will enjoy them too! My research involves developing a model to predict wildfire ignitions due to electric grid infrastructure in California. In my spare time I enjoy tennis, drinking tea and (recently) doing DIY crafts during shelter-in-place.

Meghana Bharadwaj

Rohan Sood

Hi! I'm Raghav, a sophomore in the EECS major. I am really interested in Machine Learning, Quantum Computing and Control Systems (so far :). I'm part of Prof. Brian Barsky's research group on Assistive Technology for the Differently Abled that includes working with Computer Vision and Machine Learning. 16A is one of the best classes I've taken at Berkeley so far because of the unique perspective it gives one on solving real world problems with the simplicity of linear algebra. I'm very passionate about aviation, technology, soccer and F1. I love traveling, hiking and endurance running and cycling.

Raghav Gupta

Hello! I'm Teresa and I'm a fourth year studying Bioengineering and EECS. My interests are in biotech and accessible/assistive technologies, and in my free time I love creating in the Jacobs Makerspace and using our free Photoshop accounts to make memes. 16A holds a special place in my heart because it was the first time I was able translate classroom concepts to hands-on projects, so I'm super excited to be helping you all out in labs. Looking forward to an awesome semester!

Teresa Yang

I'm a third years EECS major interested in embedded systems and aerospace. I like 16A because it provides a foundation in linear algebra and circuits with fun and interesting labs. Outside of school I enjoy playing tennis, video games, and hiking.

Vidish Gupta

I am a PhD candidate in EECS advised by Sayeef Salahuddin. My research interests span the development of emerging nonvolatile memories based on ferroelectric hafnium oxide and their applications in the neuromorphic/brain-inspired computing space. In my off time I enjoy weightlifting at the RSF, hiking, testing new dessert recipes, and producing music.

Ava Tan
Content / Dis

Christos Adamopoulos

I grew up in Athens, Greece where I did my undergrad in NTUA, majoring in EECS. My research interests include analog mixed-signal IC design for biomedical imaging applications, currently focusing on ultrasonic sensors. When I am not teaching 16A or doing research I will most likely be playing chess or basketball.

Panos Zarkos

I'm a final semester PhD student in EECS. I conduct research in RF/mm-wave/analog/high-speed digital ic design with special focus on building interference resilient CMOS receivers for next generation radios.

Sashank Krishnamurthy
Content / Dis

I am a physics and electrical engineering PhD student who conducts research in Computational physics and atomic modeling. I really enjoy studying quantum physics, but when I’m not working I like soccer, hiking, surfing, climbing, and anything really that’s gets you moving and filled with adrenaline!

Tyler Reichanadter
Content / Dis

I'm doing research on energy-efficient devices for Internet of Things applications for my PhD. The most fulfilling part of my research is to finally see the devices work that I designed and fabricated. I work on nano-electro-mechanical devices, so I'm fascinated by tiny things that move. This is also evident from my interest in photographing bugs and butterflies! I have been part of EECS 16A staff for four semesters and I love the diligent effort the staff constantly puts in to improve the course material and learning environment.

Urmita Sikder

I am a PhD student working on learning for vision-based control in the realm of automated driving. I like the wide breadth and exposure that 16A gives you to interesting real-world applications in EECS.

Vijay Govindarajan

I'm a PhD student in the EECS department. My research interests lie broadly in modeling, optimization, control, and their applications to smart buildings. In my free time, I enjoy running, hiking, reading, and watching anime.

Wendy Lin
Content / Dis


For a full list of course policies and the syllabus, see here.


EECS 16AB Course Coverage

EECS16AB was specially designed to ramp students up to prepare for courses in machine learning and design and are important classes to set the stage for the rest of your time in the department. A rough breakdown of the content in the classes is as follows:

Module 1: Introduction to systems and linear algebra
Module 2: Introduction to design and circuit analysis
Module 3: Introduction to machine learning

Module 1: Differential equations and advanced circuit design
Module 2: Introduction to robotics and control
Module 3: Introduction to unsupervised machine learning and classification


Q1: Should I take EECS16A my first semester at Cal?

A1: If you have taken an AP calculus class, then the answer is yes! EECS16A has no prerequisites other than calculus and is designed with freshmen and incoming transfer students in mind. It is designed to be taken alongside 61A. Furthermore, we reserve seats for freshmen and incoming transfer students in the class, so you are essentially guaranteed a spot in the class your first year. It will be harder to get into the class as an upperclassman.

Q2: Should I take EECS 16A and EECS 16B before or after CS 70?

A2: EECS16A and 16B were specifically designed to help ease the transition to CS70 for incoming students. These classes provide an introduction to proofs and the kind of mathematical thinking that is very useful in a class like CS70. We recommend you take 16AB before taking CS70, this should help you have an easier time in CS 70.

Q3: Should I take MATH 54 before taking EECS16A?

A3: EECS 16A is designed to be taken without any prerequisites, so there is no need to take MATH 54 before EECS 16A. EECS 16AB teaches linear algebra with the intent of preparing you for courses like EECS 127 (Optimization) and EECS 189 (Machine Learning) and provides engineering and machine learning examples and applications for linear algebra. EECS 16AB also uses Jupyter notebooks and python so you can better connect linear algebra and computation.

Aesthetics and Feedback

You can optionally toggle between the 16 Series legacy font (Roboto) and the default font (Raleway) for this website. If you have other suggestions for this website, feel free to let the software TAs know here.