|
| 1 | +--- |
| 2 | +titel: Wie geht es weiter? |
| 3 | +bereich: Ausblick |
| 4 | +kurz: Zurückblicken, was du mit dem mBot2 gelernt hast, und sehen, was in VisuStruct noch auf dich wartet. |
| 5 | +--- |
| 6 | + |
| 7 | +## Diese Kompetenzen erwerbe ich jetzt |
| 8 | + |
| 9 | +::: kompetenzen |
| 10 | +- sagen, welche Grundlagen der Programmierung ich mit dem mBot2 gelernt habe |
| 11 | +- einen Fehler in einem Roboterprogramm allein finden und reparieren |
| 12 | +- die Themen nennen, die in VisuStruct noch auf mich warten |
| 13 | +::: |
| 14 | + |
| 15 | +## Das kannst du jetzt |
| 16 | + |
| 17 | +Glückwunsch, du hast alle Roboter-Lektionen geschafft! Mit dem mBot2 hast du die **Grundlagen der strukturierten Programmierung** gelernt: |
| 18 | + |
| 19 | +- ein **Struktogramm** lesen und bauen und es mit dem **Schreibtischtest** prüfen, |
| 20 | +- **Sequenz**, **Verzweigung** und **Fallauswahl**, Bedingungen mit **und**, **oder** und **nicht**, |
| 21 | +- die Schleifen **for**, **while** und **do-while**, auch ineinander verschachtelt, und den Aussprung mit **break**, |
| 22 | +- **Variablen**, **Datentypen** und **Konstanten** mit `final`, Zählen, Summieren und den größten Wert finden, |
| 23 | +- **Arrays** und **Zeichenketten**, |
| 24 | +- eigene **Methoden** mit Parametern und Rückgabewert. |
| 25 | + |
| 26 | +Das alles gilt nicht nur für Roboter. Jedes Java-Programm ist aus genau diesen Bausteinen gebaut, auch ein Spiel oder eine App. |
| 27 | + |
| 28 | +::: angeberwissen |
| 29 | +Määäh, weißt du, was du mit dem mBot2 eigentlich gebaut hast? Ein **eingebettetes System**: einen kleinen Computer, der in einem Gerät steckt und mit Sensoren seine Umwelt misst. Solche Systeme stecken in Waschmaschinen, Autos und Herzschrittmachern. In einem modernen Auto sind es über hundert. Und programmiert werden sie mit genau den Bausteinen, die du jetzt kennst. |
| 30 | +::: |
| 31 | + |
| 32 | +## Noch einmal: Warum läuft das nicht? |
| 33 | + |
| 34 | +Zum Schluss eine letzte Fehlersuche. Diesmal ist es ein Fehler, den auch Profis oft machen. |
| 35 | + |
| 36 | +::: übung vb-fehler-23-wie-geht-es-weiter |
| 37 | +titel: Warum läuft das nicht? |
| 38 | +code: java |
| 39 | +auftrag: Das Programm soll bis kurz vor die Wand fahren, aber es läuft nicht. „Im Editor öffnen“ zeigt den Code im Bereich Code. Klicke auf „Ausführen“ und lies die Fehlermeldung. Repariere den Fehler und klicke auf Prüfen. |
| 40 | +start: vb-fehler-23-wie-geht-es-weiter-start.visustruct |
| 41 | +welt: wand-kurz, wand-mittel, wand-lang |
| 42 | +tipp: Lies die Fehlermeldung genau. Vergleiche den Sensor mit den anderen Befehlen: Was steht hinter `mbot.forward`? |
| 43 | +tipp: Hinter einem Befehl stehen immer runde Klammern, auch wenn nichts darin steht. Richtig heißt es `mbot.getDistance() > 15`. |
| 44 | +lösung: vb-bis-wand-loesung.visustruct |
| 45 | +::: |
| 46 | + |
| 47 | +## Was noch fehlt |
| 48 | + |
| 49 | +Einige Themen der Programmierung haben mit dem Roboter wenig zu tun. Du findest sie in **VisuStruct**, der Welt ohne Roboter. Weil du die Grundlagen schon kennst, kommst du dort schnell voran. Die Links öffnen sich in einem neuen Fenster. |
| 50 | + |
| 51 | +- **Andere Darstellungen:** Algorithmen als Ablaufplan mit Pfeilen oder als Text aufschreiben, in [„PAP und Pseudocode“](?visustruct&lektion=01-weitere-darstellungen). |
| 52 | +- **Eingabe mit der Tastatur:** Werte beim Ausführen abfragen, in [„Eingabe und Ausgabe“](?visustruct&lektion=06-eingabe-und-ausgabe). |
| 53 | +- **Tabellen im Speicher:** Arrays mit Zeilen und Spalten, zum Beispiel für einen Kinosaal, in [„Zweidimensionale Arrays“](?visustruct&lektion=16-zweidimensionale-arrays). |
| 54 | +- **Suchen und Sortieren:** einen Wert schnell finden und eine Liste der Größe nach ordnen, in [„Suchen und Sortieren“](?visustruct&lektion=19-suchen-und-sortieren). |
| 55 | +- **Andere Sprachen:** dasselbe Programm in Python und JavaScript, in [„Python und JavaScript“](?visustruct&lektion=21-python-und-javascript). |
| 56 | +- **Abstürze abfangen:** was passiert, wenn jemand „abc“ statt einer Zahl eintippt, in [„Wenn das Programm abstürzt: try und catch“](?visustruct&lektion=22-try-und-catch). |
| 57 | +- **Dateien:** Text, Tabellen und Daten lesen und speichern, ab [„Text einlesen und speichern“](?visustruct&lektion=23-text-einlesen-und-speichern) über [„Tabellen als CSV“](?visustruct&lektion=25-tabellen-als-csv) bis [„Daten als JSON“](?visustruct&lektion=26-json). |
| 58 | +- **Fenster mit Knöpfen:** eigene Programme mit Fenster, Textfeld und Knopf, ab [„Dein erstes Fenster“](?visustruct&lektion=28-erstes-fenster) bis [„Model View Controller“](?visustruct&lektion=40-model-view-controller). |
| 59 | + |
| 60 | +> Den mBot2 brauchst du dafür nicht. Du kannst aber jederzeit zurückkommen und ihm neue Kunststücke beibringen. |
| 61 | +
|
| 62 | +## Spiel: Welche Welt? |
| 63 | + |
| 64 | +::: spiel frage |
| 65 | +titel: Spiel: Welche Welt? |
| 66 | +intro: Ludwig hat Ideen für neue Programme. Lernst du das mit dem mBot2 in VisuBot oder ohne Roboter in VisuStruct? Acht Runden. |
| 67 | +antworten: VisuBot | VisuStruct |
| 68 | + |
| 69 | +runde: |
| 70 | +frage: „Fahre bis zur Wand und piepe dann.“ |
| 71 | +richtig: VisuBot |
| 72 | +> Abstandssensor, Motoren und Lautsprecher: Das ist ein Fall für den mBot2. |
| 73 | +
|
| 74 | +runde: |
| 75 | +frage: „Ein Fenster mit einem Knopf, der bis 10 zählt.“ |
| 76 | +richtig: VisuStruct |
| 77 | +> Fenster mit Knöpfen baust du mit Swing in VisuStruct. |
| 78 | +
|
| 79 | +runde: |
| 80 | +frage: „Spiele eine Melodie, die in einem Array steht.“ |
| 81 | +richtig: VisuBot |
| 82 | +> Arrays und Melodien hast du mit dem Lautsprecher des mBot2 gelernt. |
| 83 | +
|
| 84 | +runde: |
| 85 | +frage: „Lies die Noten der Klasse aus einer CSV-Datei.“ |
| 86 | +richtig: VisuStruct |
| 87 | +> Dateien lesen und speichern lernst du in VisuStruct. |
| 88 | +
|
| 89 | +runde: |
| 90 | +frage: „Tippt jemand ‚abc‘ statt einer Zahl ein, soll das Programm nicht abstürzen.“ |
| 91 | +richtig: VisuStruct |
| 92 | +> Abstürze fängst du mit try und catch ab. Das steht in VisuStruct. |
| 93 | +
|
| 94 | +runde: |
| 95 | +frage: „Folge mit dem Liniensensor einer schwarzen Linie.“ |
| 96 | +richtig: VisuBot |
| 97 | +> Der Liniensensor sitzt unter dem mBot2. |
| 98 | +
|
| 99 | +runde: |
| 100 | +frage: „Sortiere zehn Zahlen der Größe nach.“ |
| 101 | +richtig: VisuStruct |
| 102 | +> Suchen und Sortieren steht in VisuStruct. Den größten Wert finden kannst du aber schon. |
| 103 | +
|
| 104 | +runde: |
| 105 | +frage: „Zeichne den Ablauf als Plan mit Pfeilen.“ |
| 106 | +richtig: VisuStruct |
| 107 | +> Das ist ein PAP. Ihn lernst du in VisuStruct in „PAP und Pseudocode“. |
| 108 | +::: |
| 109 | + |
| 110 | +## Checkliste |
| 111 | + |
| 112 | +Schätze dich bei jedem Punkt ehrlich ein: ☂️ noch nicht, ⛅ teilweise, ☀️ kann ich sicher. Bei ⛅ und ☂️ hilft dir **Nachlesen**. Danach kommt der Wissenstest. Er zeigt dir, ob deine Einschätzung stimmt. |
| 113 | + |
| 114 | +::: checkliste |
| 115 | +- Ich kann sagen, welche Grundlagen der Programmierung ich mit dem mBot2 gelernt habe. → Das kannst du jetzt |
| 116 | +- Ich kann einen Fehler in einem Roboterprogramm allein finden und reparieren. → Noch einmal: Warum läuft das nicht? |
| 117 | +- Ich kann die Themen nennen, die in VisuStruct noch auf mich warten. → Was noch fehlt |
| 118 | +::: |
| 119 | + |
| 120 | +## Wissenstest |
| 121 | + |
| 122 | +::: quiz |
| 123 | +? Gelten die Bausteine aus den Roboter-Lektionen auch für Programme ohne Roboter? |
| 124 | +→ Das kannst du jetzt |
| 125 | +- [x] Ja, jedes Java-Programm ist aus Sequenz, Verzweigung, Schleife, Variablen und Methoden gebaut |
| 126 | +- [ ] Nein, ohne Roboter braucht man ganz andere Befehle |
| 127 | +- [ ] Nur die Schleifen |
| 128 | +> Nur die `mbot.`-Befehle gehören zum Roboter. Alles andere ist ganz normales Java. |
| 129 | +
|
| 130 | +? Warum läuft `mbot.getDistance > 15` nicht? |
| 131 | +→ Noch einmal: Warum läuft das nicht? |
| 132 | +- [ ] Weil 15 zu klein ist |
| 133 | +- [x] Weil hinter dem Befehl die runden Klammern fehlen |
| 134 | +- [ ] Weil man `<` schreiben muss |
| 135 | +> Ohne Klammern sucht Java eine Variable `getDistance` und findet keine. |
| 136 | +
|
| 137 | +? Wo lernst du, wie ein Programm Abstürze mit try und catch abfängt? |
| 138 | +→ Was noch fehlt |
| 139 | +- [ ] In VisuBot |
| 140 | +- [x] In VisuStruct |
| 141 | +> Dort steht die Lektion „Wenn das Programm abstürzt: try und catch“. |
| 142 | +
|
| 143 | +? Welche Themen findest du in VisuStruct? Wähle die passende Liste. |
| 144 | +→ Was noch fehlt |
| 145 | +- [x] PAP, Sortieren, Dateien und Fenster mit Knöpfen |
| 146 | +- [ ] Liniensensor, LEDs und Motoren |
| 147 | +- [ ] Nur die for-Schleife |
| 148 | +> Liniensensor, LEDs und Motoren gehören zum mBot2, die for-Schleife kennst du schon. |
| 149 | +::: |
0 commit comments