Für Lehrkräfte

Hinweise zum Einsatz

Tiny Johnny führt Schülerinnen und Schüler der Sekundarstufe II vom Von-Neumann-Modell zum Modellrechner Johnny. Die Materialien sind für selbstständiges Arbeiten mit starker Führung angelegt: Jede Einheit beginnt mit einer Leitfrage, Missionen und Aufgaben geben sofort Rückmeldung.

Vorschlag für den Unterrichtsverlauf

Etwa 7 Doppelstunden. Kapitel und Missionen lassen sich einzeln verlinken, Vertiefungen sind aufklappbar und optional.

  1. DS 1Überblick und Ein-/AusgabeÜberblick – EVAS und Von NeumannDas EingabewerkDas Ausgabewerk
  2. DS 2SpeicherDas SpeicherwerkSpeichertechnikCache und Register
  3. DS 3Bus, CPU und BewertungDer SystembusDie CPUStärken und SchwächenBrücke zu Johnny
  4. DS 4Johnny: Speicher, Busse, RechenwerkM1: Der SpeicherM2: Der AdressbusM3: Der DatenbusM4: Der AkkumulatorM5: Das Rechenwerk
  5. DS 5Johnny: Befehle und SteuerwerkM6: Befehle sind ZahlenM7: Das MikroprogrammM8: Programmzähler & FETCHM9: Selbst programmieren
  6. DS 6Johnny: Sprünge, Bedingungen, Von NeumannM10: SprüngeM11: Entscheidungen mit TSTM12: Befehle oder Daten?M13: Du bist das SteuerwerkAufgaben ★
  7. DS 7Üben und vertiefenAufgaben ★★ und ★★★M14: Neue Befehle (Vertiefung)Transfer ins Original

Didaktisches Konzept

Fachliche Hinweise zu verbreiteten Folieninhalten

Johnny-Details, auf die man achten sollte

Alle Aufgaben mit Lösungen

Die Lösungen sind auch für SuS nach allen Tipps sichtbar. Jede Lösung wird bei jeder Änderung der Website automatisch gegen die Testfälle geprüft.

Informatik-KlassikerWerte tauschenProgrammieren

Der Klassiker mit der Hilfsvariable.

TAKE 100
SAVE 102
TAKE 101
SAVE 100
TAKE 102
SAVE 101
HLT
Aufgabe öffnen →
Informatik-KlassikerProgramm lesenProgramm lesen

Vorhersagen, was ein Programm tut – ohne es auszuführen.

TAKE 100   ; Akku = 10
SUB 101    ; Akku = 6
SAVE 100   ; Zelle 100 = 6
TAKE 101   ; Akku = 4
ADD 100    ; Akku = 10
SAVE 101   ; Zelle 101 = 10
HLT
Aufgabe öffnen →
Informatik-KlassikerDrei Werte rotieren★★Programmieren

Jeder Wert rückt eine Zelle weiter, der letzte kommt nach vorn.

TAKE 102
SAVE 103
TAKE 101
SAVE 102
TAKE 100
SAVE 101
TAKE 103
SAVE 100
HLT
Aufgabe öffnen →
Informatik-KlassikerVerschieben im Bonsai-Modus★★Programmieren

Einen Wert kopieren – nur mit INC, DEC, TST, JMP und HLT.

TST 101
JMP 003
JMP 005
DEC 101
JMP 000
TST 100
JMP 008
HLT
DEC 100
INC 101
JMP 005
Aufgabe öffnen →
Informatik-KlassikerFehlersuche – der Akku lügt★★Fehlersuche

Ein Programm rechnet falsch. Finde und behebe den Fehler.

NULL 101
TST 100
JMP 004
HLT
TAKE 101
ADD 100
SAVE 101
DEC 100
JMP 001
Aufgabe öffnen →
Informatik-KlassikerProgramm lesen – die Akku-Falle★★Programm lesen

Eine Schleife mit Tücken im Kopf durchspielen.

000 TAKE 100  → Akku 1
001 ADD 101   → Akku 4
002 SAVE 102  → 102 = 4
003 DEC 101   → 101 = 2, Akku 2
004 TST 101   → Akku 2 (≠ 0)
005 JMP 001
001 ADD 101   → Akku 4
002 SAVE 102  → 102 = 4
003 DEC 101   → 101 = 1, Akku 1
004 TST 101   → Akku 1
005 JMP 001
001 ADD 101   → Akku 2
002 SAVE 102  → 102 = 2
003 DEC 101   → 101 = 0, Akku 0
004 TST 101   → 0 → JMP wird übersprungen
006 HLT
Aufgabe öffnen →
Informatik-KlassikerSumme einer Liste★★★Programmieren

Ein Programm, das seinen eigenen Befehl verändert.

TAKE 048
SAVE 007
NULL 051
TST 050
JMP 006
HLT
TAKE 051
ADD 100
SAVE 051
INC 007
DEC 050
JMP 003
Aufgabe öffnen →
Rechnen & MatheSumme dreier ZahlenProgrammieren

Drei Zahlen addieren und das Ergebnis speichern.

TAKE 100
ADD 101
ADD 102
SAVE 103
HLT
Aufgabe öffnen →
Rechnen & MatheDifferenz – und eine ÜberraschungProgrammieren

a − b berechnen und herausfinden, was bei negativen Ergebnissen passiert.

TAKE 100
SUB 101
SAVE 102
HLT
Aufgabe öffnen →
Rechnen & MatheVerdreifachenProgrammieren

Multiplizieren mit 3 – ohne Multiplikationsbefehl.

TAKE 100
ADD 100
ADD 100
SAVE 101
HLT
Aufgabe öffnen →
Rechnen & MatheAbstand zweier Zahlen★★Programmieren

|a − b| berechnen – mit einem Trick, der nur bei Johnny funktioniert.

TAKE 100
SUB 101
SAVE 103
TAKE 101
SUB 100
ADD 103
SAVE 102
HLT
Aufgabe öffnen →
Rechnen & MatheDie größere Zahl★★Programmieren

Das Maximum zweier Zahlen bestimmen.

TAKE 100
SUB 101
ADD 101
SAVE 102
HLT
Aufgabe öffnen →
Rechnen & MatheMultiplikation mit einer Schleife★★Programmieren

a · b durch wiederholtes Addieren.

NULL 102
TST 101
JMP 004
HLT
TAKE 102
ADD 100
SAVE 102
DEC 101
JMP 001
Aufgabe öffnen →
Rechnen & MatheDivision mit Rest★★★Programmieren

a : b = Quotient Rest – durch wiederholtes Subtrahieren.

NULL 102
TAKE 101
SUB 100
SAVE 104
TST 104
JMP 011
TAKE 100
SUB 101
SAVE 100
INC 102
JMP 001
TAKE 100
SAVE 103
HLT
Aufgabe öffnen →
Rechnen & MatheQuadratzahlen★★★Programmieren

n² berechnen, ohne n zu zerstören.

TAKE 100
SAVE 102
NULL 101
TST 102
JMP 006
HLT
TAKE 101
ADD 100
SAVE 101
DEC 102
JMP 003
Aufgabe öffnen →
Spiele & ZählerMünze eingesammeltProgrammieren

Punkte erhöhen und Münzen zählen.

TAKE 100
ADD 102
SAVE 100
INC 101
HLT
Aufgabe öffnen →
Spiele & ZählerRaketenstart★★Programmieren

Countdown bis 0 – dann zünden.

TST 100
JMP 004
INC 101
HLT
DEC 100
JMP 000
Aufgabe öffnen →
Spiele & ZählerGame Over?★★Programmieren

Schaden abziehen und prüfen, ob noch Leben übrig sind.

TAKE 100
SUB 101
SAVE 100
NULL 102
TST 100
HLT
INC 102
HLT
Aufgabe öffnen →
Spiele & ZählerNeuer Highscore★★Programmieren

Rekord nur überschreiben, wenn er übertroffen wurde.

NULL 103
TAKE 100
SUB 101
SAVE 102
TST 102
JMP 007
HLT
TAKE 100
SAVE 101
INC 103
HLT
Aufgabe öffnen →
Spiele & ZählerWer hat gewonnen?★★★Programmieren

Zwei Spielstände vergleichen – mit Unentschieden.

NULL 102
TAKE 100
SUB 101
SAVE 103
TAKE 101
SUB 100
SAVE 104
TST 103
JMP 012
TST 104
JMP 014
HLT
INC 102
HLT
INC 102
INC 102
HLT
Aufgabe öffnen →

Praktisches

Inhalte selbst anpassen

Alle Texte liegen als einfache Dateien im GitHub-Repository. Nach einer Änderung auf GitHub baut sich die Seite automatisch neu (ca. 2 Minuten).

Was?Wo?Format
Von-Neumann-Kapitelsrc/content/kapitel/*.mdxMarkdown mit eingebetteten Bausteinen
Tutorial-Missionensrc/content/tutorial/level-XX.mdYAML: Schritte vom Typ info, aktion, quiz, vorhersage
Aufgabensrc/content/aufgaben/*.yamlText, Zellen, Startspeicher, Tests, Tipps, Lösung
Sandbox-Beispielesrc/content/beispiele/*.yamlTitel, Beschreibung, Programm

Eine ausführliche Anleitung mit Beispielen steht in derREADME auf GitHub.