Course Project
The course project is your chance to apply ML to a problem that genuinely interests you. Projects can follow one of two broad tracks:
- Applications: apply ML methods to a real problem in your domain of interest.
- Methods: develop or extend algorithms and evaluate them rigorously.
Your project must involve data and empirical evaluation. Ambitious, well-scoped projects that demonstrate thoughtful methodology and clear analysis are encouraged.
Important Dates
Unless otherwise noted, all items are due at 11:59pm local time.
The project is 40% of the course grade, split across five deliverables.
| Deliverable | Weight | Due Date | Late Days |
|---|---|---|---|
| Pre-proposal (Problem 6 of PS2, on Slack) | 3% | 2026-10-08 | Yes |
| Team formation (post your team on Slack) | 2026-10-13 | ||
| Proposal (Problem 4 of PS3, PDF on Slack) | 7% | Tuesday 2026-10-20 | Yes |
| Progress report | 5% | Tuesday 2026-11-17 | Yes |
| Poster session | 10% | Friday 2026-12-04 | No |
| Final report | 15% | 2026-12-10 | No |
Teams form after the pre-proposals: read the pre-proposals on Slack, comment on the ones you find interesting, then either keep your own project, change it, or join one listed on the channel.
Overview
Choose a problem/topic that excites you. Example directions include:
- Predictive modeling on a curated dataset (classification, regression, forecasting).
- Representation learning and feature engineering for a specific task.
- Comparative study of algorithms for a well-defined problem.
- Re-implementation and careful evaluation of a recent paper.
Projects are done in teams of 2 to 3. An individual project or a team of 4 needs a justification. Larger teams are expected to deliver correspondingly deeper scope, stronger analysis, and clearer takeaways.
Some Project Criteria and Guidelines
- Define a problem in such a way that you can start running training experiments locally on your machine, and then scale up if it works. Accordingly, if you need HPC access, request it early!
- Make sure that you can obtain the dataset as soon as possible (preferably by the time you submit your proposal).
- You should build a model from scratch. The goal of this project is to get you familiar with the challenges of gathering data and building a model yourself. Set realistic goals for your project, both in terms of time and resources.
- Favor depth over breadth. For example, choose one (or two) arhitectures and explore different techniques with them, rather than trying to implement 5 different architectures superficially.
- Your report and presentation should clearly demonstrate that you engaged in a deep, iterative design and prototyping cycle, making adjustments based on the weaknesses and drawbacks of each model and design choice.
Collaboration and Honor Code
You may consult books, papers, public repos, and online resources, provided you cite them clearly in your report and code. Do not copy others’ code verbatim without attribution. If this project overlaps with another course or research effort, clearly delineate the portion that is unique to this course.
Late Policy
Late days apply to the proposal and progress report only. The final report and presentation have fixed deadlines.
Project Proposal
Due Tuesday 20 October. The proposal contains everything in your pre-proposal, in more detail, plus preliminary data exploration if you already have the data and a more detailed plan for the modeling and learning. Address:
- Problem statement and motivation (why it matters)
- Related work you will draw on
- Data you will use (source, size, access, preprocessing needs), with first plots and statistics if you have it
- Methods you plan to try (baseline first, then improvements), and what you will learn from each
- How you will evaluate results (metrics, baselines, ablations)
Submission: one PDF per team, written in LaTeX with references, posted on the Slack channel #project-hub and submitted with Problem Set 3. Include team members and emails. The full instructions are Problem 4 of Problem Set 3.
Progress Report
Due Tuesday 17 November. 2–3 pages using the provided template. Include:
- Title and team
- Refined problem statement and dataset details
- Technical approach so far (with diagrams if helpful)
- Preliminary results/figures and what you learned
- Updated plan and risks
Submission: one PDF per team.
Final Report
6–8 pages using the course template, written like a short paper. Suggested structure and grading rubric:
- Title, authors
- Abstract (≤300 words)
- Introduction (motivation, problem, contributions)
- Related Work
- Data (source, statistics, preprocessing)
- Methods (clear, reproducible description; include ablations where relevant)
- Experiments (metrics, baselines, comparisons, figures/tables)
- Conclusion (key takeaways, limitations, future work)
- References
Also submit minimal supplementary material as needed (e.g., small demo video or link to code repository).
Presentation
A poster session on Friday 4 December. Aim to communicate the problem, approach, and main insights clearly to a general ML audience.
Resources and Inspiration
- Top venues for recent ideas: NeurIPS, ICML, ICLR, CVPR, ICCV, ECCV.
- Public datasets: UCI, Kaggle, OpenML, Hugging Face Datasets, COCO/Cityscapes (vision), LAION (vision-language), and domain-specific repositories listed on the course Resources page.
If you need feedback on scope or dataset choice, reach out early.