Computer vision education has developed a blind spot. CS231N, the convolutional neural networks course, became one of the most influential pieces of free technical education ever published, and it deserved to. It also had the side effect of convincing a lot of people that computer vision is the study of what is in an image. Half the field is about where things are, in three dimensions, relative to a camera whose own position must be worked out, and that half is CS231A.
The distinction matters enormously as soon as you leave the world of labelled photographs. A robot arm picking an object from a bin needs a metric position, not a classification. An augmented reality headset placing a virtual object on a real table needs to know the plane of that table in camera coordinates and to track it as the user moves. A drone doing visual odometry is solving structure from motion.
A phone doing photogrammetry is running a reconstruction pipeline. None of these are principally recognition problems and none of them are solved by a classifier. CS231A teaches the machinery: pinhole camera models and what the intrinsic and extrinsic parameters mean, lens distortion and calibration, homographies and what they can and cannot represent, epipolar geometry and the fundamental matrix, stereo correspondence and triangulation, structure from motion, bundle adjustment, and the representations used for 3D shape. The mathematics is projective geometry, which is genuinely demanding, and the course does not soften it.
Homogeneous coordinates feel like a trick until they suddenly feel like the only sensible way to write any of this down, and getting a learner through that transition is a real pedagogical achievement. The course notes are the most valuable public artefact. They are self-contained, carefully written, and cover the geometry from first principles in a way that stands up without the lectures. Silvio Savarese and Jeannette Bohg lead recent offerings, and Bohg's robotics background shows in how the material connects to manipulation and perception for real systems, which is the right framing.
My reservation about accessibility is genuine. CS231N's lecture videos were published widely and became a global resource. CS231A's have not been available with the same consistency, which means the public version of this course is essentially the notes and the assignment descriptions. Those are good, but a learner working alone from notes on epipolar geometry has a harder time than one with lectures, and the mathematics here is less forgiving than most.
There is no autograding available outside enrolment, so you can attempt the assignments and grade yourself, which for reconstruction problems at least has the merit that a wrong implementation produces visibly wrong geometry. The content balance shifts between offerings. Recent years have folded in more learned methods, neural radiance fields, learned depth estimation and learned feature matching, which is appropriate because the field has genuinely moved that way. The classical geometry remains the foundation, and it should, because a learned depth estimator that hallucinates a plausible depth map is useless for a robot that will collide with the thing it got wrong.
Knowing the geometry is what lets you tell the difference between a system that measured and a system that guessed. That argument is the strongest reason to take this course, and it gets stronger rather than weaker as generative methods improve. Four point one. Underrated, mathematically serious, less accessible than its famous sibling, and covering exactly the knowledge that people who skipped it end up wishing they had.