EECS16A, Designing Information Devices and Systems I
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.
If there are any special events to note, or deviations from the schedule as listed below, they'll be noted here!
10/5/2020: All information about the (completely optional) Practice Sets has been moved here to avoid confusion with the required HW. Good luck on today's midterm!
9/29/2020: CSM Materials are now available on the site! Click here to see a list of the materials that have been released by CSM so far, and a quick overview of the topics that each worksheet covers. We hope this helps with midterm preparation for next Monday!
9/1/2020: Discussion checkoff
links will be released weekly, starting today!
All links can be found in the schedule
below, and the most recent link will also be kept here for convenience.
8/31/2020: The first discussion sections are today! The meeting links for each section now and going forward can be found in the google calendar, Piazza, or hyperlinked in the table. Please note that the password for any cloud recordings for discussion (which will be added below at the end of each M/W) will be eecs16a! .
8/29/2020: 16A Study Group Formation: Please see the additional section added to the policies about Study Groups 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) meeting links is 16a .
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!
Please note that Youtube videos will require that you are signed into a berkeley.edu account. Otherwise, you'll see some indication of the video being private. The schedule below is subject to change; for deviations from the schedule, see above.
Note: Due to Zoom's password length constraints, the password for cloud recordings for discussion will be eecs16a! .
(Please scroll horizontally if you're viewing this on your phone.)
Introduction to the locationing (GPS) lab. ML problem 1: Classification
Section 11A (Mon)
(Due 11/13 Fr)
ML problem 2: Estimating the propagation delays
ML problem 3: Fitting data using Least Squares
Section 12A (Mon)
(Due 11/20 Fr)
ML problem 4: Prediction. Least squares continued
Section 12B (Wed)
Greedy algorithms for machine learning
Section 13A (Mon)
No Lab (Thanksgiving)
No Class (Thanksgiving)
No Section (Thanksgiving)
Machine Learning continued
Section 14A (Mon)
(Due 12/04 Fr)
More Machine Learning
Section 14B (Wed)
Final, Dec. 18, 8-11 AM PST
Buffer (APS I/II)
Grey notes are *still relevant material* for the course! They simply have not yet been covered in lecture. Blue notes have been covered in lecture. Notes with an [updated] tag to their left have been changed since last semester's iteration. Be aware that the un-updated notes are subject to change.
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 berkeley.edu email address (Google account). If that still doesn't work, try a different browser, or perhaps incognito mode (which will force you to re-log into your berkeley.edu Google account.)
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.
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.
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:
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.
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.
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.
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.
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.
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!
Head / Dis
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!
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.
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!
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!
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 http://symbolic-differentiator.web.app if you get the chance!). Also, reach out to me for fun quarantine game ideas!
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.
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.
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.
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.
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.
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!!!
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.
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!
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.
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!
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.
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.
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.
Hi, I’m a 3rd year EECS major and I’m interested in the applications of machine learning and neural networks in autonomous driving and quantitative finance. Having grown up in Abu Dhabi, I love cold places. Talk to me about the IPL, cricket in general, and any of my academic interests. I wish you a great semester ahead!
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.
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!
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.
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.
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.
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.
I'm a first-year PhD student at the Berkeley Wireless Research Centre. My research involves high-speed serial links. I previously worked at a startup in Toronto.
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!
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.
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.
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.
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.