Home / Basic Information About 6.S966/8.S301 / Basic Information About 6.S966/8.S301

Basic Information About 6.S966/8.S301

You are not logged in.

Please Log In for full access to the web site.
Note that this link will take you to an external site (https://shimmer.mit.edu) to authenticate, and then you will be redirected back to this page.

These details are subject to change! (Last Updated 2023.03.24)


The goal of the Project is to take what you've learned in class and apply it to a topic of your choosing. The Project should take approximately 4 exercises worth of effort (hence why we will have little to no exercises for the rest of the semester).

Projects can be done as an individual or a group of 2. We encourage you to use Piazza to find teammate(s) if you wish. Groups bigger than 2 require special permission from the instructors. Reach out to symm4ml-instructors@mit.edu with justification and how the work will be divided among group members.

Tips for Choosing a Topic

You can find a list of relevant references organized by category here.

As this is a class project, you have a limited amount of time to work on it. For example, if this project feeds into a larger research project you are pursuing, think about what smaller, specific task you can accomplish over the course of a few weeks and present clearly. Feel free to treat this as a feasibility study of something you may want to continue later! If your ultimate goal relies on long training times and large models -- focus your project developing the theory, designing prototype models, and formulating techniques for testing model behaviors. We recommend saving the training spree for after the project is due. We do not provide GPU resources for this class, but you can typically request usage of 1 GPU in Google Colab notebooks.

Project Components

There are six components to the project. Note that your 10 one-day extensions CANNOT be used for any parts of the project.

  1. Project Proposal (Due Wednesday 4/12 11:59 PM ET)
  2. First Draft of Project Computational Essay (Due Tuesday 4/18 11:59 PM ET)
  3. Workshoping of First Drafts with Peers (In class 4/19, 4/24, and 4/26)
  4. Final Draft of Project Computational Essay (Due Monday 5/15 at 2:30 PM ET)
  5. In Class Project Presentation (12 minutes presentation + 3 minutes questions) (In class 5/1, 5/3, 5/8, and 5/10)
  6. Project poster (Due date dependent on printing logistics! To be displayed during the in class Poster Reception on 5/15 in the Greir Room 34-401)

All graphics included in any part of your project must be made by you -- i.e. not screenshot from relevant papers. Creating or even re-creating graphics helps you better explain and convey your ideas and what you want your reader to get from your graphics.

Project Submissions

Please submit the sections of your project by emailing them to symm4ml-instructors@mit.edu.

For In-class Presentation: Your slides/video are due by 9am the day of your presentation. Please send your submission to symm4ml-instructors@mit.edu.

Grading of the six components

  • The Project Proposal (1) and First Draft of the Project Computational Essay (2) will count as a single "exercise" toward the "exercise" component of your grade (i.e. 1/7 of the 60% Exercise portion of your grade). Please use these deadlines as an opportunity to pace your progress on your projects!!!
  • During the in class "Workshoping of First Drafts with Peers" (3) you will review, give feedback, and discuss the First Drafts of 2-3 other students in your groups (more about workshoping groups later). Your feedback will count as half of your participation grade (i.e. 5% of total grade).
  • The Final Draft of the Computational Essay (4), In Class Project Presentation (5), and Project Poster (6) combined make up 30% of your grade, with the following respective weights 15%, 7.5%, and 7.5%.

Project Component Details

All of the project deliverables (i.e. all components except your workshop reviews) will have the following sections typical of any scientific paper.

  1. Introduction - i.e. Problem Statement or Motivation. What question are you answering or what problem are you solving in your project? What is your motivation for this investigation? What are your project goals?
  2. Related Work - Cite and describe 2-5 (or more) papers that you build upon in your project or otherwise inform your project direction.
  3. Background - What concepts from class will you use in this project? Are there other techniques you will need to draw on beyond the course to accomplish your project? Describe them here.
  4. Methods - What methods do you use to accomplish your project goals? What models are you building to accomplish your project goals?
  5. Experiments - What experiments / calculations do you do to accomplish your project goals / test your hypotheses?
  6. Conclusion - Summary of previous sections and take-aways.

Project Proposal (1), First Draft (2), and Final Draft (4) of Computational Essay

The Project Proposal (1), First Draft (2), and Final Draft (4) of the Computational Essay are really the same document simply at different stages of progress. The purpose of spreading out these drafts is to ensure you are making steady progress on your project and can get concrete feedback from the instructors and peers as soon as possible.

While the Project Proposal will only need to be text (as a PDF created with your favorite word processor), the First and Final Draft of the Computational Essay will additionally include code and thus be in a jupyter notebook. This combination of written prose and concrete code examples is what we call a computational essay. Beyond the code inside the notebook, you may include lightweight python code outside these notebooks in small repositories that do not need to be installed. If you need a special setup for the instructors to run your code, please reach out as soon as possible to determine what accommodations are reasonable

The Project Proposal: All sections should have an outline of what they will contain in later drafts. It is okay if things change as the project progresses. The purpose of this exercise is to have a feasible plan for the project. The Introduction should be fairly complete and the Relevant Literature should be identified. It is totally okay to be explicit about what uncertainties you have for any of the sections - this can help the instructors identify where you might need help! Feel free to use pseudocode to give a high level algorithmic description of what you plan to do.

The First Draft: Introduction, Related Work, and Background should be close to final. Methods should be clear and detailed but can still be in progress. Experiments should be described but it is okay if not complete. Conclusions should only be completed as appropriate based on progress of experiments.

The Final Draft: All sections must be complete. While the Computational Essay only needs to be verbose enough to clearly describe the required sections, we would be surprised if you needed less than ~1000 words to do so. Weaving alternating cells of prose and code together to tell a clear and coherent story is strongly encouraged. If you are importing code that is in an library external to the notebook be sure to briefly describe what it does (in text or code comments). All functions in the notebooks or external libraries MUST have docstrings (like those we've been giving in the homework)!

In-Class Workshoping of First Drafts with Peers

During class time on 4/19, 4/24, and 4/26 you will gather in groups of 3-4 teams (assigned by the instructors based on the broad category of your Project Proposals) to give feedback and comments on each other's First Drafts. We will give additional details on the format of the feedback as the workshop days approach. There should be enough class time to get two rounds of feedback and also update your drafts. The instructors will also be available during this time.

In-Class Presentation

Presentations will be 5 min + 2 min Q&A for one person teams and 7 min + 2 min Q&A for two person teams. You have the option to either 1) present live in class and take questions after OR 2) make a video for your presentation (likely easier for code demos) and then take questions in class.

Note that we will strictly enforce time limits on videos. You may not artificially speed up your speech for the video, but you can speed up videos of demos if needed.

Because of the tight presentation schedule -- we as instructors prefer that you do option (2), but either options will be graded equally.

Please find the presentation schedule here.

If you have a conflict (e.g. ICLR other event that requires you to be away that day), you can ask your classmates to swap slots. Once you have agreed on a swap, email symm4ml-instructors@mit.edu (cc'ing who you are swapping with) and we will make the change.

Your slides/video are due by 9am the day of your presentation. Please send your submission to symm4ml-instructors@mit.edu.


For the last day of class, we will meet in the Greir Room (34-401) to have an end of the semester poster reception to off all your posters and celebrate the completion of the class and semester! We will give more information on how to print your poster as the end of the semester approaches. Printing logistics will dictate when your posters are due (to ensure we can print them in time). Be prepared to have them due by Friday 5/12 at 5:00 pm ET.

In addition to the required sections + your name + your email, you may also want to include the following on your poster:

  • Graphics with captions
  • QR codes to computational essays + (if applicable) relevant repositories

The poster deminsions should be a 24" x 36" portrait (NOTE THIS HAS CHANGED!).

Because we need to be able to print the posters before the reception, posters are due 9am Thursday, May 11th.