Selected course
Algorithms and Data Structures
CS 121
A rigorous introduction to the design and analysis of algorithms, fundamental data structures, and the principles that underlie efficient computation.
View Course

Academics
Algorithms, computer systems, software engineering and the machinery beneath intelligent systems.
The computer science curriculum
Python and C written with care, tests and profiling.
Heaps, trees, hash tables and their invariants.
Design, analysis, lower bounds and dynamic programming.
Memory, machine representation, caching and linking.
Consensus, replication, causality and fault tolerance.
Architecture, review and disciplined AI-native development.
Selected course
CS 121
A rigorous introduction to the design and analysis of algorithms, fundamental data structures, and the principles that underlie efficient computation.
View Course
In this course
Assessment
Problem sets 25% · Closed-book examination 30% · Implementation or research project 35% · Oral defense 10%. Pass requires 80% on the examination and defense, 85% on problem sets and the project.