EE-CS Courses

Computer Science and Electrical Engineering are deeply interrelated disciplines, and numerous faculty members are jointly appointed in the two departments at Stanford. 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 departments to consider including these courses in their programs.

Course Number: Course Name

CS 103:  Mathematical Foundations of Computing
CS 106B/ENGR 70B: Programming Abstractions
CS 106X/ENGR 70X: Programming Abstractions (Accelerated)
CS 107: Computer Organization and Systems
CS 107E: Computer Systems from the Ground Up
CS 108: Object-Oriented Systems Design
CS 109: Introduction to Probability for Computer Scientists
CS 110: Principles of Computer Systems
CS 131: Computer Vision: Foundations and Applications
CS 140: Operating Systems and Systems Programming
CS 143: Compilers
CS 144: Introduction to Computer Networking
CS 145: Introduction to Databases
CS 148: Introduction to Computer Graphics and Imaging
CS 149: Parallel Computing
CS 155: Computer and Network Security
CS 194: Software Project
CS 194W: Software Project (WIM)
CS 223A: Introduction to Robotics
CS 225A: Experimental Robotics
CS 229: Machine Learning
CS 231A: Computer Vision: From 3D Reconstruction to Recognition
CS 244: Advanced Topics in Networking
EE 101A: Circuits I
EE 101B: Circuits II
EE 102A: Signal Processing and Linear Systems I
EE 102B: Signal Processing and Linear Systems II
EE 103: Introduction to Matrix Methods
EE 108: Digital System Design
EE 109: Digital Systems Design Lab
EE 179: Analog and Digital Communication Systems
EE 180: Digital Systems Architecture
EE 262: Two-Dimensional Imaging
EE 263: Introduction to Linear Dynamical Systems
EE 264: Digital Signal Processing
EE 271: Introduction to VLSI Systems
EE 273: Digital Systems Engineering
EE 278: Introduction to Statistical Signal Processing
EE 285/CS 241: Embedded Systems Workshop
EE 282: Computer Systems Architecture
EE 364A/CS 334A: Convex Optimization I
EE 364B: Convex Optimization II
EE 368: Digital Image Processing
EE 376A: Information Theory
EE 382C: Interconnection Networks
EE 384A: Internet Routing Protocols and Standards
EE 384B: Multimedia Communication over the Internet
EE 384C: Wireless Local and Wide Area Networks
EE 384S: Performance Engineering of Computer Systems and Networks
EE 384X: Packet Switch Architectures