General Project Guidelines · "Impact" Track · "Classroom" Track
OverviewIn the final project, you will work in groups of up to four to apply the techniques that you've learned in CS221 to a new setting that you're interested in. Note that regardless of the group size, all groups must submit the work detailed in each milestone and will be graded on the same criteria. Additionally, we expect each team to submit a completed project. We encourage teams of 3-4 students. All projects require students to spend time gathering data and setting up the infrastructure to reach an end result, and thus 3 or 4 person teams can share these tasks much better. This allows the team to focus more on the interesting results and discussion in the project. Each member of the team should contribute in both technical and non-technical components of the project.
If you are interested in doing the class project, submit the project interest form any time before Oct 12th. We encourage all students who might be interested in a project to fill this form out. There is no commitment (you can fill it out and then not follow through with doing a project).
After you submit the form, you will be assigned one of the CAs as your official mentor. They will grade all your work and really get to know your project. You are required to have a 15-minute check-in meeting with your mentor by Nov 20, and are encouraged to drop by your mentor's office hours often to discuss your project. Note that it will take several iterations to find the right project, so be patient; this exploration is an essential part of research, so learn from it. Have fun and don't wait until the last minute!
Project TracksThere will be two tracks for the project this year:
You will be allowed to change your track until the project proposal deadline (Oct 23, 2026).
Deadlines OverviewThroughout the quarter, there will be several milestones so that you can get adequate feedback on the project. While the project milestones are ungraded (except for the final video and final report, graded for extra credit), we can only give feedback on milestones that are submitted on time.
Both tracks will share the same set of milestones and due dates, but have different requirements for each one. Please see the "Classroom" Track and "Impact" Track pages for more detail on each track.
| Milestone | Due |
|---|---|
| Project interest form | Mon Oct 12 |
| Proposal | Fri Oct 23 |
| Progress report | Fri Nov 20 |
| Progress check-in with CA mentor | Fri Nov 20 |
| Final video and final report | Fri Dec 4 |
Submit the milestones on Gradescope and make sure all group members are added to the submission.
All milestones are due at 11:59pm.
For each milestone, you should submit:proposal.pdf, progress.pdf, or final.pdf containing a PDF of your
writeup.
Template: we recommend using the ICLR 2026 template as a starting point. You can upload the zip directly to Overleaf (New Project > Upload Project). Uncomment \iclrfinalcopy so that your names show up.
Can I change my project track? In your proposal, you should clearly state which track you are selecting. You will be allowed to change your specific topic (but not the track) after the proposal, but your progress report and final report should match. If you feel like you have a compelling case for an exception, please make a private post on Ed explaining why you need to change your track, and we will see how we can help.
Can I use the same project for CS221 and another class (CS229, etc.)? The short answer is that you cannot turn in the identical project for both classes, but you can share common infrastructure across the two classes. First, you should make sure that you follow the guidelines for the CS221 project, which are likely different from those of other classes. Second, if any part of the project is done for a purpose outside CS221 (for the final project in CS229 or other classes, or even for your own research), then in the progress and final reports, you must clearly indicate which part of the project was done for CS221 and which part was not. For example, if you're taking CS229, then you cannot turn in the same pure machine learning project for CS221. But you can work on the same broad problem (e.g., news recommendation) for both classes and share the same dataset / generic wrapper code. You should then explore the machine learning aspect of the problem for CS229 (e.g., classifying news relevance) and another topic for CS221 (e.g., optimizing diversity across news articles using search or CSPs).
Are there restrictions on who I can partner up with for the final project? The only hard requirement is that each member of your group must be enrolled in CS221. Thus, if you choose to use the same project for CS221 and another class, all of your partners must be in CS221. If you feel like you have a compelling case for an exception, please submit a request on Ed detailing the parts of the project used for each class and the reasons for deviating from the project policies.
How do I write a good ethical considerations statement? Writing clear limitations and identifying potential risks is part of a broader trend in the research community to include such statements as part of published research. This includes Stanford's Ethics and Society Review (ESR) and the ACL Responsible NLP Research checklist, which are great resources for getting started. An example of a great 'real life' statement in a publication [that would naturally receive full credit!] is in page 9 of the paper 'When Do You Need Billions of Words of Pretraining Data?' [linked here]. Another fantastic resource is this linked guide to 'Writing an ethics statement 101'.
ResourcesCompute. We recommend first starting with these resources or using local compute:
Note: We are working on getting API credits for class projects, more info to come!
AI tools. Some resources that are available to Stanford students if you don't already have an existing subscription:
We are not affiliated with or sponsored by the above (non-Stanford) programs.