EECS16A, Designing Information Devices and Systems I

Fall 2023

Scheduling Updates

08/19/23: We are currently still updating the website for Fall 2023 and the information reflected may be out of date.

copied password to clipboard!
changed site font!


Lecture videos can be found in the bcourses media gallery

(Please scroll horizontally if you're viewing this on your phone.)


Homework party is held in the Wozniak Lounge and in-person office hours are held in Cory 144MA. The queue for office hours is at

Discussion Schedule

Monday and Wednesday discussion sections cover different material, and you are very strongly encouraged to go to a discussion both days.

Some discussion sections are tailored to certain groups. Feel free to attend these even if you do not identify with the group!

  • Regular (light blue)
  • Transfer (dark blue)
  • Underrepresented in CS/EECS (purple-pink)
  • Previous Linear Algebra Experience (orange)
  • First-Year (red)
  • Extended (yellow)


Ed (Ask Questions Here)

Homework Practice Problems

Textbook: Condensed Note Content Summaries and Practice Problem Solutions

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 Ed about a week before the corresponding exam.

Semester Midterm 1 Midterm 2 Final
sp23 pdf, sol pdf, sol N/A
fa22 pdf, sol pdf, sol pdf, sol
sp22 pdf, sol pdf, sol pdf, sol
fa21 pdf, sol pdf, sol pdf, sol
sp21 pdf, sol pdf, sol pdf, sol
fa20 pdf, sol pdf, sol pdf, sol
su20 pdf, sol pdf, sol pdf, 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 pdf, sol
sp18 pdf, sol pdf, sol pdf, sol
fa17 pdf, sol pdf, sol pdf, 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.

Course Staff

Please add to the end of all emails!

We also have 2 special emails for various purposes. Where applicable, please use these emails so that all relevant course staff can view the message. Note that we prefer for technical or content questions to go on Ed!

  • eecs16a.lab@: for any lab-related questions or concerns
  • eecs16a@: for anything else (including exam-related/administrative questions or concerns)


Gireeja Ranade


Course Staff

Hey everyone! I’m Anish! I’m a third-year EECS major from Tampa, Florida. This is my fourth time on staff, and I’m super excited to serve as a Head TA for 16A this semester and contribute to making this course a great experience for you all! I thoroughly enjoyed the content in 16A and hope you find appreciation for it as well! Outside the classroom, I enjoy hanging out with friends, hiking around Berkeley’s beautiful campus, listening to music, and traveling. My technical interests include robotics, machine learning, and chip design. Feel free to reach out to me about anything - I’d love to chat!

Anish Dhanashekar
Head TA
eecs16a@, aeroanish@

Hi, it’s Vivian! I’m a junior majoring in EECS and Business, originally from San Diego, CA. I'm currently exploring applications of AI/ML and tech in business. In my free time, I enjoy traveling, reading, eating (very) spicy food, and drinking matcha. Through linear algebra and circuit design, 16A showed me the power of mathematical tools and models in real world applications, and it's my mission to make 16A as rewarding and enriching for you as it was for me!

Vivian Wu
Head TA
eecs16a@, vivianwuc25@

Hi! My name is Kanav, and I'm a third-year EECS major. I loved taking 16A because it showed me how to model and interact with the real world using linear algebra and circuits. On campus, I'm involved with computational genomics research. In my free time, you can find me running the Fire Trails, watching sitcoms, or listening to all of Taylor Swift's albums. I look forward to meeting all of you!

Kanav Mittal
Head TA
eecs16a@, kanavmittal@

Hi everyone! My name is Anastasia, and I also go by Nastia. I am a transfer super senior majoring in EECS and minoring in Political Economy. My technical interests include quantum information science, quantum materials, and circuit design. In my free time, I enjoy working out, dancing, and traveling. I love 16A because it gives fundamental knowledge of linear algebra and circuitry through real-life applicable examples. I look forward to seeing everyone in the lab, and I hope you enjoy the labs as much as I do!

Anastasia Simonova
Head Lab
eecs16a.lab@, asimonova@

Hi everyone! I’m an EECS major, and this will be my fourth semester on 16A course staff. I really enjoyed lab when I took this class, and I hope to provide a similar experience for you all. Outside of the classroom, I enjoy watching TV shows, drinking boba, and have recently been delving back into the fiber arts. I hope you’ll enjoy your time in this course, and feel free to reach out to me!

Carol Li
Head Lab

Hello! My name is Aniruddh, and I'm a 5th Year M.S. student in Materials Science from sunny San Diego! I was in your shoes just a few years ago, and graduated this spring! This is my fourth year on staff 🤩, and every semester has been better than the last! In my free time, I enjoy cooking, reading, and going on hikes in the hills. Come talk to me if you're interested in learning about all the cool upper divs at Cal (EECS or otherwise), getting involved in research, or you're just bored :) Looking forward to another amazing semester!

Aniruddh Khanwale
Lab TA + Admin

Hi! I'm Sunash, a 3rd year EECS PhD student studying modeling, control, and optimization of electric power systems with lots of renewable resources. In my free time, I enjoy hiking, camping, and exploring new places.

Sunash Sharma

Hi! I am a graduate student in the EECS department, but I primarily work with the MCB department. My research interests include deep learning and microscopy. In my free time, I enjoy hiking and traveling around, reading books, and cooking. I am also into numismatics, and love collecting currencies of different countries. Feel free to reach out to me about anything!

Sayan Seal

Greetings! I'm Jiarui, a 3rd year Ph.D. student in Electrical Engineering, specializing in circuit design. My passions include computer hardware, driving, cycling, and I'm excited to engage with you all in class!

Jiarui Zou

Hello! I'm a 2nd year PhD student in Education. My research interests focus on how to ease the transition for first year students in EECS. I love to bake sourdough, run along the water, and going to Berkeley Bowl. Very excited to meet and learn with you all this semester!

Manooshree Patel

Hi! I'm Youbin and I'm a 6th year PhD student in EECS at Berkeley. I study digital integrated circuits with a focus on designing custom hardware to accelerate machine learning applications. This is my second semester as a GSI for this course, looking forward to meeting you all! Outside of research you can usually find me outdoors: skiing, hiking or playing tennis.

Youbin Kim

Hi, I’m Sabriya! I came to Berkeley from Purdue University, in my home state of Indiana (so you know I’m a fan of corny jokes!). I’m now a 3rd-year PhD student in Computer Science, and I work with Professor Niloufar Salehi, doing research at the intersection of Artificial Intelligence and Human-Computer Interaction. I’m passionate about improving AI systems to more effectively support underserved populations in socially impactful sectors like education and healthcare. I study how algorithmic systems impact these communities, and I work on building and testing AI tools to mitigate disparities. Outside of research, I love to read (usually with boba in hand), volunteer in the community, and hang out with my cat. This is my first time as a GSI, and I look forward to a great semester!

Sabriya Alam

Hello! My name is Jack, and I'm a rising junior majoring in CS. I'm passionate about building things, with my current technical interests being in signals, communication systems, embedded systems, and applications in art and music. I see computers as being the 'glue' that holds together the components of a technological solution to an interesting problem, which is why I chose to study them. I also like to play guitar, make things, and explore the outdoors in my free time. I often tell my students not to 'suffer in silence'; please don't hesitate to reach out to me in and outside of lab!

Jack Kang
Lab TA

Hi! I'm Lydia, a third year EECS major focusing on machine learning but also getting a minor in demography. I love 16A lab sections because of how fun the hands-on applications are, it's so cool to see a tangible use of the concepts we learn in class. In my free time I like playing board games, bullet journaling, biking, listening to podcasts, hitting the gym, and exploring museums. I'm excited to meet you all!

Lydia Ignatova
Lab TA

Hello! I'm Oscar, I am a third year physics and computer science student, originally from Mexico, but lived in the US for a very big chunk of my life. I like semiconductors, and other cool physics stuff like quantum computers. Outside of school, I like playing video games, hanging out with friends, and watching and playing sports mostly soccer and football. Looking forward to having a good time in lab!

Oscar Gallegos
Lab TA


Hey everyone! I'm Eric, a 3rd year CS student born and raised in San Diego. I like to play video games, but especially fighting games and Tetris. If you like either of those things, I'd love to talk with you about it! This is my first semester as a TA, and I hope I can show you all why lab is the absolute best part of 16A :)

Eric Garcia
Lab TA

Hi! I’m Nikhil and I’m a third year EECS major. Coincidentally this is also my third semester on course staff! My technical interests are low-level programming, computer architecture, and HV PCB design. In my freetime I read books, play board/card/video games, look at airplanes, and bicycle. I’m so excited to delve back into circuits and meet everyone in lab! Feel free to reach out about the course, about lab, or about anything else!

Nikhil Ograin
Lab TA

Hi! I'm a junior majoring in EECS. I loved taking 16A as a student and I hope you will too! In my free time, you can find me hiking, trying out new coffee shops, or listening to music. Feel free to reach out to me about anything :)

Amy Song
Office Hours Staff

Hi, everyone! I'm a 3rd year CS + DS double major from Seoul, South Korea. This is my 4th semester on 16A staff team. My technical interests include various aspects of hardware and software--from computer architecture to robotics & control. I like playing the piano in my free time unless I'm stuck in the library lol. Any recommendations for classical or new age piano pieces are always welcome! Looking forward to another amazing semester!

SooHyuk Cho
Office Hours Staff

Hi! My name is Divya and I'm a 2nd year EECS major from San Diego. In my free time, I like to run, play field hockey, and watch bad horror movies with my friends. 16A was one of my favorite classes last year, and I hope you'll enjoy it as well. Please don't hesitate to reach out if you have any questions!

Divya Ramesh
Office Hours Staff

Hi! My name is Thomas and I am a senior studying Computer Science and Applied Math from Portland, Oregon. In my free time I enjoy board games, watching an absurd amount of Youtube, and reading books. I love listening to indie, alternative and folk music but I'm always willing to try out new music. Feel free to talk to me about anything!

Thomas Chen
Office Hours Staff

¡Hola, hola! Welcome to Fall 2023's iteration of Defense Against the 16-Arts! My name is Alex, and I am here to aid you along every step of the way. Don't hesitate to reach out if you have any questions about course material, classes, research, or anything along those lines. If you need a break from 16A, we can talk about learning languages, traveling the globe, your favorite books, sports, and more! Looking forward to a wonderful semester with you, my friend!

Alex Sanchez
Office Hours Staff

Hi! I'm a second-year majoring in CS with an interest in most aspects of software engineering. I really enjoyed taking 16A as a student, and I hope you will too! In my free time, I like to read, (attempt to) crochet, and bake. Feel free to reach out to me about anything :)

Carolann Dong
Office Hours Staff

Hi everyone! I'm Kailash, a rising 2nd year studying EECS and physics. I’m interested in ML theory & hardware and condensed matter physics, and in my free time, I like to play music, read, and go on runs (in no particular direction). 16A was a great learning experience for me, so I'm excited to tutor this semester and meet you all!

Kailash Ranganathan
Office Hours Staff

Hi! I'm a second year EECS major and I'm interested in computer vision and robotics! I'm also super into basketball (Lakers ftw), anime, and Star Wars! May the force be with you, and Plus Ultra :)

Rohan Aanegola
Office Hours Staff

Hi, I'm Teja! I'm a third-year CS major, and this will be my first semester on 16A course staff. Since last spring I've been doing research in robotics and reinforcement learning. In my free time, I enjoy hiking, playing basketball, and watching anime. I really enjoyed 16A when I was a student, and I look forward to working with everyone!

Teja Kanthamneni
Office Hours Staff

Hi! I am Tvisha, a sophomore studying EECS. I am interested in machine learning and cloud computing for scaling applications. I love playing tennis, running, and going on hikes with my dog: ) I am very excited to help with EECS 16A this semester!

Tvisha Londhe
Office Hours Staff

I'm a junior studying EECS and chemistry. Aside from microelectronics and embedded systems, you can find me enjoying origami folding and tennis. Excited to meet you all this semester!

Alexander Di
Lab Staff

Hi All! I'm Alex, a rising sophomore from Sunnyvale majoring in IEOR and EECS. I like to code, analyze circuits, and play the piano. Looking forward to meeting you all!

Alex Um
Lab Staff

Hey everyone, I’m Ronit! I’m a second year EECS major from the Chicago suburbs, and this is my second year on course staff. My technical interests lie in computer architecture and chip design. I also love taekwondo and tennis. My favorite part of 16A are the hands-on applications you get to see in the labs!

Ronit Nagarapu
Lab Staff

Hey, everyone! I'm a third year studying Bioengineering and EECS with special interests in engineering phages, computational biology, and learning what the intersection of my majors can do. When I'm not explaining why the East Coast is superior, I enjoy reading memoirs, drinking non-coffee drinks at cafes, and crocheting.

Katie Sie
Lab Staff

Hi! I’m Jessica, a second-year computer science major from the Bay Area! You can usually find me reading, crocheting, playing snake, or binge-watching reality tv. I'm so excited to meet everyone this semester!

Jessica Ng
Lab Staff

Hi y'all! My name is Erik, and I'm a sophomore majoring in EECS. I'm passionate about building things with my hands, with my main technical interests being in robotics, automation, and embedded systems. I also like to play ultimate frisbee, binge watch TV shows/movies on 2x speed, and collect figurines. I love talking to people so if you ever see me around campus, feel free to say hi!

Erik Ma
Lab Staff

Hi there! I am a 3rd-year student majoring in Computer Science, minoring in Bioengineering, and doing brain research. When I'm not coding, you will find me playing FIFA, building cities, or feeding my cat.

Haojun Zhuang
Lab Staff

What's up. I'm Advay and I'm a sophomore studying EECS. This is my first semester on the 16A course staff. Labs are one of the best parts of 16A and I'm excited to be a part of helping you through that process. On the EE side of things, I'm interested in integrated circuits. Hit me up if you like rock/metal and would like to jam. Or if you have questions about the class.

Advay Ratan
Lab Staff

I am a junior studying computer science and applied math. I like to watch youtube and play games!

Henric Zhang
Lab Staff

4th year EECS major here! Currently speedrunning through Berkeley 😭

Min Son
Lab Staff

Hi! I'm Leo, a fourth-year BioE and EECS major from Vancouver, WA with a passion for biomimetic robotics and medical devices. My free time is usually filled with watching anime, biking, volleyball, and playing video games!

Leo Huang
Lab Staff

Hi! I'm Aditya, and I'm a third year EECS major. My technical interests include chip design, robotics, and signal processing. Outside of school, I enjoy hiking, going to the gym, cooking, and hanging out with friends. See you at lab!

Aditya Madaraju
Lab Staff

Hi everyone! My name is Arnav. I am a second year student studying EECS. I like traveling to cool new places, trying different cuisines, going on boba runs, playing frisbee, dancing, and baking. On the technical side, I like playing around with machine designs and fabricating with 3D printers along with exploring the intersection of robotics and AI. This is my first semester serving on course staff for EECS 16A, so I'm super excited to meet and guide all of you! Feel free to reach out with any questions about the course or life in general. I'm willing to help in any way possible to make your course experience both fun and enriching!

Arnav Dalal
Lab Staff

Hey everyone! I'm Andrew and I'm a 2nd year majoring in EECS & IEOR from Cupertino, CA. My technical interests include robotics, analytics, and a little bit of AI. I enjoy playing poker and watching football during my time away from academics. 16A labs were my favorite part of the course and I'm excited to contribute to your journey as well!

Andrew Song
Lab Staff

Hi! I’m Rohit and I’m a third year EECS major. This is also my third semester on course staff! I do research in digital hardware design (ASICs/FPGAs), computer architecture, FPGA-accelerated simulators, and developing tools for VLSI flow. I also enjoy writing software for system / network / low-level applications. In my free time, I play football (aka soccer), travel, hiking, etc. Excited to meet you all! Feel free to talk to me about 16A, my research, or about anything else!

Rohit Kanagal
Lab Staff

Hello! I'm Hiya, a second year EECS major. 16A's labs were one of my favorite parts of the course because of how exciting it is to apply the course's concepts in a hands-on setting, and I hope you will love them too! In my free time, I enjoy skiing, cooking, and art. I'm excited to meet you all, and please feel free to reach out for anything! :)

Hiya Shah
Lab Staff

Hi! My name is Ayesha and I'm a rising sophomore majoring in computer science and data science. My research interests include computational biology, machine learning, and quantitative finance. In my free time, I enjoy being outdoors, trying and cooking new foods, and playing poker.

Ayesha Mahfuz
Lab Staff

Hey! I am a second year studying EECS and Business. I’m interested in the intersections of my majors, such as product management, consulting, and software. In my free time, I like to work out, experiment in the kitchen, and explore new places! I really enjoyed the emphasis on application of content in EECS 16A, and I am sure you all will come to enjoy the class as well! :)

Shivanshi Tandon
Lab Staff

Hello! I'm a junior studying computer science and my interests are in embedded systems and virtualization. During my free time I enjoy swimming, playing underwater hockey, and going on trips. Hope you enjoy this class!

Justin Lee
Lab Staff

Hi! My name is Francesco. I am a rising junior majoring in EECS. I have loved FPV since I was a young kid, starting from the basics, like breaking my mom's favorite jar. I am now focusing my studies in Robotics really interest into control, specially for UAV applications.

Francesco Crivelli
Lab Staff


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.


If you have suggestions for this website or see problems, feel free to let the software TAs know here.