Skip to main content

Module 3: Computer Organization & Architecture: 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 forWhere it shows upSymptomRepair evidence
Finishing ISA and Disassembly Lab with only a final answerISA and Disassembly LabThe 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 Memory Hierarchy and Cache Workshop with only a final answerMemory Hierarchy and Cache WorkshopThe 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 Pipelining and Optimization Clinic with only a final answerPipelining and Optimization ClinicThe 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 answerCode KatasThe 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 Instruction Set Architectures, RISC vs CISC, and the Fetch-Decode-Execute Cycle as vocabulary instead of a toolInstruction Set Architectures, RISC vs CISC, and the Fetch-Decode-Execute CycleThe explanation names the concept but cannot decide between two cases.Write one example, one non-example, and the rule that separates them.
Treating Registers, the Program Counter, and the Stack Pointer as vocabulary instead of a toolRegisters, the Program Counter, and the Stack PointerThe 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.

ISA and Disassembly Lab

Source: practice/01-isa-and-disassembly-lab.md

For each statement, identify the error:

  1. "x86 is CISC, so every x86 instruction is slow."
  2. "At -O0 the compiler's output shows what the compiler really does."
  3. "ret jumps to the instruction after the most recent call in the source file."
  4. "Registers are faster than L1 cache because they are cached closer to the core."
  5. "Function pointers are free to call because a pointer is just an address."

Memory Hierarchy and Cache Workshop

Source: practice/02-memory-hierarchy-and-cache-workshop.md

For each statement, identify the error:

  1. "An SSD's low latency means cache hierarchy is no longer important."
  2. "Prefetching always helps because it brings data in earlier."
  3. "If two threads write different variables they cannot interfere."
  4. "std::list<T> is faster than std::vector<T> for insertion-heavy workloads regardless of size."
  5. "Cache misses are rare for code that has good big-O complexity."

Pipelining and Optimization Clinic

Source: practice/03-pipelining-and-optimization-clinic.md

For each statement, identify the error:

  1. "Pipelining halves cycle time."
  2. "A taken branch is a performance cost."
  3. "Forwarding eliminates all data hazards."
  4. "Out-of-order execution means programs are no longer deterministic."
  5. "-O3 auto-vectorizes any loop."

Repair Protocol

For each real mistake:

  1. Reproduce the failure on the smallest example, trace, proof, query, command, or design sketch.
  2. Name the hidden assumption.
  3. Repair the artifact.
  4. Save evidence that changed: failing then passing test, corrected proof step, revised diagram, safer command, benchmark, or review note.
  5. Add one retrieval card beginning with Check... before... or Do not use... when....

Mistake Log

DateMistakeSymptomRoot causeRepair evidenceRetrieval card
StarterPick one radar row aboveExplain how it would fail in this moduleName the assumptionAdd a counterexample or corrected artifactWrite 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.