CS231n: CNNs for Visual Recognition
Stanford's foundational course on deep learning for computer vision
Updated
Contents
CS231n is Stanford’s renowned course on Convolutional Neural Networks for Visual Recognition. It builds deep learning up from first principles — starting with basic classifiers, working through neural networks and backpropagation, and ending at state-of-the-art architectures.
This page is about a course, not a paper or an architecture. If you want a specific architecture, jump straight to AlexNet or ResNet.
Why Students Should Care
- CS231n is arguably the most popular on-ramp into deep learning: lectures, notes, and assignments are all free online.
- It teaches the skill frameworks hide from you — implementing backpropagation by hand — which pays off every time you debug a model.
- Its syllabus doubles as a reading map for this wiki: many pages here (AlexNet, ResNet, Dropout, GAN) are covered in the course.
Course Philosophy
The course emphasizes:
- First principles understanding — implementing backpropagation from scratch
- Mathematical foundations — understanding why techniques work, not just how
- Practical experience — hands-on assignments with real datasets
Core Topics
Image Classification Pipeline
The course starts with the fundamental task: mapping pixels to categories. In plain English, a classifier is a function that takes an image (a grid of numbers) and outputs one of labels:
Students implement k-NN, linear classifiers, and loss functions before touching a neural network — so that when networks arrive, they feel like a natural upgrade rather than magic.
Backpropagation
The heart of deep learning: computing gradients through computational graphs by chaining local derivatives.
That is just the chain rule — but implementing it from scratch, gate by gate, builds intuition that frameworks like PyTorch abstract away. See Backpropagation for the full treatment.
CNN Architectures
The course walks through the landmark architectures in order:
Each step introduces a key concept: depth, skip connections, inception modules. Reading them in sequence shows why each idea was invented, not just what it is.
Interactive Overview
Explore the course structure and key concepts:
CS231n Course Overview
cs231n.stanford.edu →- • Linear algebra (matrices, vectors)
- • Calculus (derivatives, chain rule)
- • Probability basics
- • Python/NumPy
- • Image classification pipeline
- • Neural network from scratch
- • CNN architectures
- • GANs and style transfer
Key Assignments
| Assignment | Skills Developed |
|---|---|
| k-NN & SVM | Vectorized numpy, loss functions |
| Neural Networks | Backprop, modular design |
| CNNs | Conv layers, architectures |
| RNNs & Attention | Sequence modeling |
| GANs | Generative modeling |
Resources
- Course Website: https://cs231n.stanford.edu/
- Video Lectures: Available on YouTube
- Notes: Comprehensive written guides on cs231n.github.io
Common Confusion
- CS231n is a course, not a model or a paper. Citing “CS231n” means citing teaching material, not a research result.
- The website vs. the notes: cs231n.stanford.edu is the official course page; cs231n.github.io hosts the written lecture notes. Both are freely accessible.
- CNNs vs. deep learning in general: the course focuses on vision. For sequences and language, see Understanding LSTMs or Transformer.
Where To Go Next
- Read Backpropagation for the algorithm at the heart of the course
- Read AlexNet and ResNet for the landmark architectures it covers
- Read Dropout for the regularization technique used throughout the assignments
- Read GAN for the generative modeling covered in the final assignment
Key Insight
CS231n’s lasting value isn’t specific architectures — it’s building intuition for how neural networks learn hierarchical representations from data.