BookNotesSlidesP-sets Syllabusdraft · v0.2.49.1

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.

TA office hoursCamille Biscarrat, Milena Sanchezroom 24-317Monday 4-5pmTuesday 5-6pmWednesday 5-7pm
Frédo’s office hoursroom 32-D424Friday 2-3pm
datelecturelinks
L00Thu 2026-09-10Intro
L01Tue 2026-09-15Images, C++
PS0Wed 2026-09-16Problem set 0 warmup to C++ due at https://compphoto-portal.fredopdurand.workers.dev/
L02Thu 2026-09-17Convolution
L03Tue 2026-09-22Noise, bilateral filter
PS1Wed 2026-09-23Problem set 1 basic image processing due at https://compphoto-portal.fredopdurand.workers.dev/
L04Thu 2026-09-24Color
L05Tue 2026-09-29Demosaicking
PS2Wed 2026-09-30Problem set 2 convolution, bilateral due at https://compphoto-portal.fredopdurand.workers.dev/
L06Thu 2026-10-01HDR
L07Tue 2026-10-06HDR 2, bilateral grid
PS3Wed 2026-10-07Problem set 3 denoising, demosaicking due at https://compphoto-portal.fredopdurand.workers.dev/
L08Thu 2026-10-08Resampling and warping
PS4Wed 2026-10-14Problem set 4 HDR, tone mapping due at https://compphoto-portal.fredopdurand.workers.dev/
L09Thu 2026-10-15Morphing
L10Tue 2026-10-20Noise, panorama intro
PS5Wed 2026-10-21Problem set 5 morphing due at https://compphoto-portal.fredopdurand.workers.dev/
L11Thu 2026-10-22Panoramas, homographies
L12Tue 2026-10-27Harris corners, descriptors
PS6Wed 2026-10-28Problem set 6 homography, manual panorama dueProblem set 6 homography, manual panorama due
L13Thu 2026-10-29RANSAC, blending
L14Tue 2026-11-03Pyramids
L15Thu 2026-11-05Halide I
L16Tue 2026-11-10Agentic coding
PS7Tue 2026-11-10Problem set 7 auto pano + blending dueProblem set 7 auto pano + blending dueTuesday, not the usual Wednesday
L17Thu 2026-11-12Lenses
L18Tue 2026-11-17Lenses 2
PS8Wed 2026-11-18Problem set 8 non-photorealistic rendering dueProblem set 8 non-photorealistic rendering due
L19Thu 2026-11-19Depth of field
L20Tue 2026-11-24Make good pictures
L21Tue 2026-12-01Light fields and depth of field
L22Thu 2026-12-03Wavefront coding
L23Tue 2026-12-08SIFT, photo tourism
PS9Wed 2026-12-09Problem set 9 choose your own pset dueProblem set 9 choose your own pset due
L24Thu 2026-12-10Ethics

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.