Tombstone
Memorando
Nov 2002 · age 20
What it was
A flash-card trainer written in Visual J# for a university software course, built in about two days. A teacher, the "Quizzer", writes questions in a small bracket syntax, such as a sentence with the answer cell [Paris | Lutetia], and assigns them to learners by hand or by keyword. A learner answers each hidden cell by typing only the first letter of the right word; the program reveals the word and moves on. Every learner keeps right, wrong and time counts per question, and a mastery rule stops asking a question once its right-minus-wrong margin reaches a limit. A team mode reruns the same engine as a read-aloud drill for a group. A whole quiz set, learners, questions and options, is three serialized objects, so it could be loaded from a web address as easily as from disk.
Wins, for the age
- At twenty, Jeff designed the domain model before the forms: pools, stats, options and modes as real classes, with the Windows Forms screens built on top.
- Wrote a tiny compiler for the bracket grammar that turns a question into a linked list of text and answer nodes, so one structure drives display, checking and the answer key.
- Found on their own the recall-and-mastery instinct that SuperMemo had already made into spaced repetition, reached from first principles in homework.
- Initial-letter answering made a session fast and typos cheap, a real learning-science instinct from an ape who was, at that moment, also being graded.
- It shipped complete, with a Help button on every form.
What it taught
- A bracket grammar plus a small compiler is enough to make authoring pleasant for someone who does not program.
- Serialization as persistence is three lines and done, and also brittle: rename a class and every saved quiz set is orphaned.
- Windows Forms and the .NET class library, learned through the strange lens of Java syntax.
- Honest bugs: a primary-key helper computed a minimum and called it a maximum, the shuffle never moved the last question, and string equality in J# worked only by the luck of interned literals.
Genealogy
Ancestors: none on record. The first of the learning tools. Descendants: Mathml: the teaching instinct, turned to rendering mathematics. Edu Lang: software that shows a learner every step. Tutor: fresh practice problems generated for a real classroom.
Epitaph
Here lies Memorando, which asked only for first letters and kept a permanent record of every one you missed.