Geometric Data Processing Group

6.838: Shape Analysis (Spring 2019)


Introduces mathematical, algorithmic, and statistical tools needed to analyze geometric data and to apply geometric techniques to data analysis, with applications to computer graphics, machine learning, computer vision, medical imaging, architecture, and other fields. Potential topics include: applied introduction to differential geometry; discrete notions of curvature; metric embedding; geometric PDE via the finite element method (FEM) and discrete exterior calculus (DEC); computational spectral geometry and relationship to graph-based learning; correspondence and mapping; level set methods; descriptors; shape collections; optimal transport; and vector field design. (catalog listing)


Time: Tuesday/Thursday, 2:30pm-4pm
Location: 2-105


Instructor: Justin Solomon, office hours Wednesdays 10am-12pm (32-D460)
TA: Sebastian Claici, office hours Monday/Wednesday 3pm-4pm (32-D475A)


  • All items below must be completed to pass 6.838:
    • There will be four homework assignments, worth 40% of your grade as well as a course project worth 40%; you must complete all parts of the project to pass the course.
    • 10% of your grade will be devoted to nanoquizzes roughly every other Tuesday. The lowest nanoquiz score will be dropped, and dates for nanoquizzes are listed on the course schedule below.
    • The final 10% will be dedicated to reading assignments, with due dates marked on the schedule below. The reading assignment will consist of reading and summarizing one research paper related to a topic we have covered in class. We'll provide some suggestions on Piazza, but you are free to choose other papers you are interested in reading. You must submit a single-page PDF by 8PM on the listed due dates. The document should always include:
      • a short one paragraph summary of what you read, and
      • one or two questions about something you found interesting/confusing/incomplete.
    • There will be no final exam.
  • Our goal is to present this exciting set of highly-technical tools in an approachable and intuitive fashion. Your feedback is needed to calibrate. For this reason, ±5% can be rewarded for course participation, through engagement in lecture, discussion in office hours, and/or contribution to discussion online.
  • Assignments must be submitted by 8pm on the listed due date. You will be permitted a total of three late days over the course of the quarter, measured in periods of 24 hours. Beyond this, late assignments will lose 25% credit per day (additively).
  • Students are encouraged to ask questions and discuss the lecture content on Piazza (sign up here).
  • Collaboration on homework is permitted, but final writeups/implementations must be individual students' work. The final project can be completed in groups.
  • Assignments should be submitted on Learning Modules.

Course notes:

In this offering of 6.838, Justin is attempting to cover at least the first half of the class with written lecture notes. These notes are being written on the fly, and hence there is high likelihood that (1) they contain typos and (2) they will change frequently through the course of the semester. Please get in the habit of hitting "refresh" before reading them, and avoid printing these notes to save paper. Please post errata and suggestions on Piazza; Justin promises not to be offended by constructive criticism. Here is the link: Geometry course notes

Assignments (will be released one-by-one):



The following is a highly tentative lecture schedule for 6.838. It will be updated dynamically as the course proceeds. The list of topics is ambitious and likely to be shortened; if there are topics you feel strongly should be included/emphasized/added, feel free to contact Justin with this information.

Links to slides, Youtube videos of lectures, and homeworks will be posted on this spreadsheet as the course proceeds.