Final Project (50 points)
A small, end-to-end research project that uses something from the course to answer a focused biological or methodological question. Done individually or in pairs.
Format
- Code: a tidy project directory (zipped or GitHub link) including
CLAUDE.md,prompts.md, and a single command to reproduce all results. - Report: 4–6 pages PDF in standard manuscript format (intro, methods, results, discussion, tools-used appendix).
- One figure in the report must be a parameter-recovery or assumption-stress simulation (Lab 9/10 style) supporting your headline result.
Timeline
| When | What |
|---|---|
| End of Day 5 | Verbal pitch (3 min, in class) of your topic. |
| Day +3 (post-course) | 1-paragraph written proposal due via Slack. |
| Day +14 | Code + report due, 23:59 your local time. |
| Day +21 | Grades returned with comments. |
Choose your track
Track 1 — Camera-trap
Suggested questions:
- How much does between-site classifier accuracy variation bias an occupancy estimate of a focal Oregon Critters species? Quantify with simulation + a real run.
- Build a "rare class" pipeline: fine-tune a detector for fishers or martens (rare in the Oregon Critters dataset), evaluate site-held-out, propose a deployment strategy.
- Compare three image classifiers (your Lab 5 ResNet, a CLIP zero-shot baseline, MegaDetector species-classifier) on the same 8-class problem.
Track 2 — Bioacoustic
Suggested questions:
- Build a calibrated BirdNET species-list pipeline for a 30-day deployment from a public dataset (Xeno-canto soundscapes, or the dawn-chorus data from Lab 6 extended). Quantify false-positive rates per species.
- Train a custom acoustic classifier for a target outside PNW-Cnet's vocabulary (e.g., mountain quail covey call) and benchmark vs PNW-Cnet's nearest-class fallback.
- Combine BirdNET detections with covariates to fit a single-season acoustic occupancy model for one species, with all the calibration steps from Labs 6 and 10.
Track 3 — Modeling-with-Claude-Code
Suggested questions:
- Pick a published F&W estimator (CJS, Pradel, integrated population model, distance sampling, spatial capture-recapture). With Claude Code, write the simulator, fit the published estimator, demonstrate unbiased recovery, then break one assumption and quantify the bias. Write it up like a methods note.
- Build a population viability analysis for a species of management concern. The PVA must include a sensitivity analysis (which life-stage parameters matter most?) and a clearly defined "what counts as recovery" criterion.
- Reproduce the analysis from a recent F&W paper in your area of interest, with Claude Code as your assistant. Report what was easy and what was hard, and any places where your results differed.
Track 4 — Combined
End-to-end project: detect → classify → aggregate into a tidy CSV → fit an ecological model → report results, with appropriate calibration of the CV model's error propagated into the statistical model. This is the most realistic, the most ambitious, and the highest-ceiling of the four tracks.
Rubric (50 points)
| Component | Points |
|---|---|
| Biological framing. Is the question well-posed? Is the answer meaningful? | 8 |
| Method choice. Are the model and CV pipeline appropriate? Are alternatives considered? | 8 |
| Validation. A parameter-recovery or stress-test simulation is present and well-executed. | 10 |
Code quality and reproducibility. One-command reproduce; clean
CLAUDE.md; sensible repo structure. | 8 |
| Writing. Clear, honest, appropriately cautious. Recommendations actionable. | 10 |
| AI-use disclosure. "Tools used" appendix is present, specific, and honest. | 6 |
| Total | 50 |
Hard requirements (will lose points if missing)
CLAUDE.mdandprompts.mdin the repo root.- A simulation in the report (even if your project is real-data-driven).
- The "Tools used" appendix listing every AI tool you used and for what.
- Reproducibility: instructor must be able to run
bash run.sh(orRscript run.R/python run.py) and get your headline results.
Scope & expectations
This is meant to be ~30 hours of work spread over two weeks — not a thesis. The instructor will push back on proposals that are too ambitious. A small, well-validated, cleanly-written project will score higher than a big, messy one.
Getting unstuck
Drop in to office hours (Tue/Thu 16:00–17:30 in the two weeks after the course) or post in the course Slack. For library/version issues, Claude Code is your friend — paste the error.