Maker.io main logo

UC Berkeleys Electrical Engineering and Computer Science 16B Course

2024-07-17 | By Annabel Ng

I’m currently a sophomore studying Electrical Engineering and Computer Science (EECS) at UC Berkeley, and one of my favorite courses this semester was EECS 16B. This class is the second part of the required circuits and linear algebra sequence at UC Berkeley. Honestly, I enjoy programming more and didn’t plan to dive into the circuits and hardware part of my EECS degree, so I was quite surprised by how much I enjoyed this course and its project portion, which involved building my very own voice-controlled robot from scratch. Learning circuit analysis skills, building circuits to interact and process signals, and applying linear algebra to circuits actually gave me a deeper appreciation for the hardware that powers computer science.

Course Overview

This course is a follow-up to the introductory course EECS 16A, which I took in my freshman year. The first half of 16B focuses more on advanced circuitry that builds on the basics I learned in 16A, including inductors, transistors, and RLC circuits. The class also introduces the frequency domain, phasors, transfer functions, and bode plots as additional tools for analyzing circuits. The second half of the class emphasized linear systems, including stability and controllability of various systems. I also learned about the basics of eigendecomposition, spectral theorem, and singular value decomposition (SVD). The last unit reviewed the basics of least squares and introduced the principal component analysis (PCA) algorithm in machine learning.

Below is a sample circuit that I analyzed with phasors as part of one of my weekly problem set assignments.

UC Berkeley’s Electrical Engineering and Computer Science 16B Course

Lower division EECS and CS courses often combine a lot of different topics with 2-3 professors teaching the course. Usually, one professor will take one section, and another professor will focus on the other section. 16B is notorious among EECS students for being much more difficult than 16A, but I actually enjoyed it more even though the content was more difficult! The workload was about 10-15 hours per week, including lectures, discussions, problem sets, and labs. The lab was a semester-long project about the S1XT33N robot, which is a voice-controlled robotic car that can turn left, right, and go straight, and this project was my favorite one at Berkeley so far. I’ll be making a series of blog posts breaking down the different components of this project, so stay tuned!

Highlights

The highlight of this course was definitely putting the theoretical knowledge into use when working through the labs. Concepts like filters and closed-loop feedback systems made a lot more sense when I could see them in action to filter out voice frequencies or help the car adjust the wheel velocity to move straight. Even though the labs were tedious and time-intensive, it was well worth the effort! Another thing I enjoyed about this course was learning the basics of linear algebra and applying it to circuits. It felt like the math we were using was very relevant and not some random formulas I’d memorize and then forget. I also liked how I felt more confident building and debugging circuits, rather than just analyzing them on paper.

This is an image of my completed breadboard for my robot! I'll be covering the circuit components and control systems in a later blog post.

UC Berkeley’s Electrical Engineering and Computer Science 16B Course

Advice

Even if you want to focus on computer science and subfields like machine learning, don’t discount circuits and robotics – there’s often a lot of overlap. Being interdisciplinary has a lot of benefits, and many of the linear algebra concepts I learned in 16B tie over to machine learning optimization concepts. A lot of my debugging experience from my computer science class also came in handy when debugging circuits. More generally for the course, it’s best to stay as caught up with the content as possible. The class moves very quickly and often only spends one week on a specific concept. It’s also helpful to use course notes to your advantage since the lectures cover topics at a very broad level. Lastly, don’t forget to enjoy the course along the way and the memories of building your own robot with a friend!

TechForum

Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.

Visit TechForum