A guide to help determine which EECS courses to take, through the lens of EECS 16AB: Designing Information Devices and Systems.

EE 84, EE 120, EE 123

Are you curious about other use cases of Gold codes? Or other codes that can be used for communication? Interested in understanding how FM and AM on the radio work? Are you curious about how an Amazon Echo can hear you speaking even when you are playing loud noises (aka advanced OMP)? How about the fundamentals of many image and audio processing algorithms — these rely on frequency domain techniques. You will be introduced to these in 16B, but to really master them, 120 and 123 are where you should go. 123 will have you build out hands on projects! Do you want to track a balloon as it circumnavigates the globe? 84 is for you!

EECS 126

Did you enjoy the Pagerank module and thinking about the transitions of people from one web page to another? Did eigenvalues pique your curiosity? Are you intrigued by the idea of noise? What is noise and how do we model it so that real-world systems manage to function even though there is noise everywhere? How do wireless systems transmit data accurately even though there are errors/noise/interference? 126 will build up the foundations of probability, after 70. Or if you wanted to verify the results of an election but not do a full recount, how many votes do I need to sample/count?

EECS 127

Did you like linear algebra? Do you want to learn the central optimization algorithms used in machine learning? If you liked the content in Module 3 — minimizing the error vector in least squares — and using models to understand real world problems, this is a class for you. It will introduce numerical optimization algorithms used in machine learning, scientific computing, computer graphics, robotics, and many other applications. There is a central emphasis on gradient descent, which is at the core of much of modern machine learning; you will also learn some machine learning algorithms. This class is good preparation for 189 — but it’s also an excellent sequel for those who have already taken 189 and want to understand the numerical optimization side of machine learning much more deeply.

CS 189, CS 182

Are you interested in building models that can explain patterns in large volumes of data? Are you interested in being able to use these patterns to act in the future? Do you want to understand what underlies the hype around neural nets and machine learning? What are the techniques underlying image recognition, self-driving cars, and the selection of ads you get shown on the web? What does changing a Picasso to be in the style of a Renoir have to do with identifying the orbit of Ceres from data? 189 will help you do this, building on your base of linear algebra, probability, and vector calculus.

EE 134

Are you curious how the photodiode in the imaging lab converted light into voltage? 134 will teach you how to build your own solar cell and how solar cells and photo-diodes work

EE 105/ EE 140

You’ve seen in 16A that Op-Amps + negative feedback can do amazing things. Are you curious about how to actually build an Op-Amp? 105 will introduce you to transistors, which are devices at the heart of how to build and design Op-Amps and other active circuits. In this class you will get familiar with transistors and find out how operational amplifiers really work – and how to design them. Refine and add to your understanding of time and frequency domain analysis, which are important theories used widely in engineering (beyond circuits).

EECS C106AB, EE C128

The topics of controls and robotics will be introduced in detail in 16B, but once you have 16B and want more, 106AB and 128 are where you can go. Once again, eigenvalues will play a leading role in helping understand stability of control systems (e.g. self-driving cars). These courses will introduce you to advanced techniques for control of systems, and will rely heavily on developing mathematical models of real world systems.

EE 137AB

Are you interested in energy systems, and applying what you know to address climate change? 137A teaches you how the electric grid works (and sometimes doesn’t), from high-voltage power lines and the electric utility equipment you see in your neighborhood, to power shut-offs and blackouts. This is the foundation for 137B, which explores the transition to an all-renewable electric grid: how solar and wind power works, technical problems and solutions for integrating these technologies in the legacy system, and ways to make the grid “smarter.” You’ll need Physics 7B or an equivalent intro to electricity & magnetism as a prerequisite.

EE 142

Wonder how signals can travel without wires? In 142 you not only learn physics, but actually build radios. You also learn what it takes to make communication fast and why and when this won’t work.

EE 130, EE 143

If you are curious about how the devices that run your electronic gadgets work, you should enroll in 130. In addition, if you are a hands on type of person, 143 will give you the opportunity to fabricate devices, such as transistors (transistors are the secret behind op-amps, as you will see in 105/140), and get experience working in a cleanroom!

EECS 149

How do computational systems really interact with physical processes and devices? A major theme of this course is on the interplay of practical design with models of systems, including both software components and physical dynamics. Applications of such systems include medical devices and systems, consumer electronics, toys and games, assisted living, traffic control and safety, automotive systems, process control, energy management and conservation, environmental control, aircraft control systems, communications systems, instrumentation, critical infrastructure control (electric power, water resources, and communications systems for example), robotics and distributed robotics (telepresence, telemedicine), defense systems, manufacturing, and smart structures.

EE 113

What hardware does it take to fully charge an electric vehicle in 10 minutes? What does it take to design a fully electric airplane? How do we design systems to bring affordable and clean electricity to developing countries? If you want to learn the answers to these questions, and are interested in renewable energy (solar, wind, hydro), electric motors and generators, batteries, EE113 is the course for you.

EECS 151/ CS 152

We all depend on computers for so much in our lives. Would you like to find out how they work? In 151/152 you will learn this and also design your own and run programs on it!  You do need CS61C to teach you the basics of logic

EE 192

Do you want to apply your course knowledge to real problems? Do you like hardware and software design? Do you want to get experience with system integration from power circuitry to control design? Would you like to have a capstone design experience? EE192 is a project-based class where you will learn everything you need to create a vision-guided autonomous race car that can cruise around a track at greater than 3 meters per second. (You need EECS120 for signal processing and control.)

CS C100

How do databases, programming languages, and linear algebra come together to draw robust conclusions about the world from data? Data 100 has a large component on high dimensional linear regression that doesn’t focus on the math, but instead on the assumptions about the data that motivate using a linear model and how to interpret the result of fitting a line to the data. There’s also significant coverage of how to arrive at a matrix from a structured dataset so that you’re in a position to apply all the linear algebra you’ve learned in 16A/B.

EE 118

Did you enjoy the imaging lab? Want to learn more about optics and imaging? EE118 teaches basics of optical engineering, how to design a camera or imaging system, and how light propagates, including both ray optics and wave optics. The class ends with a final project where you can build a optical system in the lab or do simulations of optics-based systems that interest you.