I'm Spwashi. I teach computer science the way I learn math: one mechanism, one test, one artifact.
Curriculum • 8–12 weeks • Local-first • No login
One mechanism, one economic analogy, one boundary test so the metaphor cannot fossilize. Breadth is the six-module map; depth is a proof you can export. Neighbors: the structure atlas, the grammar surface, recipes.
Economic pressure gives the learner a familiar room before the technical trace gets dense.
Every module asks where the metaphor fails so the native computing model stays intact.
The exit state is a memo, proof card, Spw fragment, or teaching surface, not only a completed reading.
Everything stays in this browser. Hold a number to prime it into the cauldron — buffers, weeks, doses become ingredients, not captions. Tune how loudly those numbers speak in numericity emphasis.
Make a tiny show. Leave with a cue sheet.
Draw three cards: a bell, a lantern, and a ribbon. You are arranging a two-cue show in a room that needs quiet. The bell and lantern are available; the ribbon is missing. The bell makes sound; the other two cues are silent.
The cards give you something to move, reject, revise, and hand to another person. Start with the question you care about below. Each page contributes one piece to the same sheet; you can do the whole exercise on paper.
- What is allowed? Write a rule and find a counterexample. Keep the rule beside one cue it admits and one it rejects.
- What do we need to remember? Separate prop facts from running order. Keep names stable while you rearrange the cards.
- What could happen? Count the possible orders. State whether order matters and repeats are allowed.
- How does the rule run? Trace a decision for each cue. You can follow the code on paper or run it in JavaScript.
- What would expose a mistake? Try a noisy, missing, and incompletely described prop. Keep expected and observed results together.
Then give the cue sheet to another performer. What can they do without your explanation? The useful outcome is a runnable instruction and a recorded revision. The quiet-room rule is only one constraint; it does not assess timing, mood, or audience response.
A completed first version
Quiet show, version 1. Play only cues that are available and known to be silent. The lantern passes; the bell is noisy; the ribbon is missing. I found the ribbon and updated its record. My proposed order is lantern → ribbon. Both now pass the rule. Rehearsal is still pending: can another person tell when the second cue begins?
Download the editable cue sheet (Markdown), or copy the example into your own notes. The file includes prompts, test cases, and links back to each step. Your notes do not need a site account or a special format.
Adapt the method to a task you already know, then file it so someone can find and revise it.
1. Memory Management & Economic Buffers 1 week • Cask / Liquidity Keeper
This room is a bounded buffer: household liquidity mapped onto RAM, cache, and swap. Hold the number, then take the boundary test before you trust the story.
Economic parallel: A household or gig worker managing volatile income against fixed expenses. Savings buffers, credit (debt/swap), subscription drains (leaks), and the cost of reclamation (eviction, garbage collection). Volatility scenarios: one steady job vs. multiple unpredictable gigs.
Technical mechanism: RAM as fast expensive cache, disk swap as slower larger buffer, allocation/reclamation policies, fragmentation, leaks as un-reclaimed subscriptions. Trace a process address space or a browser tab under memory pressure. The neighboring software depth is named owners and projections; the math depth is threshold, dose, and receipt.
Boundary Test — Memory as Household Liquidity
If you landed on this fragment: mark every place “household liquidity ↔ memory hierarchy” fails. The test is the lesson. Then write the audit memo.
Why boundary tests are non-negotiable here
Analogies are powerful compression. Without explicit stress-testing they fossilize into misconceptions. Every module ends with this surface so you return to the technical trace stronger, not confused.
Artifact: Memory Leak Audit Memo (or short proof card)
Capture one real or hypothetical system. Name the buffers, the volatility sources, the reclamation policy, and at least two places the household analogy would have misled you without the boundary test.
All artifacts stay in your browser until you export. No account, no server.
Socio-technical reflection prompt: Who bears the cost when buffers are under-provisioned or leaks go undetected? In gig-platform work? In public-school device fleets? In creator-platform memory budgets for live video?
Modules 2–6 (stubs — full surfaces in later phases)
Cross-cutting thread (Week 7 synthesis)
Stabilizing institutions (unions, tenure, public funding, degrees, licenses) vs. novel disruptions (gig platforms, AI management, microcredentials, creator economies). Use the U.S. indicators from the source report as data points inside your own comparative case brief.
This thread runs through every module and becomes the capstone portfolio spine.
Your local route map (stub — expands in Phase 2)
8–12 week view. Checkmarks and artifact counts persist in this browser only. Export the whole map + artifacts as a single bundle.
No account. The map is this page plus whatever you export. If a stub still needs a teacher, the linked math and software rooms are the lesson until the module frame exists.
For Language Models, Agents & Future Editors
This surface is intentionally machine-legible and extensible. The curriculum is built on the same semantic contracts (data-spw-*, frames, operators, developmental climate, local state) that power the rest of spwashi.com. Other models can read this page, the linked .spw ontology files, the PLAN.md, and the runtime JS to understand the model and contribute new modules, simulations, operators, or guide characters without breaking existing surfaces.
Core principle: Every technical concept is paired with a bounded economic analogy + mandatory boundary test. All learner state and artifacts are local-first, plain-file, replayable, and exportable (JSON, Markdown, and Spw).
Curriculum Ontology (6 modules + cross-cutting thread)
- 1. Memory Management & Economic Buffers
-
Economic parallel: Household / gig-income liquidity, savings buffers, credit-as-swap, subscription drains (leaks), reclamation cost (eviction/GC).
Technical core: RAM tiers, allocation/reclamation policies, fragmentation, leaks under pressure.
Boundary test contract: Checklist of where the household mapping distorts (real-time deadlines, ownership, fleet-scale effects, invisible drains).
Artifact: Memory-leak audit memo / proof card (with boundary reflection).
Suggested guide / RPG: Cask (Liquidity Keeper) — already wired in Town Library. RPG: "Operating System of a Household under Volatility".
Key data attrs:
data-spw-curriculum-module="memory-buffers",data-spw-kind="boundary-test",data-spw-kind="proof-artifact",data-spw-measure-kind="subjective|objective". Spw projection example:#>memory_audit[leak] { buffers: [ram, cache, swap], volatility: "gig", boundary_breaks: ["real-time", "ownership"] } - 2. Systems & Operating Systems
- Economic parallel: Institutional governance of scarce resources (unions/tenure as priority queues, public funding as guarantees, algorithmic management dashboards as contrast). Technical core: Process scheduling, priority, fairness, starvation, context switching under load. Boundary test: Where does "school as OS" or "platform as scheduler" hide power, coercion, or unmodeled failure modes? Artifact: "Operating system of a school / gig platform" system map with justification. Guide / RPG hook: New or extended guide (e.g. "Scheduler" or "Tenure Warden"). RPG Wednesday scenario for scarce-resource governance. Extension note: Use existing RPG arc surfaces; add data-spw-curriculum-module and link to existing cast/world files.
- 3. Networking & Markets
- Economic parallel: Packet routing as supply chain with intermediaries (ISP, app store, gig platform) and transaction costs. "Throttle the market" experiments. Technical core: Routing, congestion control, intermediaries, reach risk, platform bottlenecks. Artifact: Fair protocol + fair marketplace rule-set design (proof card). Simulation pattern: Canvas/SVG packet-market game (follow math-interactive-lab + data-control contract).
- 4. Algorithms & Incentives
- Economic parallel: Matching markets (jobs, courses, housing) — fastest vs. fairest. Recommender incentive misalignment and bias. Technical core: Search, sort, stable matching, complexity, Pareto fronts. Artifact: Algorithm critique + small runnable or pseudocode implementation with incentive analysis. Spw angle: Workbench projections of tradeoff reasoning.
- 5. Data Structures & Credential Records
- Economic parallel: Credential registries as signaling markets. Degrees/licenses (stabilizing, high search cost) vs. microcredentials (novel, fragmented, low trust). Technical core: Ledgers, graphs, indexing, fragmentation, retrieval cost. Artifact: Credential-registry prototype (Spw graph or SVG + local state) with structural fit reasoning.
- 6. Security & Externalities
- Economic parallel: Threat modeling as insurance + regulation problem. First-party vs. third-party harms, information asymmetry, platform risk for creators/gig workers. Technical core: Adversary models, information asymmetry operators, NIST-style framing mapped to socio-technical surfaces. Artifact: Threat model + externalities memo for a concrete case (school portal, gig app, creator account). Capstone tie-in: Comparative brief across all modules on stabilizing institutions vs. novel disruptions.
Reusable Contracts (for extension)
- Boundary Test: Always a form with
data-boundary-test="module-slug", checkboxes for breakdowns, textarea for reflection. JS (or progressive) logs to localspwashi:curriculum:*:boundary. Must appear immediately after every analogy mapping. - Proof / Artifact: Writable frame or textarea with
data-proof-field="type". Export buttons produce JSON (with boundary snapshot), Markdown, and Spw fragment. Screenshot-ready by default. - Module Frame:
<section class="spw-frame" data-spw-curriculum-module="slug" data-spw-kind="module">containing overview, economic parallel, technical trace, boundary-test article, artifact generator, socio-technical reflection, guide/RPG links. - Learning Mode Presets (future): Extend
site-settings.jsDEVELOPMENTAL_CLIMATES or add curriculum-specific presets that composesemanticDensity,grainIntensity,layoutTuner, and wonder memory. The curriculum page should respond visibly.
Extension Recipes (how to add)
- New module: Copy the Memory frame structure. Add
data-spw-curriculum-module. Create short economic parallel + one boundary test + artifact stub. Link a guide character (new or existing in library). Update this ontology section and the progress map. Add to PLAN.md. - New curriculum operator / register (e.g.
liquidity>,boundary!): Add entry topublic/js/kernel/shared.jsOPERATOR_DEFINITIONS (update regex if new prefix). Add color token inpublic/css/tokens/core.css. Document in.spw/conventions/operator-semantics.spw. Use compound sigils (#>liquidity_buffer) for Phase 1 safety. - New simulation: Follow
topics/math/*/index.html+public/js/modules/math/diagrams.jspattern (.math-interactive-lab,data-control,data-output, SVG or canvas mutation on input, status element, figcaption fallback). Or usedata-spw-accentcanvas for ambient ornament. Always provide textual "paper simulation" instructions. - New guide character or RPG scenario: Add frame-card in
play/rpg-wednesday/library/(guide + quest). Link from curriculum module. Wire into boonhonk or existing RPG surfaces if it produces collectible artifacts.
Primary source of truth for the full integration vision and phased roadmap: #>plans (or the file .agents/plans/archive/living-learning-surface/PLAN.md in the repo). Update that PLAN when you extend the model.
Machine-readable surface (for agents): This page, the body data attributes, the ontology dl, and the contracts above are the primary contract. Cross-reference .spw/conventions/operator-semantics.spw, .spw/surfaces/page-model.spw, public/js/kernel/shared.js, public/js/kernel/site-settings.js, and the math lab patterns for implementation details.