Skip to main content
Private & Ivy League

Stanford study guides, course by course

Stanford, CAPrivate R1

Stanford runs on the quarter system: ten weeks from first lecture to final, with midterms landing as early as week four, so falling a week behind costs a tenth of the course. The intro CS sequence and MATH 51 carry the heaviest workload folklore, and several flagship courses (CS 106A, CS 229, CS 231N) publish lectures and assignments publicly, which means half the people searching these codes aren't enrolled at Stanford at all.

Stanford courses use a subject abbreviation plus number (CS 106A, MATH 51, PHYSICS 41), with letter suffixes marking sequence variants (106A/106B, CHEM 31A/31B) and 200-level numbers shared between advanced undergrads and grad students. The same codes appear in ExploreCourses and on the public course websites that make several of these classes famous far beyond campus.

Fennie is independent and not affiliated with Stanford University.

Computer Science

11

CS 106A: Programming Methodology

CS 106A is Stanford's famous introduction to programming, taught in Python. It covers control flow, functions, decomposition, lists, dictionaries, and graphics, and assumes zero prior experience. Its lectures and assignments are public, and through Code in Place it has been taught free to hundreds of thousands of people, so it's studied worldwide by enrolled students and self-learners alike.

CS 106B: Programming Abstractions

CS 106B follows 106A with programming abstractions in C++: recursion, ADTs and the standard collections, big-O, linked structures, trees, and hashing. It's the course where Stanford CS gets real, and like 106A its materials are public and heavily used by self-learners.

CS 107: Computer Organization and Systems

CS 107 takes students from C++ down to the machine: C programming, pointers and memory, bit-level representation, x86-64 assembly, and how the heap actually works, culminating in the famous heap allocator assignment. It's the systems gateway of the Stanford CS core.

CS 103: Mathematical Foundations of Computing

CS 103 is Stanford's discrete math and theory gateway: proof techniques, set theory, induction, graph basics, then finite automata, regular languages, and the first look at computability and P vs NP. For most students it's the first course where the deliverable is a proof, not a program.

CS 109: Probability for Computer Scientists

CS 109 is probability built for CS: counting, conditional probability, random variables and distributions, the central limit theorem, then maximum likelihood and the first real machine learning algorithms. It bridges the core sequence to CS 221 and CS 229 and is many students' favorite course in the major.

CS 111: Operating Systems Principles

CS 111 is Stanford's operating systems course, following CS 107 in the systems core: processes, multithreading and synchronization, scheduling, virtual memory, and file systems. Assignments put you on the implementation side of OS abstractions students previously only consumed.

CS 161: Design and Analysis of Algorithms

CS 161 is Stanford's core algorithms course: asymptotic analysis, divide and conquer, randomized algorithms, sorting and selection, hashing, trees, dynamic programming, greedy algorithms, and graph algorithms. It's the course technical interviews are downstream of, and a hinge point of the CS major.

CS 221: Artificial Intelligence: Principles and Techniques

CS 221 is Stanford's broad AI foundations course: search, Markov decision processes, reinforcement learning, games, constraint satisfaction, Bayesian networks, and a taste of logic, with homeworks mixing math and substantial coding. It's the survey that maps the whole field before the deeper 22x courses.

CS 229: Machine Learning

CS 229 is Stanford's graduate-level machine learning course, made world-famous by Andrew Ng's recorded lectures: generalized linear models, SVMs and kernels, deep learning foundations, unsupervised learning, and learning theory. It's simultaneously a campus rite of passage and one of the most self-studied courses on the internet.

CS 231N: Deep Learning for Computer Vision

CS 231N (historically 'Convolutional Neural Networks for Visual Recognition') covers image classification, backpropagation, CNN architectures, training at scale, and transformers for vision, with assignments implementing it all from NumPy up to PyTorch and a substantial final project. Its public notes and lectures made it the world's default deep learning curriculum.

CS 224N: Natural Language Processing with Deep Learning

CS 224N covers modern NLP from word vectors through recurrent networks, attention, and transformers to pretrained language models, with PyTorch assignments and a research-style final project. Chris Manning's recorded lectures made it the standard NLP curriculum worldwide, studied by far more people than ever enroll.

Mathematics

4

Physics

2

Chemistry

1

Economics

1

Statistics

1

Psychology

1

Studying at Stanford?

Upload your course materials and Fennie generates Daily Plans paced to your deadlines, plus chat, flashcards, and quizzes built from your own courses.

Get started free

Other private & ivy league schools