CSCI 4750/5750 · Spring 2027 · Final Project
The project (30% of grade) is the course’s capstone: teams of 1–4 formulate a machine learning question, run real experiments against honest baselines, and communicate the results like researchers or like an ML team presenting to the people who would ship it. Presentations run on three days — Fri Apr 30 and Mon May 3 (in class) and Wed May 5, 12:00–1:50 PM (the registrar’s final-exam slot) — 7 min talk + 2 min Q&A per team on any day.
Detailed instructions for each deliverable — team declaration, proposal, milestone check-in, presentation, and final report — are posted on Canvas.
The Mar 1 project studio runs in class; the worksheet is handed out that day.
Tracks
Every team — 4750, 5750, or mixed — chooses either track.
- Research track: investigate a question — form a hypothesis, design experiments, compare against at least one baseline, and analyze what the results do and do not show. Must include a related-work section situating the question in the literature.
- Application track: build an ML system for a real task with a serious evaluation — a held-out test set you never tuned on, at least two compared approaches (one of them a simple baseline), and error analysis. “We trained a model and the accuracy is high” does not clear the bar; the evaluation is the project.
Team policy
- Teams of 1–4. Scope scales with team size: a 4-person project should attempt roughly twice what a 2-person project does (more conditions, more analysis, a larger evaluation) — the rubric is the same, but “enough work” is judged per person.
- Solo projects are allowed and graded on the same rubric; a solo report may run shorter (4–6 pages instead of 6–8) with the same required sections.
- Teams declare themselves on Canvas by Mon Feb 22, 11:59 PM (sign-up opens Mon Jan 25) — see the team-declaration instructions. Students without a team on Feb 22 are matched at the start of the Mar 1 studio.
- Teams of 2+ include an individual contribution statement in the final report.
Timeline
| Date | Milestone | Weight |
|---|---|---|
| Mon Jan 25 | Team sign-up opens on Canvas | — |
| Mon Feb 22, 11:59 PM | Teams declared (Canvas group + declaration survey) | required, ungraded |
| Mon Mar 1 | Project studio (in class): structured workshop; each team leaves with a proposal skeleton | — |
| Fri Mar 19, 11:59 PM | Proposal (1–2 pages) · book your check-in slot | 5% |
| by Wed Mar 31 | Proposal feedback returned (approve/redirect) | — |
| Mon Apr 12 – Fri Apr 16, or Mon Apr 19 | Milestone check-in: 10-minute slot per team, booked into office hours (11:00 AM–12:00 PM, Ritter Hall 309); data in hand, baseline running, preliminary numbers | required, ungraded gate |
| Fri Apr 23 | Presentation-day assignments posted (balanced across the three days) | — |
| 11:59 AM the day before your day | Slides due (Thu Apr 29 for day 1, Sun May 2 for day 2, Tue May 4 for day 3) so each session runs off one laptop | — |
| Fri Apr 30, 10:00–10:50 | Presentations, day 1 (in class) | 10% (any day) |
| Mon May 3, 10:00–10:50 | Presentations, day 2 (in class; last class meeting) | ↑ |
| Wed May 5, 12:00–1:50 PM | Presentations, day 3 (final-exam slot) | ↑ |
| Tue May 11, 11:59 PM | Final report: NeurIPS-style format + individual contribution statement | 15% |
No late days on project deliverables. All three presentation days use the same rubric; day assignment does not affect grading.
Rubrics (summary)
Proposal (5%): clear question (2), feasible plan with identified data (2), sensible evaluation design (1). Main purpose is early feedback — graded generously, redirected firmly.
Presentation (10%): problem motivation & clarity (3), technical soundness (3), results & honest analysis including failures (3), Q&A (1).
Report (15%): problem & related work (3), methods correctness & clarity (4), experiments + evaluation rigor (4), analysis & limitations (3), writing quality (1). Negative results honestly analyzed grade as well as positive ones.
Example project menu (teams may also propose their own)
Any item can be adapted to either track — the difference is whether the deliverable is an answered question (research) or an evaluated system (application). Scope any item up or down for your team size. Every item runs on Colab-sized compute.
Research-track flavored
- Double descent in the wild: does test error really peak at the interpolation threshold for random-feature models and small networks on a real dataset, and how does label noise move the peak? (Extends the HW1 G part.)
- Trees vs. networks on tables: on a suite of OpenML tabular datasets, when do gradient-boosted trees beat neural networks, and where does TabPFN fit? Vary dataset size and feature types.
- Calibration under shift: how well calibrated are logistic regression, boosted trees, and neural networks, and does temperature scaling survive a distribution shift?
- Label-noise robustness: how much label noise can k-NN, random forests, and CNNs tolerate on Fashion-MNIST, and does early stopping act as a defense?
- Shortcut learning: plant a spurious feature (a watermark, a background color) that predicts the label in training only; measure what each model learns and which fixes (augmentation, reweighting) work.
- Data pruning: can you train on 20% of a dataset, chosen by difficulty or diversity, and match the full-data model? Compare selection rules against random subsets.
- The price of fairness: on a public census-income dataset, measure the accuracy cost of enforcing demographic parity vs. equalized odds, and show the impossibility result in real numbers.
- Linear probes vs. fine-tuning: how far does logistic regression on frozen features from a pretrained vision model go, across training-set sizes, compared with fine-tuning?
- Active learning on a budget: does uncertainty sampling beat random sampling when you can afford only a few hundred labels?
- Is tuning worth it? Random vs. grid vs. Bayesian-optimization search at matched budgets across several models; how often does tuning beat sensible defaults?
- Grokking: reproduce delayed generalization on modular arithmetic with a small network; how do weight decay and dataset size control when it happens?
- Membership inference: can an attacker tell whether an example was in the training set from the model’s confidence? How do regularization and early stopping change it?
- Clustering honesty: on data with known structure, how often do k-means, GMMs and DBSCAN recover it, and how misleading are t-SNE/UMAP pictures of the same data?
Application-track flavored
- A St. Louis prediction problem: air quality, bike-share or transit demand, or housing prices from public data — with a strictly time-based split, and a seasonal baseline to beat.
- Fraud detection under imbalance: a public card-transaction dataset with fewer than 1% positives; compare models by PR-AUC and by a dollar cost of each error type.
- Medical images, carefully: a MedMNIST task with calibration, per-subgroup error analysis, and an honest statement of what the model must never be used for.
- A recommender for a real catalog: MovieLens, Goodreads or Steam — popularity vs. matrix factorization vs. a two-tower model, by recall@k on held-out interactions.
- Sports analytics: predict pitch type or outcome from public Statcast data, with leakage-safe splits by game or season.
- Remote sensing: land-use classification on EuroSAT satellite images; transfer learning vs. training from scratch, with a per-class error analysis.
- Audio classification: keyword spotting or environmental sounds (Speech Commands, ESC-50) — spectrogram CNN vs. a pretrained audio embedding with a linear probe.