MINT lernen

Eine neue Sprache lernen

Zehn interaktive Übungen zu Konzepten, Lernquellen, Fehlermeldungen und KI-Code — von AFB I bis AFB III.

Dein Fortschritt:
0 / 0 Aufgaben
1

Übungsaufgaben

Zehn interaktive Übungen zum Übertragen, Nachschlagen und Testen — von AFB I bis AFB III. Jede Übung gibt dir sofort Rückmeldung.

A1
Konzepte in fremder Syntax erkennen
AFB I

Die Zeilen stammen aus Rust, Java und JavaScript. Auch wenn die Schreibweise neu ist: Welches bekannte Konzept steckt jeweils dahinter?

Ziehe jede Karte in den passenden Korb — oder wähle sie mit Enter aus und drücke dann die Ziffer des Korbs (0 legt sie zurück).
1Verzweigung
2Schleife
3Funktion
4Liste / Array
Die Konzepte kennst du aus Python — nur die Wörter ändern sich: if/else if/switch verzweigen, while/for/loop wiederholen, fn/function/Rückgabetyp vor dem Namen kennzeichnen Funktionen, eckige oder geschweifte Klammern mit mehreren Werten sind Listen bzw. Arrays.
A2
Stimmt's? — Richtig lernen
AFB I

Fünf Aussagen über das Lernen einer weiteren Programmiersprache.

5 Aussagen nacheinander. Eine falsche Einschätzung reicht — dann startest du die Serie mit „Neue Runde“ neu.
Aussage 1 von 5

Konzepte übertragen, Syntax nachschlagen, im Playground ausprobieren, Fehlermeldungen lesen — und fremden Code immer testen.
A3
Wo lerne ich was?
AFB I

Ordne jeder offiziellen Lernquelle die Sprache zu, um die es dort geht.

A4
Der Lernfahrplan
AFB II

Leon kann Python und will Rust lernen. Bringe seine Lernschritte in eine sinnvolle Reihenfolge.

Ziehe die Karten in die richtige Reihenfolge — mit der Tastatur: ↑/↓ verschiebt, Shift+↑/↓ wechselt nur den Fokus.
1Eine eigene Funktion schreiben und aufrufen
2Rust installieren oder einen Playground öffnen und „Hallo Welt“ ausführen
3Ein eigenes kleines Projekt starten und Besonderheiten wie Ownership gezielt nachlesen
4Verzweigung und Schleife ausprobieren
5Eine bekannte Aufgabe aus dem Python-Unterricht in Rust neu lösen
6Variablen anlegen und Werte ausgeben
Erst muss überhaupt etwas laufen (Hallo Welt). Dann folgen die Grundbausteine in der Reihenfolge, in der sie aufeinander aufbauen: Variable und Ausgabe, Verzweigung und Schleife, Funktion. Eine bekannte Aufgabe neu zu lösen zeigt, ob alles sitzt — erst danach lohnt ein eigenes Projekt.
A5
Rechenkette: Rust lesen mit Python-Wissen
AFB II

Du hast noch nie Rust programmiert. Lies das Programm trotzdem — (2..=11).step_by(3) bedeutet: von 2 bis einschließlich 11 in Dreierschritten.

Rust
fn main() {
    let mut s = 0;
    for i in (2..=11).step_by(3) {
        s += i;
    }
    println!("{}", s);
}
Rechne die Kette Schritt für Schritt: Erst wenn ein Schritt stimmt, wird der nächste freigeschaltet. Enter prüft.
  1. Anzahl der Schleifendurchläufe
  2. Wert von i im letzten Durchlauf
  3. Ausgabe des Programms
i nimmt die Werte 2, 5, 8, 11 an — 11 gehört wegen ..= dazu. s = 2 + 5 + 8 + 11 = 26. In Python entspräche das range(2, 12, 3). let mut braucht Rust, weil sich s ändern soll.
A6
Vokabelheft Python → Rust
AFB II

Ergänze Leons Vokabelheft — ein Wort bleibt übrig.

Wort anklicken, dann Lücke anklicken (oder umgekehrt) — mit Tab und Enter geht es genauso. Ein Klick auf eine gefüllte Lücke legt das Wort zurück.

Statt def schreibt man in Rust . Eine Variable, deren Wert sich später ändern darf, legt man mit an. Für die Ausgabe nutzt man . Blöcke stehen nicht eingerückt, sondern in . Und aus Pythons elif wird .

var bleibt übrig — das gibt es in JavaScript, C# und Go, aber nicht in Rust. Ohne mut sind Rust-Variablen unveränderlich.
A7
Mix: Besonderheiten der Sprachen
AFB II

Neu in einer Sprache ist nicht nur die Syntax, sondern auch ihre Besonderheiten. Welche Aussagen stimmen?

Mehrere Antworten sind richtig. Markiere alle zutreffenden und klicke dann auf „Prüfen“.
SQL ist deklarativ: Man beschreibt, was man haben will, nicht wie gesucht wird. := in Go legt eine ganz normale, veränderbare Variable an und leitet ihren Typ ab. Die übrigen Aussagen beschreiben genau die Besonderheiten, die man beim Lernen gezielt nachschlagen sollte.
A8
KI-Code testen
AFB III

Emma lässt ein Python-Programm von einem KI-Assistenten nach JavaScript übersetzen. Es soll zählen, wie viele gerade Zahlen in einer Liste stehen.

Python
def anzahl_gerade(liste):
    z = 0
    for x in liste:
        if x % 2 == 0:
            z = z + 1
    return z

Ein Test mit [4, 7, 10] liefert statt 2 eine Fehlermeldung. Drei Zeilen der Übersetzung sind falsch.

Klicke genau die fehlerhaften Zeilen an — die richtigen musst du stehen lassen.
Die Fehlermeldung „ReferenceError: i is not defined“ zeigt auf die Zeile mit return. Die beiden anderen Fehler fallen erst auf, wenn man mit einem Beispiel testet, dessen Ergebnis man kennt: Mit [4, 7, 10] und korrigiertem return z käme 1 statt 2 heraus (gezählt würde nur die 7).
A9
Sortieren in JavaScript
AFB III

In Python liefert sorted([10, 9, 1]) die Liste [1, 9, 10]. Mia überträgt das nach JavaScript:

JavaScript
let werte = [10, 9, 1];
werte.sort();
console.log(werte[werte.length - 1]);

Welche Zahl gibt das Programm aus?

Rechne selbst und trage das Ergebnis ein — Enter prüft direkt.
Trick: Man erwartet die größte Zahl 10. JavaScripts sort() vergleicht ohne weitere Angabe aber als Texte, Zeichen für Zeichen: „1“ < „10“ < „9“. Die Liste wird [1, 10, 9], das letzte Element ist 9. Richtig wäre werte.sort((a, b) => a - b); — genau solche Besonderheiten muss man in der Doku nachlesen.
A10
Fehlermeldungen richtig deuten
AFB III

Beim Ausprobieren neuer Sprachen erscheinen diese Meldungen. Ordne jeder Meldung ihre Ursache zu.