Classes at CMU can be hard. This guide is to give some insight on what to expect from the core classes from the ECE and CS programs at CMU.
- 18-100: Introduction to ECE
- 18-213: Introduction to Computer Systems
- 18-220: Electronic Devices and Analog Circuits
- 18-240: Structure and Design of Digital Systems
- 18-290: Signals and Systems
- 18-500: ECE Design Experience
- 15-122: Principles of Imperative Computation
- 15-150: Principles of Functional Programming
- 15-210: Parallel and Sequential Data Structures and Algorithms
- 15-213: Introduction to Computer Systems
- 15-251: Great Ideas in Theoretical Computer Science
- 15-451: Design and Analysis of Algorithms
- 18-202: Mathematical Foundations of Electrical Engineering
- 21-127: Concepts of Mathematics
- 21-241: Matrix Algebra
- 36-219: Probability Theory and Random Processes
- 36-225: Introduction to Probability Theory
- 21-259: Calculus in Three Dimensions
- 10-601: Introduction to Machine Learning
- 10-605: Machine Learning with Large Datasets
- 10-701: Introduction to Machine Learning (PhD)
- 11-411: Natural Language Processing
- 11-755/18-797: Machine Learning and Signal Processing
- 11-785: Introduction to Deep Learning
- 15-410: Operating Systems
- 15-418: Parallel Computer Architecture and Programming
- 15-424: Logical Foundations of Cyber-Physical Systems
- 15-440: Distributed Systems
- 15-445: Introduction to Database Systems
- 15-455: Undergraduate Complexity Theory
- 16-311: Introduction to Robotics
- 16-385: Computer Vision
- 16-720: Computer Vision
- 16-833: Robot Localization and Mapping
- 17-214: Principles of Software Construction
- 17-437: Web Application Development
- 17-480: API Design and Implementation
- 18-330: Introduction to Computer Security
- 18-335/732: Secure Software System
- 18-341: Logic Design and Verification
- 18-344: Computer Systems and the Hardware-Software Interface
- 18-349: Introduction to Embedded Systems
- 18-447: Introduction to Computer Architecture
- 18-491: Digital Signal Processing
- 18-540: Rapid Prototyping of Computer Systems
- 18-578: Mechatronic Design
- 18-623: Analog Integrated Circuit Design
- 18-640: Hardware Arithmetic for Machine Learning
- 18-652: Foundations of Software Engineering
- 18-660: Optimization
- 18-661: Introduction to Machine Learning for Engineers
- 18-665: Advanced Probability & Statistics for Engineers
- 18-690: Introduction to Neuroscience for Engineers
- 18-698: Neural Signal Processing
- 18-723: RF IC Design and Implementation
- 18-746: Storage Systems
- 18-747: How to Write Low Power Code for IoT
- 18-749: Building Reliable Distributed Systems
- 18-759: RW Wireless Networks
- 18-785: Data Inference and Applied Machine Learning
- 18-792: Advanced Digital Signal Processing
- 18-793: Image and Video Processing
- 18-794: Pattern Recognition Theory
- 18-847C: Data Center Computing
- 18-847F: Foundations of Cloud and Machine Learning Infrastructure
- 18-898D: Graph Signal Processing and Geometric Learning
- 24-104: Maker Series: Intro to Modern Making
- 80-180: Nature of Language
- 80-405: Game Theory
- 82-208: Eastern Europe: Society and Culture
- Closed-loop Neural Stimulation with Real-time Spike Sorting
- Exploring IoT Smart Cities
- Personalization Revisited: A Reflective Approach Helps People Better Personalize Health Services and Motivates Them To Increase Physical Activity
- SnapLoc: An Ultra-Fast UWB-Based Indoor Localization System for an Unlimited Number of Tags
- Synthetic Sensors: Towards General-Purpose Sensing
- TSM: Temporal Shift Module for Efficient Video Understanding