MINT lernen

Eine neue Sprache lernen

Zwei Textaufgaben mit Hinweisen und Erwartungshorizont zum Übertragen von Konzepten, zu Fehlermeldungen und zu KI-Code.

Dein Fortschritt:
0 / 0 Aufgaben
1

Erster Tag im Go-Praktikum

AFB I–II

Emma kann Python und macht ein Schülerpraktikum bei einem kleinen Wetterdienst. Dort ist alles in Go geschrieben — eine Sprache, die sie noch nie benutzt hat. Am ersten Tag bekommt sie dieses Programm, das die Tageshöchstwerte einer Woche (in °C) auswertet:

Go
package main

import "fmt"

func main() {
    temps := []int{18, 23, 25, 19, 27}
    heiss := 0
    for _, t := range temps {
        if t >= 25 {
            heiss++
        }
    }
    fmt.Println("Heiße Tage:", heiss)
}

Es gibt Heiße Tage: 2 aus. Emma will verstehen, was sie aus Python schon kennt und was neu ist.

  1. Stelle in einer Tabelle dar, mit welchem Go-Code die Konzepte Liste, Variable, Schleife, Verzweigung und Ausgabe umgesetzt werden, und notiere jeweils die Python-Entsprechung.
  2. Analysiere das Programm auf drei Besonderheiten der Go-Syntax, die es in Python so nicht gibt.
  3. Erweitere das Programm so, dass es zusätzlich die Anzahl der kühlen Tage (unter 20 °C) ausgibt, und notiere die vollständige Ausgabe.

Hinweise

Hinweis zu Aufgabe a)
Geh Zeile für Zeile vor und frage bei jeder: Welches Konzept aus Python steckt dahinter?
Hinweis zu Aufgabe b)
Achte auf Zeichen, die in Python nicht vorkommen oder anders benutzt werden — zum Beispiel beim Anlegen von Variablen oder in der Schleife.
Hinweis zu Aufgabe c)
Du brauchst eine zweite Zählvariable und eine zweite Verzweigung in der Schleife. Welche Werte der Liste sind kleiner als 20?

Erwartungshorizont

Erwartungshorizont zu Aufgabe a)
KonzeptGoPython
Liste[]int{18, 23, 25, 19, 27}[18, 23, 25, 19, 27]
Variableheiss := 0heiss = 0
Schleifefor _, t := range temps {for t in temps:
Verzweigungif t >= 25 {if t >= 25:
Ausgabefmt.Println("Heiße Tage:", heiss)print("Heiße Tage:", heiss)
Erwartungshorizont zu Aufgabe b)

Zum Beispiel (drei genügen):

  • := legt eine neue Variable an und leitet ihren Typ ab (Python: nur =).
  • Die Liste hat einen festen Typ: []int — nur ganze Zahlen.
  • range liefert Index und Wert; der Index wird mit _ bewusst ignoriert.
  • heiss++ erhöht um 1 (Python: heiss += 1).
  • Blöcke in { } statt Einrückung, keine Klammern um die Bedingung, kein Doppelpunkt.
  • Programmrahmen package main, import "fmt", func main().
Erwartungshorizont zu Aufgabe c)
Go (Ausschnitt)
    heiss := 0
    kuehl := 0
    for _, t := range temps {
        if t >= 25 {
            heiss++
        }
        if t < 20 {
            kuehl++
        }
    }
    fmt.Println("Heiße Tage:", heiss)
    fmt.Println("Kühle Tage:", kuehl)

Ausgabe: Heiße Tage: 2 und Kühle Tage: 2 (18 und 19 °C). Wichtig: kuehl muss auch ausgegeben werden — eine unbenutzte Variable wäre in Go ein Compilerfehler.

2

Tim, Go und der KI-Assistent

AFB II–III

Tim bringt sich in den Ferien selbst Go bei. Sein Programm soll seine Quizpunkte zusammen mit einem Bonus ausgeben, also Punkte: 15. Beim Start erscheint jedoch die Fehlermeldung in der Abbildung. Tim fragt einen KI-Assistenten. Der schlägt vor, nach Zeile 7 die Zeile _ = bonus einzufügen — danach startet das Programm ohne Fehler.

Tim ist begeistert: „Mit KI-Assistenten muss ich eigentlich gar keine Programmiersprache mehr lernen.“

Tims Programm und die Fehlermeldung
main.go 1 package main 2 3 import "fmt" 4 5 func main() { 6 punkte := 12 7 bonus := 3 8 fmt.Println("Punkte:", punkte) 9 } $ go run main.go ./main.go:7:5: declared and not used: bonus
Die Meldung nennt Datei, Zeile, Spalte und die Art des Fehlers.
  1. Deute die Fehlermeldung: Welche Informationen enthält sie, und was ist die Ursache?
  2. Überprüfe, ob der Vorschlag des KI-Assistenten Tims eigentliches Problem löst.
  3. Entwickle für Tim einen Lernplan mit mindestens vier Schritten für die nächsten zwei Wochen. Nenne dabei passende Lernquellen.
  4. Bewerte Tims Aussage über KI-Assistenten.

Hinweise

Hinweis zu Aufgabe a)
Zerlege die Meldung an den Doppelpunkten. Übersetze „declared and not used“.
Hinweis zu Aufgabe b)
Starte das Programm gedanklich mit dem Vorschlag. Was wird ausgegeben — und was sollte ausgegeben werden?
Hinweis zu Aufgabe c)
Denke an Hallo Welt, die Grundbausteine, Playgrounds, offizielle Kurse und das Neulösen bekannter Aufgaben.
Hinweis zu Aufgabe d)
Kriterien: Hat die KI hier geholfen? Hätte Tim ohne eigenes Wissen den Fehler im Ergebnis bemerkt? Wofür sind KI-Assistenten sinnvoll?

Erwartungshorizont

Erwartungshorizont zu Aufgabe a)

./main.go ist die Datei, 7 die Zeile, 5 die Spalte (dort beginnt bonus). „declared and not used: bonus“ heißt: Die Variable bonus wurde angelegt, aber nirgends benutzt. Das ist eine Besonderheit von Go — der Compiler lehnt unbenutzte Variablen ab, während Python so ein Programm einfach ausführen würde.

Erwartungshorizont zu Aufgabe b)

Nein. Mit _ = bonus gilt die Variable als „benutzt“, der Compilerfehler verschwindet. Das Programm gibt aber Punkte: 12 aus statt der gewünschten Punkte: 15. Der Vorschlag versteckt nur das Symptom. Die Meldung war ein echter Hinweis auf einen Denkfehler: Tim hat vergessen, den Bonus zu addieren. Richtig wäre fmt.Println("Punkte:", punkte+bonus).

Erwartungshorizont zu Aufgabe c)

Beispiel für einen sinnvollen Plan:

  1. Go-Tour (go.dev/tour) durcharbeiten, „Hallo Welt“ im Playground (go.dev/play) ausführen.
  2. Variablen (:=, Typen), Ausgabe mit fmt.Println, Verzweigung und Schleife üben; eine Vergleichstabelle Python ↔ Go anlegen.
  3. Funktionen und Listen (Slices) üben, dabei Fehlermeldungen gezielt lesen.
  4. Bekannte Aufgaben aus dem Python-Unterricht (z. B. Notenschnitt, Primzahltest) in Go neu lösen und mit bekannten Ergebnissen testen.
  5. Besonderheiten wie Goroutinen in der offiziellen Doku (go.dev/doc) nachlesen.

Bewertet wird eine sinnvolle Reihenfolge (vom Einfachen zum Komplexen) und passende Quellen.

Erwartungshorizont zu Aufgabe d)

Die Aussage ist nicht haltbar. KI-Assistenten können beim Lernen helfen — sie erklären Meldungen, schlagen Syntax vor und sparen Zeit. Tims Beispiel zeigt aber, dass ihre Vorschläge fehlerhaft oder nur scheinbar richtig sein können: Der Fehler verschwand, das Ergebnis blieb falsch. Das erkennt nur, wer den Code versteht und mit bekannten Werten testet. Urteil: KI-Assistenten sind ein nützliches Werkzeug, ersetzen aber nicht das Lernen der Sprache; ihr Code muss immer verstanden und geprüft werden.