Skip to content

Commit 16d2f08

Browse files
Web 0.15.5: Kleinigkeiten aus der zweiten Lektionsprüfung (#271)
Claude-Session: https://claude.ai/code/session_01Ugz28SUi7WrLyAgxYxQzrJ Co-authored-by: Claude <noreply@anthropic.com>
1 parent 081f0d9 commit 16d2f08

40 files changed

Lines changed: 151 additions & 66 deletions

‎CHANGELOG.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ The format is loosely inspired by Keep a Changelog.
88

99
### Changed
1010

11+
- **Web 0.15.5, small lesson fixes from the second review:** the free tasks „Einheitenrechner“ (after L36) and „Würfeln mit MVC“ (after L41) get a list „Du bist fertig, wenn …“ with things you can see in the window and console. L38 „Viele Knöpfe, ein Zuhörer“: Ludwig's tip in the task „Zahlenschloss“ talked about the calculator; it now helps with the task (count wrong attempts, `setEnabled(false)`, stars with a separate `eingabe`). Steps „Profiwissen: …“ in L23, L29, L31, L36 and L37 lose the prefix (Holger: no separate Profiwissen), L39 refers to the step by name. L5 Angeberwissen no longer mentions the coffee-cup logo. de/en/pt. New test: no step title starts with „Profiwissen“.
1112
- **Web 0.15.4, lesson 1 split in two:** VisuStruct lesson 1 „Was ist ein Struktogramm?“ was very long (15 steps). It now covers algorithm, reading a structure chart, the three building blocks, „Erst die Struktur, dann der Code“, the game „Welcher Baustein?“, checklist and quiz. The new lesson 2 „PAP und Pseudocode“ (`01-weitere-darstellungen.md`) takes the flowchart part (PAP elements, exercise „Kuchen backen als PAP“, jumps/GOTO/spaghetti code, pseudocode and comparison) with its own Kompetenzen, a new game „Welche Darstellung?“ (structure chart, flowchart or pseudocode, eight rounds), checklist and quiz (de/en/pt). VisuStruct now numbers lessons like VisuBot: in file order, so the new lesson keeps file number 01 and no file is renamed (progress stays). All later lessons move up by one; „Lektion N“ in texts and `nach:` in tasks are renumbered automatically. Saved step positions in lesson 1 may point to a later step than before. New test checks the split and the renumbered references.
1213
- **Web 0.15.3, VisuBot orange like visucode.de:** the VisuBot theme in the app used #e07000 (buttons, selection, focus) and #f08a00 („Bot“ in the title bar), the visucode.de start page uses #c2410c with the gradient #ea580c → #c2410c (css/visucode.css, MARKE.md). The app now uses the same values; white text on the accent goes from 3.2 : 1 to 5.2 : 1. The command group „Fahren“ (stripe and dot) moves from the old VisuBot orange #d96a00 to #c2410c as well.
1314
- **Web 0.15.2, checklist and quiz always in their own steps:** every lesson in both worlds now ends with its own „Checkliste“ step followed by its own „Wissenstest“ step, after at least one game (Holger: VisuBot lesson 1 step 5 had both in one step before 0.14.33). Three robot lessons still lacked a final quiz step: L2 „Der mBot2“ (game „Sensor oder Aktor?“ moves into its own step before the checklist, the quiz from „Sensoren und Aktoren“ moves to the new „Wissenstest“ and gets six more questions, one per checklist item), L3 „Das Quadrat“ and L27 „Eigene Methoden“ (new „Wissenstest“ with five questions each; the small quizzes inside the steps stay). de/en. A new test (`web/test/lessonEnd.ts`, used by lessons.test.ts and visubotLessons.test.ts) fails if the checklist shares a step with anything else, if the quiz is not alone in the last step, or if no game comes before the checklist. Saved self-assessments in L2 start fresh because steps moved.

‎web/lessons/de/04-variablen-und-datentypen.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ System.out.println("Gesamt: " + gesamtPreis + " Euro");
214214
Wie der Computer deinen Java-Code versteht und warum er auf Windows, macOS und Linux gleich läuft, erfährst du in der Lektion „Struktogramm und Code“.
215215

216216
::: angeberwissen
217-
Java hieß zuerst **Oak** (Eiche), nach dem Baum vor dem Bürofenster von James Gosling. Sein Team bei Sun Microsystems wollte ab 1991 kleine Geräte wie Fernseh-Boxen programmieren. Den Namen Oak hatte aber schon eine andere Firma. Also wurde es 1995 **Java**, wie der Kaffee von der Insel Java. Deshalb ist das Logo eine dampfende Tasse.
217+
Java hieß zuerst **Oak** (Eiche), nach dem Baum vor dem Bürofenster von James Gosling. Sein Team bei Sun Microsystems wollte ab 1991 kleine Geräte wie Fernseh-Boxen programmieren. Den Namen Oak hatte aber schon eine andere Firma. Also wurde es 1995 **Java**, wie der Kaffee von der Insel Java.
218218
:::
219219

220220
## Text in Java

‎web/lessons/de/22-try-und-catch.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ try {
135135

136136
„zwölf“ kann Java nicht umwandeln und wirft eine `NumberFormatException`. Das Programm gibt „Das ist keine Zahl: zwölf“ aus. Ändere die erste Zeile in `String eingabe = "12";` und führe es noch einmal aus: Jetzt erscheint „Doppelt: 24“.
137137

138-
## Profiwissen: Exceptions sind Objekte
138+
## Exceptions sind Objekte
139139

140140
Das steht nicht im Lehrplan, ist aber praktisch zu wissen.
141141

‎web/lessons/de/28-erstes-fenster.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ Erst einrichten, dann zeigen. Wie im Theater: Der Vorhang geht erst auf, wenn di
8282

8383
Probier es aus: Lösche die Zeile mit `setVisible(true)` und führe das Programm noch einmal aus. Das Programm läuft, aber du siehst kein Fenster.
8484

85-
## Profiwissen: Klassen und Objekte
85+
## Klassen und Objekte
8686

8787
Das steht nicht im Lehrplan, hilft dir aber, Swing zu verstehen.
8888

‎web/lessons/de/30-der-knopf-reagiert.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ frage: Wie viele Zeilen „Klick!“ stehen danach in der Konsole?
167167
> Der Zuhörer läuft bei **jedem** Klick, nicht nur beim ersten. Drei Klicks, drei Zeilen.
168168
:::
169169

170-
## Profiwissen: ActionListener ist ein Interface
170+
## ActionListener ist ein Interface
171171

172172
Das steht nicht im Lehrplan. Wenn du wissen willst, was hinter dem Pfeil steckt, lies weiter.
173173

‎web/lessons/de/35-taschenrechner.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ geteilt.addActionListener(e -> {
123123
Mit `double` und `Double.parseDouble(…)` gibt es Nachkommastellen: 7 / 2 ergibt 3.5. Dafür wirft Java bei Kommazahlen keine Exception beim Teilen durch 0. Das Ergebnis heißt dann `Infinity`, also „unendlich“.
124124
:::
125125

126-
## Profiwissen: eine eigene Methode
126+
## Eine eigene Methode
127127

128128
Das steht nicht im Lehrplan, macht den Code aber kürzer.
129129

‎web/lessons/de/36-zahlenraten.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ public class Zahlenraten {
102102
Mit `setEnabled(true)` schaltest du einen Knopf wieder ein. So kannst du zum Beispiel einen Knopf erst freigeben, wenn etwas eingegeben wurde.
103103
:::
104104

105-
## Profiwissen: mit 7 Versuchen gewinnen
105+
## Mit 7 Versuchen gewinnen
106106

107107
::: angeberwissen
108108
Wer geschickt rät, braucht nie mehr als 7 Versuche. Rate immer die Mitte des Bereichs, der noch übrig ist: erst 50, dann 25 oder 75 und so weiter. Jeder Tipp halbiert den Bereich: 100, 50, 25, 13, 7, 4, 2, 1. Das ist die **binäre Suche** aus Lektion 19. Weil 2 hoch 7 = 128 größer als 100 ist, reichen 7 Tipps.

‎web/lessons/de/37-viele-knoepfe-ein-zuhoerer.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@ Dann mach es besser:
267267
- im Zusatz die Anzeige nur Sterne zeigt, der Code aber trotzdem geprüft wird.
268268

269269
::: ludwig
270-
Auch beim Taschenrechner aus Lektion 35 reicht ein Zuhörer für +, -, \* und /. Prüfe darin mit `e.getActionCommand().equals("+")`, welches Rechenzeichen geklickt wurde.
270+
Zähle im Zweig für **OK** bei jedem falschen Code `versuche++` und prüfe danach `if (versuche >= 3)`. Dann schaltet `ok.setEnabled(false)` den Knopf ab, wie beim Zahlenraten. Für die Sterne: `eingabe = eingabe + e.getActionCommand();` und `anzeige.setText(anzeige.getText() + "*");`. Verglichen wird dann `eingabe`, nicht der Text der Anzeige.
271271
:::
272272

273273
## Checkliste

‎web/lessons/de/38-innere-klassen.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ kurz: Einen Zuhörer als benannte innere Klasse, als anonyme Klasse und als Lamb
1919
Den Klickzähler aus Lektion 32 kennst du schon. Heute schreibst du seinen Zuhörer auf **drei Arten**, die alle genau dasselbe tun:
2020

2121
1. als **benannte innere Klasse**, wie man es vor Java 8 meistens gemacht hat,
22-
2. als **anonyme Klasse**, die du aus dem Profiwissen in Lektion 30 kennst,
22+
2. als **anonyme Klasse**, die du aus Lektion 30 („ActionListener ist ein Interface“) kennst,
2323
3. als **Lambda** mit dem Pfeil, so wie bisher.
2424

2525
In fremdem Code, in Büchern und im Internet triffst du alle drei Schreibweisen. Nach dieser Lektion erkennst du sie.

‎web/lessons/de/aufgaben/einheitenrechner.md‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,12 @@ public class Einheiten {
4242
}
4343
```
4444

45+
**Du bist fertig, wenn …**
46+
47+
- 1.5 nach **in cm** „150.0 cm“ zeigt, nach **in mm** „1500.0 mm“,
48+
- 1500 nach **in km** „1.5 km“ zeigt,
49+
- „abc“ im Feld „Bitte eine Zahl eingeben“ zeigt und das Fenster offen bleibt.
50+
4551
Zusatz: Ein vierter Knopf **in Fuß** rechnet in die englische Einheit um. Ein Fuß sind 0.3048 m.
4652

4753
::: ludwig

0 commit comments

Comments
 (0)