Course Project


The Course Project is worth a significant portion of your grade. It offers you the chance to apply your newly acquired skills towards an in-depth application. There are two options for the course project: the default final project, and choosing your own topic. We strongly recommend you do the course project in a team. Teams can be up to 3 people. Keep in mind that larger teams will be expected to do correspondingly larger projects. You should only form a 3-person team if you are planning to do an ambitious project where every team member will have a large contribution.

Important Dates

Course project proposal: due February 8.
Course project milestone: due February 28.
The poster session will be held 5:30 - 8:30pm on March 21.
Final submission: due March 18 (11:59pm).

The project proposal and milestone are small, and are only worth a small amount of credit for submitting them on time. However, you cannot use late days for them. You can use up to three late days for the course project. However, note that if you are in a team, pushing the deadline back a day takes one late day per person (see the grading page).

Default Final Project

See the default final project page.

Choose-your-own Final Project

The choose-your-own final project lets you explore a task or research idea you are excited about. You can choose any topic related to deep learning for NLP. To be precise: That means that the project should make substantive use of deep learning and substative use of human language data.

To inspire project ideas, here are some cool NLP papers: And here are some NLP datasets:

We encourage you to go to Richard's, Kevin's, Abi's or Tim's office hours to discuss your project idea before submitting a your proposal. After your proposal is submitted, you will be assigned a mentor (Richard or a PhD student TA) to provide advice about your project.

For the choose-your-own final project, you may use any deep learning framework you like – e.g. TensorFlow, PyTorch, Theano, etc.

Computing Resources

All Course Project teams will receive credits to use the cloud computing service Azure. See this guide for all information relating to Azure.

Practical Tips

We have compiled some practical tips on how to manage your deep learning experiments – for example, using Git to mange your code, TMUX to manage your VM sessions, and how to monitor your CPU and GPU usage.

Project Proposal

Details on the project proposal can be found here. The proposal will be graded credit/no-credit based on whether you turned it in on time. If you do not submit a proposal on time, you have to do the default final project. Please fill out one proposal per team.

Project Milestone

See the milestone page.

Final Submission

Your final write-up should be between 6 - 8 pages using the provided template. At the end of the quarter, we will post all the final reports online so that you can read about each others' work. If you do not want your writeup to be posted online, then please let us know when you submit your writeup.

There are three things you need to turn in (each is a separate Gradescope submission):
  1. Final Project Writeup: A PDF file of your final report. Submitted to Gradescope.
  2. Final Project Supplementary Materials: A zip file of your supplementary materials. You are required to include all the code for your project in the supplementary materials. Submitted to Gradescope.
  3. Final Project Additional Information: A PDF file with the additional information described here. Submitted to Gradescope.
Your team only needs to submit each of these things once, but make sure that the submission tags all members of the team.


The following is a suggested structure for the report:

Supplementary Material

Examples of things to include in your supplementary material: Examples of things not to include in your supplementary material: Supplementary Material is not counted toward your 6-8 page limit.

Poster Session

We will hold a poster session, where you will present the results of your projects in the form of a poster. The poster session will happen on March 21st, 5:30-8:30pm in McCaw Hall at the Alumni Center. Poster boards and easels will be provided.

Grading Policy

The final project is worth 32% of your grade (with your poster presentation comprising additional 3%). You are allowed to work in groups of up to 3 people and may use up to 3 late days. See the grading page for more details.

Example Project Reports

Your project reports should be structured like a NLP conference paper (ACL, EMNLP, NIPS, ICML etc.). You can find publications from the Stanford NLP Group here. In addition, you may want to look at last year's course projects (particularly the prize winners!).

Collaboration Policy

You can work in teams of up to 3 people. Larger teams are expected to do larger projects. See the grading page for more details.

Honor Code

You may use any existing code, libraries, etc. and consult and any papers, books, online references, etc. for your project. However, you must cite your sources in your writeup and clearly indicate which parts of the project are your contribution and which parts were implemented by others. Under no circumstances may you look at another cs224n group’s code or incorporate their code into your project.

If you are doing a similar project for another class, you must make this clear and write down the exact portion of the project that is being counted for CS224n.