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.

Your project can be on any topic of your choice 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. You also have the option of doing a default final project (aka Assignment 4) that we will provide scaffolding code for. This will be similar to the other assignments but longer and more open-ended.

Here is a list of project ideas from Stanford researchers!

To inspire more ideas, you might look at recent deep learning publications from top-tier NLP conferences and labs:

We have included below some pretty cool papers for further inspiration.

Important Dates

Course project proposal (only for students not doing the default final project): due February 9.
The poster session will be held 12:15-3:15pm on March 21.
Final course project: due March 17 (11:59pm).

Finding a Mentor

Students proposing their own project are required to have a mentor who will provide high-level guidance for the project. You must find a mentor before submitting your project proposal. To find a mentor
  1. Contact them in office hours or through email. Briefly go over your background, interests, and ideas you have for the project.
  2. If they agree to mentor you, email with your mentor cc'd. In the email state who your mentor is as well as the names and SUNetIDs of the people in your team.
Here are the mentors affiliated with cs224n: However, you are free to ask anyone else (such as other Stanford faculty and grad students) to mentor you as long as they have substantial experience with deep learning.

Mentors will take up to 25 teams each on a first-come-first-serve basis, so it is recommended you contact them early!

Grading Policy

The final project is worth 30% for your grade (with your poster presentation comprising additional 2%). 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.

Project Proposal

The project proposal should be a few short paragraphs (200-400 words overall). If you are doing the default final project, you do not need to submit a proposal. If you do not submit a proposal on time, you have to do the default final project. Your proposal should contain the following headings:

Submission: Please upload one proposal per team on Gradescope.

Final Submission

Your final write-up should be between 6 - 8 pages using the provided template. After the class, 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.
You should include a brief statement on the contributions of different members of the team. Team members will normally get the same grade, but we reserve the right to differentiate in egregious cases.

Submit your final submission as instructed below:
  1. A PDF file of your final report submitted through Gradescope.
  2. A zip file with supplementary materials through our submission script. You are required to include all the code for your project in the supplementary materials.

Report. The following is a suggested structure for the report:
Supplementary Material is not counted toward your 6-8 page limit.
Examples of things to put in your supplementary material: Examples of things to not put in your supplementary material:

Poster Session

We will hold a poster session in which you will present the results of your projects im the form of a poster. The poster session will happen on Match 21st, 12:15-3:15pm (location: Lathrop second floor). Poster boards and easels will be provided.

Example Project Reports

Your project reports should structure like a NLP conference paper (NIPS, ICML, EMNLP, ACL, etc.). You can find publications from Stanford NLP Group from here. In addition, you may also take a look at some previous projects from other Stanford CS classes, such as CS221, CS229, CS224W and CS231n as well as previous cs224n and cs224d projects.

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.