Module 5: Abstraction & Interpretation: Mistake Clinic
This clinic turns wrong moves into reusable judgment. Use it after each practice page and again before the quiz or checkpoint.
Module-Specific Mistake Radar
Start with these traps. Replace or extend them with real mistakes from your own work.
| Mistake to look for | Where it shows up | Symptom | Repair evidence |
|---|---|---|---|
| Finishing Abstraction and HOF Lab with only a final answer | Abstraction and HOF Lab | The work has no failed case, trace, test, proof gap, or design stress point. | Add the smallest broken example and show the repair that changes the result. |
| Finishing Evaluation Models Workshop with only a final answer | Evaluation Models Workshop | The work has no failed case, trace, test, proof gap, or design stress point. | Add the smallest broken example and show the repair that changes the result. |
| Finishing Interpreter Construction Clinic with only a final answer | Interpreter Construction Clinic | The work has no failed case, trace, test, proof gap, or design stress point. | Add the smallest broken example and show the repair that changes the result. |
| Finishing Code Katas with only a final answer | Code Katas | The work has no failed case, trace, test, proof gap, or design stress point. | Add the smallest broken example and show the repair that changes the result. |
| Treating Procedural Abstraction: Procedures as Black Boxes as vocabulary instead of a tool | Procedural Abstraction: Procedures as Black Boxes | The explanation names the concept but cannot decide between two cases. | Write one example, one non-example, and the rule that separates them. |
| Treating Data Abstraction and Abstract Data Types as vocabulary instead of a tool | Data Abstraction and Abstract Data Types | The explanation names the concept but cannot decide between two cases. | Write one example, one non-example, and the rule that separates them. |
Practice Mistake Checks
Pull any miss from these checks into your mistake log.
Abstraction and HOF Lab
Source: practice/01-abstraction-and-hof-lab.md
Identify the error in each of these patterns (do NOT write correct code yet -- explain the bug):
newtonis implemented as a loop that mutatesx, then returnsx. Why is this a smell in a library that wants to be composable?average-dampis implemented asaverage-damp(f, x)-- takingxas an extra argument instead of returning a procedure.integralhard-codesdx = 0.001deep inside its body.fixed-pointusesset!inside a loop over a mutable binding captured by a closure; two callers of the same library share a cached guess.
Repair Protocol
For each real mistake:
- Reproduce the failure on the smallest example, trace, proof, query, command, or design sketch.
- Name the hidden assumption.
- Repair the artifact.
- Save evidence that changed: failing then passing test, corrected proof step, revised diagram, safer command, benchmark, or review note.
- Add one retrieval card beginning with Check... before... or Do not use... when....
Mistake Log
| Date | Mistake | Symptom | Root cause | Repair evidence | Retrieval card |
|---|---|---|---|---|---|
| Starter | Pick one radar row above | Explain how it would fail in this module | Name the assumption | Add a counterexample or corrected artifact | Write the card before closing the page |
Completion Standard
- At least five real mistakes are logged.
- At least two mistakes include a counterexample or failing test.
- At least one mistake connects to an older semester skill.
- At least one correction changes code, a proof, a diagram, a command transcript, a query, or a design decision.