Logo

Going Down the EECS Stack

With so many EE and CS classes at Berkeley, it is important that students know which classes best match their personal and career interests. This DeCal is offered to provide students with a broad survey of topics within EECS and a general sense of the courses and subfields within the major. We aim to cover each topic in totality, so no EE or CS experience is required.

If you have any questions, please feel free to reach us at decal@hkn.eecs.berkeley.edu!

Apply Now!Learn More

Key Learning Outcomes

This course will take students on a journey through the fields of EE and CS starting from the browser request to the underlying circuitry and physics in computers. Each week will move lower on the software/hardware stack, with a deconstructive approach to software and a constructive approach towards hardware. After taking this course, students will have a fair understanding of every level of the EECS stack.

Methods of Instruction

Sessions will consist of 2 hours of instruction, including a mix of interactive labs/demonstrations and lecture. In addition, staff will plan trips to various research labs or host talks by current researchers in applicable fields to provide deeper insight into various areas of research. The syllabus itself covers 11 weeks of instruction, including guest lectures by either faculty or a current researcher, lab tours, and other activities!

Assignments and Grading

To pass the course a total of 19 points must be obtained by each student. Attendance and weekly submissions are worth 1 point each (there are 11 classes and 10 weekly assignments). There will also be a field trip and a final project, both of which are mandatory. For students who are unable to attend the field trip, there will be an alternative assignment.

How to Enroll

Fill out our short interest form: https://hkn.mu/decalapp by Friday, September 6 (9/6). Please apply as soon as possible; applications will be processed on a first-come-first-serve basis. Please make sure to attend the first lecture, as we will be handling course codes based on attendance. If you cannot make the first class, send us an email at decal@hkn.eecs.berkeley.edu.

Introduction
DeCal Lecture for Week 1

Introduction - Week 1

This week will provide a quick preliminary overview of what the course will be about, distribution of course materials, as well as an introduction to the course staff. If available, we will be inviting Professor Anant Sahai, our faculty sponsor, to come and speak to interested students about our class.
Human-Computer Interaction
DeCal Lecture for Week 2

Human-Computer Interaction - Week 2

Human-computer interaction is the subfield of computer science that focuses on the interactions that users have with computers. This class will mainly be about the User Interfaces which is what the user will directly interact with. We will also introduce the iterative design cycle, which is one of the primary methods for the prototyping and development of user interfaces.
Video and Image Processing
DeCal Lecture for Week 3

Video and Image Processing - Week 3

YouTube is one of the most iconic pieces of the modern internet. In this course, we will dissect the process of requesting a video, and playing it in the browser. This session will focus heavily on the mechanics of audio and graphics, as well as their representations. In addition, we will perform a simple overview of compression using various methods, such as Fourier transforms and wavelet compression.
Machine Learning
DeCal Lecture for Week 4

Machine Learning - Week 4

Machine Learning is the science of making software “learn.” We will introduce the big ideas behind machine learning and discuss how YouTube uses them to figure out which videos its users are more likely to watch. Along the way, we’ll gain some hands-on experience at designing and running your own learning algorithms.
Security and Cryptography
DeCal Lecture for Week 5

Security and Cryptography - Week 5

While developers would like to write code that just does what it’s supposed to, the reality is that attackers have incentives to exploit loopholes in applications. This week we examine defenses against these attacks, including code security, network security, and web security. We will also study the tool that enables many of these defenses: cryptography, the study of algorithms that achieve certain guarantees in the presence of adversaries.
Computer Theory and Research
DeCal Lecture for Week 6

Computer Theory and Research - Week 6

Computer theory is the branch of computer science related to the mathematical study of computing. In this class we will cover three main areas of algorithms, complexity, and computability. We will cover several of the fundamental problems/ideas in computer theory such as the halting problem, P vs. NP, and the Church-Turing Thesis.
Systems
DeCal Lecture for Week 7

Systems - Week 7

Applications run by writing code, but that code doesn’t automagically run on the physical computer. This session will cover Operating Systems, Compilers, and Binary -- the translation and execution of code from human-readable format to computer-readable format. This session will also cover hardware device interfaces, such as network sockets and drivers
How to Build a Computer
DeCal Lecture for Week 8

How to Build a Computer - Week 8

Applications run on top of hardware, which is typically a set of wires and gates. In this session, we will examine digital logic, memory units, and the hardware-software interface. We will also examine digital circuit design, clocking, and hardware-peripheral interfaces.
Electronic and Photonic Devices
DeCal Lecture for Week 9

Electronic and Photonic Devices - Week 9

Transistors are the building blocks of computers, but what exactly are transistors? This session will describe the physics behind how transistors work, in a qualitative, simple way. We will build up from the ideas of bonding in silicon to different charge carriers in semiconductors, MOSFETs, and LEDs. We will also explore power systems and renewable energy.
Embedded Systems & Robotics
DeCal Lecture for Week 10

Embedded Systems & Robotics - Week 10

Personal computers aren't the only kind of devices powering our modern world. In this session, we will look deeper into other applications such as embedded systems, IoT devices, and robotics.
Conclusion/Ethics
DeCal Lecture for Week 11

Conclusion/Ethics - Week 11

The final session will provide an overarching unification of the topics covered in the course, with a review of how an application travels from the user interface to the wires. We will also cover non-technical aspects of EECS, such as ethics, morality, and policy.

Facilitators

Meet the people who will be interacting with you throughout the semester!

Isak Traustason
4th Year EECS
  • I love Decal!
Zachary McMullan
2nd Year EECS
  • I love Decal!
Some Advice

Professor Sahai notes in his unofficial advice page 1 , “Set yourself a goal of understanding some system from top to bottom before you graduate. For example, you might want to know how the entire process of downloading and listening to an MP3 or OGG file works. This can be a good tool for integrating knowledge across different courses.” Since taking every EECS course may be infeasible and inefficient under the current system, we would like to provide a cocktail-party level of understanding so students can make educated decisions about which classes to explore. Even if you never take an EECS class after this one, this DeCal will be worthwhile if you enjoy learning about a variety of topics.

Email

Decal: decal[at]hkn.eecs.berkeley.edu

General: hkn[at]hkn.eecs.berkeley.edu

Our Offices

290 Cory Hall | (510) 642-7346

345 Soda Hall | (510) 642-9952