Overview
What this challenge is about.
Read the existing parser (recursive-descent, in Rust). Design and implement a panic-mode error recovery strategy with synchronization tokens (statement boundary, end of block, semicolon). For every recovery point, emit a diagnostic with a Did-you-mean suggestion where possible (e.g. missing semicolon, mismatched brace, wrong keyword). Run the resulting compiler on the 4,000-program corpus and measure: cascade-error rate (false extra errors caused by recovery), average diagnostics per buggy program, and message readability via a 30-program scoring rubric. Deliver the implementation, a benchmark report, and 6 before/after diagnostic screenshots for the marketing team.
The Brief
What you'll do, and what you'll demonstrate.
Replace fail-fast parsing with multi-error recovery that produces clear diagnostics across a corpus of real student programs without flooding the output with cascade errors.
Earning criteria — what you'll demonstrate
- Implement panic-mode recovery with synchronization tokens
- Design diagnostics for a non-engineer audience
- Measure cascade-error rate and tune synchronization aggressiveness
- Work safely inside a real Rust codebase with established conventions
Program Fit
Where this fits in your program.
Sharpens the same skills your degree expects you to demonstrate.
Skills
Skills you'll demonstrate.
Each one shows up on your verified credential.
Careers
Roles this prepares you for.
Real titles. Real skill bridges. Pick the one closest to your trajectory.
Product Manager
Product managers in developer tools who have actually measured diagnostic readability understand why error-message quality is a feature, not polish.
This challenge sharpens
- diagnostic-design
- benchmarking
- error-recovery