6.8370 / 6.8371 Computational Photography
Lectures, slides and recordings. This is home for both Notes and Slides; the switch at the top right moves between them and the book, and each remembers where you were. The assistant works the same everywhere.
| date | lecture | links | ||
|---|---|---|---|---|
| L00 | Thu 2026-09-10 | Intro | slides + video notes slides pdf pdf 2025 | |
| L01 | Tue 2026-09-15 | Images, C++ | slides + video notes slides pdf pdf 2025 | |
| PS0 | Wed 2026-09-16 | Problem set 0 warmup to C++ due at https://compphoto-portal.fredopdurand.workers.dev/ | ||
| L02 | Thu 2026-09-17 | Convolution | slides + video notes slides pdf pdf 2025 | |
| L03 | Tue 2026-09-22 | Noise, bilateral filter | slides + video notes slides pdf pdf 2025 | |
| PS1 | Wed 2026-09-23 | Problem set 1 basic image processing due at https://compphoto-portal.fredopdurand.workers.dev/ | ||
| L04 | Thu 2026-09-24 | Color | slides + video notes slides pdf pdf 2025 | |
| L05 | Tue 2026-09-29 | Demosaicking | slides + video notes slides pdf pdf 2025 | |
| PS2 | Wed 2026-09-30 | Problem set 2 convolution, bilateral due at https://compphoto-portal.fredopdurand.workers.dev/ | ||
| L06 | Thu 2026-10-01 | HDR | slides + video notes slides pdf pdf 2025 | |
| L07 | Tue 2026-10-06 | HDR 2, bilateral grid | slides + video notes slides pdf pdf 2025 | |
| PS3 | Wed 2026-10-07 | Problem set 3 denoising, demosaicking due at https://compphoto-portal.fredopdurand.workers.dev/ | ||
| L08 | Thu 2026-10-08 | Resampling and warping | slides + video notes slides pdf pdf 2025 | |
| PS4 | Wed 2026-10-14 | Problem set 4 HDR, tone mapping due at https://compphoto-portal.fredopdurand.workers.dev/ | ||
| L09 | Thu 2026-10-15 | Morphing | slides + video notes slides pdf pdf 2025 | |
| L10 | Tue 2026-10-20 | Noise, panorama intro | slides ↗ notes pdf 2025 | |
| PS5 | Wed 2026-10-21 | Problem set 5 morphing due at https://compphoto-portal.fredopdurand.workers.dev/ | ||
| L11 | Thu 2026-10-22 | Panoramas, homographies | slides ↗ notes pdf 2025 | |
| L12 | Tue 2026-10-27 | Harris corners, descriptors | slides ↗ notes pdf 2025 | |
| PS6 | Wed 2026-10-28 | Problem set 6 homography, manual panorama dueProblem set 6 homography, manual panorama due | ||
| L13 | Thu 2026-10-29 | RANSAC, blending | slides ↗ notes pdf 2025 | |
| L14 | Tue 2026-11-03 | Pyramids | slides ↗ notes pdf 2025 | |
| L15 | Thu 2026-11-05 | Halide I | slides ↗ notes pdf 2025 | |
| L16 | Tue 2026-11-10 | Agentic coding | slides ↗ notes pdf 2025 | |
| PS7 | Tue 2026-11-10 | Problem set 7 auto pano + blending dueProblem set 7 auto pano + blending dueTuesday, not the usual Wednesday | ||
| L17 | Thu 2026-11-12 | Lenses | slides ↗ notes pdf 2025 | |
| L18 | Tue 2026-11-17 | Lenses 2 | slides ↗ notes pdf 2025 | |
| PS8 | Wed 2026-11-18 | Problem set 8 non-photorealistic rendering dueProblem set 8 non-photorealistic rendering due | ||
| L19 | Thu 2026-11-19 | Depth of field | slides ↗ notes pdf 2025 | |
| L20 | Tue 2026-11-24 | Make good pictures | slides ↗ notes pdf 2025 | |
| L21 | Tue 2026-12-01 | Light fields and depth of field | slides ↗ notes pdf 2025 | |
| L22 | Thu 2026-12-03 | Wavefront coding | slides ↗ notes pdf 2025 | |
| L23 | Tue 2026-12-08 | SIFT, photo tourism | slides ↗ notes pdf 2025 | |
| PS9 | Wed 2026-12-09 | Problem set 9 choose your own pset dueProblem set 9 choose your own pset due | ||
| L24 | Thu 2026-12-10 | Ethics | slides ↗ notes pdf 2025 | |
| week of | Monday | Tuesday | Wednesday | Thursday | Friday |
|---|---|---|---|---|---|
| Sep 7 | 7 Labor Day | 8 | 9 | 10 L00 Intro | 11 |
| Sep 14 | 14 | 15 L01 Images, C++ | 16 | 17 L02 Convolution | 18 |
| Sep 21 | 21 | 22 L03 Noise, bilateral filter | 23 | 24 L04 Color | 25 |
| Sep 28 | 28 | 29 L05 Demosaicking | 30 | 1 L06 HDR | 2 |
| Oct 5 | 5 | 6 L07 HDR 2, bilateral grid | 7 | 8 L08 Resampling and warping | 9 |
| Oct 12 | 12 Indigenous Peoples' Day | 13 Monday schedule of classes | 14 | 15 L09 Morphing | 16 |
| Oct 19 | 19 | 20 L10 Noise, panorama intro | 21 | 22 L11 Panoramas, homographies | 23 |
| Oct 26 | 26 | 27 L12 Harris corners, descriptors | 28 PS6 Problem set 6 homography, manual panorama | 29 L13 RANSAC, blending | 30 |
| Nov 2 | 2 | 3 L14 Pyramids | 4 | 5 L15 Halide I | 6 |
| Nov 9 | 9 | 10 L16 Agentic coding PS7 Problem set 7 auto pano + blending Tuesday | 11 Veterans Day | 12 L17 Lenses | 13 |
| Nov 16 | 16 | 17 L18 Lenses 2 | 18 PS8 Problem set 8 non-photorealistic rendering | 19 L19 Depth of field | 20 |
| Nov 23 | 23 | 24 L20 Make good pictures | 25 | 26 Thanksgiving | 27 Institute holiday |
| Nov 30 | 30 | 1 L21 Light fields and depth of field | 2 | 3 L22 Wavefront coding | 4 |
| Dec 7 | 7 | 8 L23 SIFT, photo tourism | 9 PS9 Problem set 9 choose your own pset | 10 L24 Ethics | 11 |
Course information
Two versions
6.8370 is the graduate version and 6.8371 the undergraduate one. The graduate version has more questions in the problem sets and one extra paper review.
Accounts
Accounts for the submission system go out on Monday, September 14. If you do not have one, post to the staff on Piazza with your MIT kerberos, your MIT ID number, and whether you are taking 6.8370 (graduate) or 6.8371 (undergraduate).
Staff and communication
Instructor: Frédo Durand. TAs: Camille Biscarrat and Milena Sanchez. Office hours, Frédo's and the TAs', are at the top of this page.
Use Piazza for all communication. Technical questions are not answered by email. Posts can be anonymous.
Grading
The grade is 100% problem sets. Cutoffs: above 90% is an A, above 80% a B, above 70% a C, above 60% a D.
Each problem set counts with its weight, normalized by the sum of the weights:
| problem set | weight |
|---|---|
| Problem set 0 | 0 |
| Auto pano and blending | 2 |
| Non-photorealistic rendering | 1 |
| Choose your own | 1.5 |
| Ethics writeup | 0.25 |
| All others, morphing included | 1 |
Problem sets
Weekly at first, then every two weeks. They are due at 9pm, usually on a Wednesday; the syllabus above has each date and marks the ones that fall on another day. Mostly programming, in C++.
Turning in
One zip file through the submission system, containing:
- your source code, always
- image results, when the problem set asks for them
- the form: how long it took, known issues and what is incomplete (this is how partial credit is given), who you collaborated with, what was most unclear or difficult, and what was most exciting
The system checks that your code compiles. Submit early rather than at the deadline, so it is not overloaded.
How grading works
Grading is semi-automatic. Unit tests run per question or function, outputs are clustered, and every submission in a cluster gets the same score and comment. If you think a grade is wrong, there is an appeal process.
Late days
You have 3 late days for the semester. There are no fractional days: 1.01 late days counts as 2. An extension beyond that for medical reasons requires a note from a dean. The policy is more generous for the last problem set.
Prerequisites
Programming, including object-oriented programming (6.1010), and basic math (18.02): linear algebra and derivatives of functions of several variables. You are not expected to know C++; the first problem sets build it up.
Collaboration
You are welcome to discuss assignments with each other. Code must be written on your own, and the turn-in form asks who you worked with.
AI policy
The only AI you may use is the class's own assistant, embedded in the book, the notes, the slides and the problem sets. It knows the class material and is built to help you think rather than hand you the answer. It can be consulted, but it cannot write your code.
- Fine: brainstorming, explanations, editing, debugging, learning support.
- Not fine: pasting problem statements into other AI tools, asking for solutions to assigned problems, or submitting AI-written text, code, equations or analysis as your own.
- Keep the line visible: distinguish your own work from AI-assisted work, and say how the AI helped you, or that it did not.
Why: learning needs productive struggle. Remove the struggle and you stop growing as an independent, critical thinker.
Textbook
The book behind these notes and slides is new and experimental, written with Claude, and not organized like the class. It is not required reading.