Geometric Data Processing Group

6.838: Shape Analysis (Spring 2021)


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)

Online resources:

Since this course is offered online, we will be using a number of online tools. All of these should be available for self-enrollment for any email address.

  • Assignments should be submitted on Canvas.
  • Ask questions and discuss course-related content on Piazza.
  • Participate in live discussion during lecture videos playing in class on Slack.
  • Lectures and office hours will be held on Zoom (links: lecture, Justin's office hours, TA office hours); recordings of the lectures are available on Youtube (see spreadsheet below or this playlist).
  • Check the spreadsheet below for the course schedule, or subscribe to this Google calendar.


This semester, lectures will be pre-recorded and available as Youtube links on the spreadsheet below. That said, during our scheduled lecture time we will have a "viewing party" play-back of the lecture content, and as the video plays the course staff will be available to answer questions live on the course Slack workspace (link below). Prof. Solomon will also be available for 30 minutes after each lecture time to answer questions and/or to hold discussion live via Zoom.

  • Lecture time: Tuesdays and Thursdays, 2:30pm-4pm
  • Live discussion: Tuesdays and Thursdays, 4pm-4:30pm; may start earlier depending on length of lecture
  • Location: Join us at this Zoom link; please note you will need MIT authentication to join.


Instructor: Justin Solomon, office hours Wednesdays 10am-12pm (Zoom link)


  • All items below must be completed to pass 6.838:
    • There will be five homework assignments, cumulatively worth 50% of your grade.
    • You will complete a course project worth 40% (instructions below).
    • The final 10% will be dedicated to a weekly "engagement activity." Starting the second week of the course (first due date: February 26), you must complete any one of the following activities per week and submit a single page PDF describing your work by 8pm each Friday:
      • Reading assignment: Read and summarize one research paper related to a topic we have covered in class. We will occasionally post documents with suggestions for what to read, but you are free to choose other papers you are interested in reading. Your PDF should (1) include a one-paragraph summary of what you read and (2) propose an extension of the method or a research question raised by the paper.
      • EECS Communication Lab: Make an appointment with the MIT EECS Communication Lab to get feedback about any of your project writeups or to help plan one of these documents. Your PDF should include the written material you shared with the Comm Lab and one paragraph about what you discussed during your meeting.
      • Start a discussion: Ask a (technical/mathematical) question or post a discussion topic about a lecture, the course notes, or outside reading on the course Piazza site. Make sure your question is thoughtful, and with your question share sentences with more background and/or your initial thoughts on how to resolve. In your PDF, share the post and a paragraph or two discussing what you learned from the resulting discussion.
      • Participate in a discussion: Write a thoughtful, detailed response to a question or discussion topic on the course Piazza site. In your PDF, share the original topic and your written response.
      With the exception of the Communication Lab item, you should complete each of the items above at least once during the semester.
    • 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).
  • Collaboration on homework is permitted, but final writeups/implementations must be individual students' work. The final project can be completed in groups.

Course notes and other materials:

In this offering of 6.838, Justin is attempting to continue writing lecture notes that cover the first fraction of the course. Please post errata and suggestions on Piazza; Justin promises not to be offended by constructive criticism. Chapters will be posted as individual links below:

Additional reading material is linked below:




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. The milestones in this spreadsheet also can be found in the course Google calendar.

Links to slides, Youtube videos of lectures, and homeworks will be posted on this spreadsheet as the course proceeds. The lecture videos are also combined in this Youtube playlist.