EE-CS Courses at Stanford

Stanford Computer Science and Electrical Engineering are deeply interrelated disciplines, and numerous faculty members are jointly appointed in the two departments. Many fundamental principles, key technologies and important applications lie at the intersection between the two disciplines.

The intersection of EE and CS is addressed by many courses, including those listed below. We encourage students in both the Stanford Department of Electrical Engineering and the Stanford Department of Computer Science to consider including these courses in their degree programs.

Course Number: Course Name
CS Courses, Stanford ExploreCourses  EE Courses, Stanford ExploreCourses
CS 103: Mathematical Foundations of Computing EE 101A: Circuits I
CS 106A: Programming Methodology  EE 101B: Circuits II
CS 106B/ENGR 70B: Programming Abstractions EE 102A: Signal Processing and Linear Systems I
CS 106X/ENGR 70X: Programming Abstractions (Accelerated) EE 102B: Signal Processing and Linear Systems II
CS 107: Computer Organization and Systems EE 103 (academic year 20-21 becomes ENGR108): Introduction to Matrix Methods.
CS 107E: Computer Systems from the Ground Up EE 108: Digital System Design
CS 108: Object-Oriented Systems Design EE 109: Digital Systems Design Lab
CS 109: Introduction to Probability for Computer Scientists EE 168: Introduction to Digital Image Processing 
CS 110: Principles of Computer Systems EE 179: Analog and Digital Communication Systems
CS 131: Computer Vision: Foundations and Applications EE 180: Digital Systems Architecture
CS 140: Operating Systems and Systems Programming EE 262: Two-Dimensional Imaging
CS 143: Compilers EE 263: Introduction to Linear Dynamical Systems
CS 144: Introduction to Computer Networking EE 264: Digital Signal Processing
CS 145: Introduction to Databases EE 271: Introduction to VLSI Systems
CS 148: Introduction to Computer Graphics and Imaging EE 273: Digital Systems Engineering
CS 149: Parallel Computing EE 278: Introduction to Statistical Signal Processing
CS 155: Computer and Network Security EE 285/CS 241: Embedded Systems Workshop
CS 194: Software Project EE 282: Computer Systems Architecture
CS 194W: Software Project (WIM) EE 364A: Convex Optimization I (cross-listed with CME 364A).
CS 221: Artificial Intelligence: Principles and Techniques  EE 364B: Convex Optimization II
CS 223A: Introduction to Robotics EE 368: Digital Image Processing
CS 224N: Natural Language Processing with Deep Learnin EE 382C: Interconnection Networks
CS 225A: Experimental Robotics EE 384A: Internet Routing Protocols and Standards
CS 229: Machine Learning EE 384B: Multimedia Communication over the Internet
CS 231A: Computer Vision: From 3D Reconstruction to Recognition EE 384C: Wireless Local and Wide Area Networks
CS 231N: Convolutional Neural Networks for Visual Recognition EE 384S: Performance Engineering of Computer Systems and Networks
CS 241/EE 285: Embedded Systems Workshop EE 384X: Packet Switch Architectures
CS 244: Advanced Topics in Networking