Study Room
SWE 110 — Structure and Interpretation of Computer Programs
LockedMaster fundamental programming concepts including abstractions, data structures, interpreters, and computational paradigms.
SWE 110 — Structure and Interpretation of Computer Programs
Master fundamental programming concepts including abstractions, data structures, interpreters, and computational paradigms.
- Section 1: Building Abstractions with Functions
- 1.1Getting Started
- 1.2Elements of Programming
- 1.3Functions
- 1.4Control Flow
- 1.5Higher-Order Functions
- 1.6Recursion
- Section 2: Building Abstractions with Data
- 2.1 Data Abstraction
- 2.2 Sequences
- 2.3 Mutable Data
- 2.4 Object-Oriented Programming
- 2.5 Implementing Classes and Objects
- 2.6 Object Abstraction
- 2.7 Efficiency
- 2.8 Recursive Objects
- Section 3: Interpreting Computer Programs
- 3.1 Functional Programming
- 3.2 Exceptions
- 3.3 Interpreters for Languages with Combination
- 3.4 Interpreters for Languages with Abstraction
- Section 4: Data Processing
- 4.1 Implicit Sequences
- 4.2 Declarative Programming
- 4.3 Logic Programming
- 4.4 Unification
- 4.5 Distributed Computing
- 4.6 Distributed Data Processing
- 4.7 Parallel Computing
SWE 115 — Fundamentals of Frontend Programs
Build web foundations: semantic HTML, responsive CSS, and modern JavaScript/TypeScript.
SWE 120 — Data Structures & Algorithms
Implement core data structures, algorithmic techniques, and runtime analysis for scalable problem solving.
SWE 125 — Introduction to Browser
Master DOM manipulation, browser events, async JavaScript, and client-side interactivity with TypeScript.
SWE 130 — Computer Architecture & Systems Fundamentals
Trace how code executes on modern hardware, from bits and gates to instruction sets and performance.
SWE 140 — Databases & Data Modeling
Design relational models, write optimized queries, and reason about how data powers production systems.
SWE 210 — Operating Systems
Master concurrency, memory management, and the abstractions that make multi-program systems possible.
SWE 220 — Networks & Internet Systems
Understand protocols across the stack and build resilient services that operate on the public internet.
SWE 230 — Security
Identify vulnerabilities, harden software, and design controls that keep critical systems secure.
SWE 240 — Web Systems Engineering
Ship full-stack web experiences with modern tooling, production-ready workflows, and strong UX.
SWE 250 — Systems Design
Model distributed systems, reason about tradeoffs, and communicate architectures with clarity.
SWE 260 — Cloud Fundamentals
Deploy scalable services on AWS, manage infrastructure as code, and architect cloud-native applications.
SWE 290 — Current Frontier of Applied AI
Explore the latest ML and AI techniques that are reshaping software engineering practice.