Die Lektionen selbst stehen inzwischen als Kurs in sechs Stufen bereit. Dieser Beitrag entwirft einen interaktiven Kurs, in dem man das Programmieren des TI-59 Schritt für Schritt lernt, vom ersten Tastendruck bis zum eigenen Spiel. Der Kurs läuft auf einem TI-59, der als Anwendung auf einem klassischen Macintosh unter System 7.6.1 lebt, mit Tastenfeld, Leuchtziffernanzeige, Drucker PC-100C und Magnetkarten. Es gibt zwei Lernwege: Variante A, den Tastenweg, bei dem das Programm Taste für Taste im LRN-Modus entsteht, und Variante B, den Codeweg, bei dem man ein Listing schreibt, das übersetzt und eingetastet wird. Dieser Entwurf beschreibt Variante A. Variante B baut auf deren Prüfwerkzeug auf und folgt in einem eigenen Beitrag.

Ausgangslage
Die Macintosh-Anwendung des TI-59 ist mit Symantec Visual Architect, der THINK Class Library 2.0 und Symantec C++ 7 auf einem emulierten Macintosh (Basilisk II) gebaut. Darunter arbeitet ein Emulator, der sich Taste für Taste wie das Original verhält.
Für den Kurs ist entscheidend, was bereits vorhanden ist:
- Tasten drücken die emulierte Tastaturmatrix. Was dann geschieht, entscheidet der emulierte TI-59 selbst, wie beim echten Gerät.
- Programme lassen sich auf Magnetkarten speichern und wieder einlesen. So läuft die Mondlandung, ein TI-57-Programm aus L’Ordinateur de Poche, das auf dem TI-59 126 Schritte belegt.
- Der Drucker protokolliert Rechnungen und druckt Listings.
- Anleitungen erscheinen in einem eigenen, formatierten Fenster und sind als SimpleText-Dokumente auf dem Macintosh bearbeitbar.


Zwei Varianten, A zuerst
| Variante A: Tastenweg | Variante B: Codeweg | |
|---|---|---|
| Eingabe | Tasten am TI-59, im LRN-Modus | Listing in einem Editorfeld (Lbl A, x², +, 1, =, R/S) |
| Was man lernt | das Gerät: Modi, Schrittzähler, Tastencodes, Bearbeiten mit SST/BST/Ins/Del | die Struktur eines Programms: Labels, Sprünge, Unterprogramme |
| Prüfung | Zustand des TI-59 nach jedem Schritt, Probelauf am Ende | Übersetzen mit Zeilenfehlern, derselbe Probelauf |
| Rückweg | — | Programmspeicher → Listing |
Variante A kommt zuerst. Sie ist näher am Gerät, und ihr Prüfer (Zustandsabfrage und Probelauf) ist genau das Werkzeug, das Variante B danach zum Testen braucht.
Didaktischer Aufbau
Der Kurs folgt vier Grundsätzen:
- Ein neues Konzept pro Lektion. Jede Lektion führt genau eine Idee ein (Speicher, Programm, Label, Verzweigung, Schleife, Unterprogramm) und nur die Tasten, die sie dafür braucht.
- Vom Rechnen zum Programm. Die Lernenden beginnen dort, wo sie den Rechner schon kennen, beim Rechnen von Hand. Ein Programm ist dann zunächst nichts anderes als eine aufgezeichnete Rechnung. Erst danach kommen Ablaufsteuerung und Struktur.
- Vormachen, mitmachen, selbst machen. Innerhalb einer Lektion nimmt die Führung ab: erst Taste für Taste angeleitet, dann mit Lücken, zuletzt eine Aufgabe ohne Anleitung.
- Wiederholen, was trägt. Jede Lektion verwendet die Inhalte der vorigen weiter. Was in Lektion 2 neu war, ist in Lektion 4 selbstverständlich und in Lektion 10 Werkzeug.
Aufbau einer Lektion
Jede Lektion hat dieselben fünf Teile, damit man sich auf den Inhalt konzentrieren kann statt auf die Form:
| Teil | Inhalt | Führung |
|---|---|---|
| 1. Ziel | ein Satz: was man danach kann | — |
| 2. Erklärung | das neue Konzept, kurz, mit einem Bild der Anzeige | — |
| 3. Vormachen | geführte Schritte, jeder einzeln geprüft | vollständig |
| 4. Üben | eine ähnliche Aufgabe, nur die Zwischenstände werden genannt | teilweise |
| 5. Probe und Rückblick | Abschlussaufgabe ohne Anleitung, Probelauf, Zusammenfassung der neuen Tasten | keine |
Wer eine Lektion abschließt, hat sie also einmal vorgemacht bekommen, einmal mit Hilfe und einmal allein gelöst.
Die Lektionen
| Nr. | Lernziel: danach kann man … | Neue Tasten | baut auf | Abschlussaufgabe |
|---|---|---|---|---|
| 1 | Zwischenergebnisse speichern und weiterrechnen | STO RCL SUM 2nd CMs ( ) | — | Kreisfläche aus dem Radius in Speicher 01 |
| 2 | eine Rechnung als Programm aufzeichnen und abspielen | LRN RST R/S | 1 | x² + 1 als Programm |
| 3 | ein Programm nach Eingaben fragen und Ergebnisse zeigen | 2nd Pause 2nd Fix | 2 | Fahrenheit in Celsius, zwei Nachkommastellen |
| 4 | Programme mit eigenen Funktionstasten starten | 2nd Lbl A–E 2nd A' | 2, 3 | A rechnet Fahrenheit in Celsius, B zurück |
| 5 | ein Programm ansehen, Fehler finden und korrigieren | SST BST 2nd Ins 2nd Del | 2, 4 | ein Programm mit eingebautem Fehler reparieren |
| 6 | ein Programm entscheiden lassen | x<>t 2nd x≥t 2nd x=t INV | 4 | den Betrag einer Zahl ohne die Betragstaste |
| 7 | einen Ablauf wiederholen | 2nd Dsz | 1, 6 | die Summe 1 bis n |
| 8 | wiederkehrende Teile auslagern | SBR INV SBR | 4, 7 | Fakultät mit Hilfsunterprogramm |
| 9 | Programme sichern und dokumentieren | 2nd Write 2nd Prt 2nd List | 2, 5 | Programm auf Karte sichern, Listing drucken |
| 10 | ein vorhandenes Programm verstehen und selbst nachbauen | — | alle | die Mondlandung nach dem TI-57-Listing |
Die Abschlussaufgaben greifen bewusst ineinander: Die Umrechnung aus Lektion 3 wird in Lektion 4 zur Funktionstaste, und das Programm aus Lektion 4 ist in Lektion 5 das Objekt, an dem man das Bearbeiten übt. Lektion 10 schließt den Bogen zum Ursprung des Projekts. Das TI-57-Programm kommt mit 50 Schritten aus, weil dort ein Schritt Taste, INV und Ziffer in einem Byte trägt. Auf dem TI-59 braucht dasselbe Programm mehr als doppelt so viele Schritte. Die Lernenden sehen dabei selbst, warum.
Zwei Sichten auf dasselbe Programm
Ab Lektion 2 sieht man ein Programm auf zwei Arten: im LRN-Modus Schritt für Schritt in der Anzeige (Schrittnummer und Tastencode) und ab Lektion 9 als Listing auf dem Drucker. Beide zeigen dieselben Zahlen. Das Bild unten zeigt die Mondlandung in beiden Sichten: Die Anzeige steht im LRN-Modus auf Schritt 000 mit Code 43, und die erste Druckerzeile lautet 000 43 RCL.

Variante A im Detail
Das Kursfenster
Das Menü Kurs öffnet ein drittes Fenster neben dem TI-59 und seinem Drucker. Es zeigt:
- oben die Lektion, ihren Teil und den Fortschritt („Lektion 2 · Vormachen · Schritt 3 von 7“),
- in der Mitte den Text des aktuellen Schritts, formatiert wie die Anleitungen,
- unten die Schaltflächen Tipp, Schritt wiederholen und Weiter.
Weiter wird erst aktiv, wenn der Schritt erfüllt ist. TI-59 und Drucker bleiben voll bedienbar: Man lernt am Gerät, nicht in einer Simulation des Kurses.
Zustand statt Tastenfolge
Der Prüfer vergleicht nicht die gedrückten Tasten mit einer Musterfolge, sondern fragt den Zustand des emulierten TI-59 ab. Dafür gibt es drei Gründe:
- Mehrere Wege sind richtig.
STO 1undSTO 01speichern dasselbe; wer erstCLRdrückt, hat nichts falsch gemacht. - Fehler bleiben erklärbar. Ein Zustand sagt, was nicht stimmt („Schritt 002 enthält 85 (+), erwartet war 33 (x²)“), eine Tastenfolge nur, dass etwas abweicht.
- Das Gerät entscheidet. Was eine Taste bewirkt, bestimmt der emulierte TI-59, nicht eine Nachbildung im Kurs.
Abgefragt werden kann alles, was der Emulator ohnehin führt:
| Prüfgröße | Beispiel | Quelle im Emulator |
|---|---|---|
| Anzeige | 14., 000 00, blinkend | Anzeigepuffer (zwölf Stellen, Dezimalpunkte, Blinken) |
| Modus | LRN, Lauf, Halt | Anzeigeform im LRN-Modus, Programmzähler |
| Schrittzähler | 005 | Programmzeiger |
| Programmspeicher | Schritt 000 = 33 (x²) | Datenspeicher in Programmschritten |
| Register | R01 = 3,14159 | Datenspeicher als Register |
| Druckerzeile | 14. | Druckerwarteschlange |
Probelauf in einer Kopie
Am Ende jeder Lektion steht ein Probelauf. Der Kurs kopiert dafür den Zustand des Emulators, gibt in der Kopie Eingaben ein (zum Beispiel 3 A), lässt sie mit voller Geschwindigkeit laufen und vergleicht die Anzeige mit dem erwarteten Wert. Mehrere Fälle laufen nacheinander, darunter Randfälle wie 0 oder negative Zahlen. Weil der Lauf in der Kopie stattfindet, bleiben Anzeige, Speicher und Programm der Lernenden unberührt. Ein Fehlschlag nennt den Fall: „Bei 3 A erwartet 10, angezeigt 9.“
Tipps und Fehler
Jeder Schritt hat bis zu drei gestufte Tipps. Der erste erinnert an das Konzept, der zweite nennt die Taste, der dritte zeigt die Lösung. Ergänzend erkennt der Prüfer häufige Fehlgriffe und antwortet gezielt:
- nicht im LRN-Modus („Die Anzeige zeigt eine Zahl, keinen Schrittzähler: drücke LRN“),
2ndvergessen (x²stattsinim Programmspeicher),- Programm nicht mit
RSTan den Anfang gesetzt.
Ein Fehler ist dabei kein Abbruch, sondern ein Anlass: Die Erklärung sagt, was der TI-59 mit der falschen Taste gemacht hat, und wie man von dort weiterkommt (zum Beispiel mit BST und 2nd Del). So übt schon Lektion 2 nebenbei, was Lektion 5 dann systematisch einführt.
Fortschritt
Erledigte Lektionen und der aktuelle Schritt werden in einer Einstellungsdatei neben dem Programm gespeichert. Ein Neustart setzt den Kurs dort fort, wo man aufgehört hat. Jede Lektion lässt sich zurücksetzen und wiederholen.
Das Lektionsformat
Lektionen sind Textdateien neben der Anwendung, in MacRoman wie die Anleitungen. Man kann sie auf dem Macintosh bearbeiten, ohne neu zu übersetzen. Ein Ausschnitt aus Lektion 2, Teil „Vormachen“:
LEKTION 2 Das erste Programm
ZIEL Eine Rechnung als Programm aufzeichnen und abspielen.
TEXT
Ein Programm ist eine aufgezeichnete Rechnung. Im LRN-Modus
merkt sich der TI-59 jede Taste als Programmschritt, statt sie
auszuführen.
TEIL Vormachen
SCHRITT Drücke LRN.
ERWARTE modus LRN
ERWARTE anzeige "000 00"
TIPP Die Taste LRN steht links in der dritten Reihe.
SCHRITT Tippe x², +, 1, = und R/S.
ERWARTE schritt 005
ERWARTE programm 000 33 85 01 95 91
TIPP Die Anzeige zeigt nach jeder Taste den nächsten freien Schritt.
FEHLER programm 000 23 : Das ist lnx; x² ist die Taste daneben.
SCHRITT Verlasse den LRN-Modus und setze das Programm an den Anfang.
ERWARTE modus HALT
ERWARTE zeiger 000
TIPP Erst LRN, dann RST.
TEIL Üben
AUFGABE Ändere das Programm so, dass es x² + 2 rechnet.
ERWARTE programm 002 02
PROBE
3 R/S -> 11
0 R/S -> 2
ZIEL, TEIL und AUFGABE geben der Lektion ihre fünf Teile. ERWARTE nennt Bedingungen, die alle zugleich gelten müssen. FEHLER verknüpft einen bekannten Fehlzustand mit einer Erklärung. PROBE beschreibt die Fälle des Probelaufs. Die Codes sind die Tastencodes des TI-59 (Reihe und Spalte), dieselben, die er im LRN-Modus anzeigt.
Technische Umsetzung
- Eigenes Codesegment. Das Hauptmodul
CMainbelegt rund 32 000 von 32 768 Bytes, die ein 68K-Codesegment fassen kann. Der Kurs kommt deshalb alsCCourse.cpin ein zweites Segment des THINK-Projekts.CMainbekommt nur den Menüeintrag und eine Weiterleitung. - Abfragen am Emulator. Der Emulator erhält einige lesende Zugriffe: Programmschritt n, Register n, Programmzeiger, LRN-Zustand. Sie verändern nichts und kosten keine Rechenzeit.
- Prüfen im Leerlauf. Der Prüfer läuft in der Leerlaufroutine, die auch den Emulator antreibt, nach jedem abgeschlossenen Tastendruck. Er prüft also nie mitten in einer Taste. Der Macintosh bleibt dabei bedienbar, weil die Anwendung weiterhin bei jedem Durchlauf an das System abgibt.
- Kopie für den Probelauf. Der Zustand des Emulators (Prozessor, Speicher, Anzeige) wird in ein zweites Objekt kopiert.
Ein Detail aus der Vorbereitung zeigt, warum der Kurs am echten Verhalten prüfen muss: Beim Druck eines Listings fragt der TI-59 die Tastatur nur zwischen zwei gedruckten Zeilen ab. Ein kurzer Tastendruck auf R/S ging dazwischen verloren, das Listing lief bis Schritt 479 durch. Seitdem hält die Anwendung eine Taste länger gedrückt, wenn der TI-59 gerade arbeitet; R/S beendet das Listing wie am Original.

Prüfung der Lektionen
Bevor eine Lektion auf den Macintosh kommt, wird sie auf dem Host gegen denselben Emulator geprüft:
- Ein Host-Werkzeug liest die Lektionsdatei, tastet die Musterlösung Schritt für Schritt ein und prüft nach jedem Schritt die
ERWARTE-Bedingungen. - Es spielt jeden
PROBE-Fall durch. - Es tastet die bei
FEHLERbeschriebenen Fehlgriffe ein und prüft, dass der Prüfer sie erkennt.
So kann keine Lektion eine Bedingung stellen, die der TI-59 nie erfüllt. Danach folgt der Test am TI-59 auf dem Macintosh, zuerst an Lektion 1 und 2 von Hand. Didaktisch geprüft wird jede Lektion zusätzlich von einer Person, die den TI-59 noch nicht programmiert hat: Wo sie einen Tipp braucht, fehlt der Erklärung etwas.
Arbeitsschritte
| Schritt | Inhalt | Ergebnis |
|---|---|---|
| A1 | Lektionsformat, Host-Prüfer, Lektionen 1–2 mit allen fünf Teilen | alle Bedingungen und Proben auf dem Host bestanden |
| A2 | Kursfenster, zweites Segment, Abfragen am Emulator | Lektion 1–2 auf dem Macintosh durchspielbar |
| A3 | Probelauf in der Kopie, gestufte Tipps, Fehlererkennung, Fortschritt | Lektion 2 erkennt die drei häufigsten Fehlgriffe |
| A4 | Lektionen 3–10 | jede Lektion auf dem Host geprüft, auf dem Macintosh durchgespielt und von einer Person ohne Vorkenntnisse erprobt |
| B | Codeweg: Editorfeld, Übersetzer, Rückweg zum Listing | eigener Beitrag |

Offene Fragen
- Sprache. Der Kurs ist auf Deutsch geplant. Die Tastenbeschriftungen bleiben englisch wie am Gerät.
- Sprung zu Lektion 10. Das Nachbauen der Mondlandung setzt Lektion 6–8 voraus. Ein Zwischenschritt, etwa das Übertragen eines kürzeren TI-57-Programms, könnte den Sprung verkleinern.
- Druckerausgabe als Prüfgröße. Ob der Drucker in Lektion 9 verbindlich geprüft wird oder nur gezeigt, hängt davon ab, ob die Lernenden den PC-100C angeschlossen haben. Das ist auf dem Macintosh eine Einstellung des TI-59.
