Ch38 Discussion
Discussion Guide
Opening prompt (5 min). "You have a program that prints a beautiful heat map of a warming plate. A skeptic says: how do you know it's right and not just plausible? What, concretely, do you show them?" Steer toward: a convergence study against a known solution — nothing else settles it.
Prompt 1 — verification vs validation. Give three scenarios and have students classify each as verification or validation: (a) comparing the solver to $\sin(\pi x)\sin(\pi y)e^{-2\alpha\pi^2 t}$; (b) comparing it to infrared-camera measurements of a real heated aluminium plate; (c) checking that the observed order of accuracy is 2. [Answers: (a) verification, (b) validation, (c) verification.] Then: "Which can this chapter do, and which would need a lab?" Surfaces the honesty that the chapter does verification only.
Prompt 2 — the wrong order. "Your convergence study measures order 1.0, dead flat, on every grid. The code runs and the heat maps look fine. What do you conclude, and what are the top two suspects?" [A bug — almost certainly a dropped $1/h^2$ or a lopsided/mixed-time-level stencil. Order 1 is not 'close to 2'.] Emphasize: the convergence study diagnoses, it does not merely pass/fail.
Prompt 3 — the honest speedup. "A paper claims '20× faster on 16 cores.' Amdahl with a 98% parallel
fraction caps 16-core speedup near 12×. Is the paper lying?" [Not necessarily — but the baseline must be an
unoptimized (-O0) serial build, and not saying so misleads the reader. A real speedup over a bad baseline
is a weak claim dressed as a strong one.] Connect to: always state the baseline and the build configuration.
Mini group activity (20-25 min) — Referee the manuscript. Split into groups of 3-4. Hand each group the Case Study 1 manuscript summary: the method (heat eq, five-point stencil, FTCS, OpenMP), the claims ("physically correct," "20× faster"), and the telling detail ("high-resolution runs produced NaN and were discarded, fixed timestep across resolutions"). Each group writes a 4-point referee report: (1) what verification is missing and how to add it; (2) diagnose the NaN (CFL violation — halving $h$ quadruples $r$); (3) what the speedup claim omits (baseline, build config); (4) fix the overclaim ("verified," not "physically correct"). Reconvene and compare reports to §38.6's checklist. Debrief: notice that four of the five reviewer concerns are about trust, not cleverness — that ratio is the lesson of the whole chapter.
Closing synthesis (5 min). "In one sentence: what turns a program into a result?" Target: a program plus the verified, reproducible, honestly-scoped argument that it is right — and building that argument, visibly, is the work. Then look forward: Ch. 39 (write tomorrow's Fortran) and Ch. 40 (this solver as your portfolio).