Zum Inhalt springen

DGB 2: Programmieren Testen Debuggen

Aus Informatik.wiki
Version vom 10. September 2026, 16:49 Uhr von Administrator (Diskussion | Beiträge) (DGB 2 redaktionell überarbeitete MediaWiki-Fassung eingespielt)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

← Digitale Grundbildung 2. Klasse

Programmieren bedeutet, eine Lösung so genau zu beschreiben, dass ein Computersystem sie ausführen kann. In der 2. Klasse stehen kleine, verständliche Programme im Mittelpunkt: Abläufe planen, Befehle kombinieren, Variablen, Eingaben, Ausgaben und Bedingungen verwenden, systematisch testen und Fehler gezielt beheben.

Lehrplanbezug

[Bearbeiten]
Bereich Zuordnung
Kompetenzbereich Produktion
Perspektiven T, I
Schwerpunkt Einfache Programme erstellen, testen und debuggen
Kompetenz Einfache Programme in einer geeigneten Lernumgebung entwickeln, Testfälle planen, Fehler lokalisieren und Programme schrittweise verbessern.

Lernziele

[Bearbeiten]

Die Schülerinnen und Schüler können:

  • eine Entwicklungs- oder Lernumgebung grundlegend bedienen;
  • Programm und Quelltext bzw. Blockfolge unterscheiden;
  • einfache Befehlsfolgen erstellen und ausführen;
  • Eingaben entgegennehmen und Ausgaben erzeugen;
  • Variablen zum Speichern veränderlicher Werte verwenden;
  • einfache Bedingungen für Entscheidungen einsetzen;
  • Wiederholungen in einfachen Aufgaben erkennen und gegebenenfalls verwenden;
  • Syntaxfehler, Laufzeitprobleme und logische Fehler in einfachen Beispielen unterscheiden;
  • Programme schrittweise statt nur am Ende testen;
  • eigene Testfälle mit Normal-, Rand- und Fehlersituationen entwickeln;
  • Debugging als systematische Fehlersuche erklären;
  • Änderungen kontrolliert durchführen und nach jeder Änderung erneut testen;
  • ein kleines Programm planen, umsetzen, dokumentieren und verbessern.

Lerninhalte

[Bearbeiten]

Entwicklungsumgebung und Programm

[Bearbeiten]

Eine Programmierumgebung stellt Werkzeuge zum Schreiben bzw. Zusammensetzen, Starten und Testen von Programmen bereit. In blockbasierten Systemen werden Befehle als Blöcke kombiniert; in textbasierten Sprachen werden Anweisungen geschrieben.

Die konkrete Umgebung ist austauschbar. Entscheidend sind algorithmisches Denken, Daten und Testen.

Sequenzen und klare Abläufe

[Bearbeiten]

Eine Sequenz ist eine geordnete Folge von Anweisungen. Bereits ein kleines Programm kann Eingabe lesen, einen Wert verarbeiten und eine Ausgabe anzeigen.

Die Reihenfolge muss logisch stimmen. Wie bei einem Algorithmus führen ausgelassene oder vertauschte Schritte zu falschen Ergebnissen.

Variablen

[Bearbeiten]

Variablen speichern Werte, die im Programm verwendet oder verändert werden. Beispiele sind Punktestand, Name, Temperatur oder Anzahl von Versuchen.

Aussagekräftige Namen wie `punkte` oder `anzahlVersuche` erleichtern das Lesen und spätere Debuggen.

Bedingungen und Wiederholungen

[Bearbeiten]

Mit Bedingungen kann ein Programm abhängig von einem Wert unterschiedlich reagieren: Wenn die Antwort richtig ist, erhöhe die Punkte; sonst zeige einen Hinweis. Wiederholungen führen Anweisungen mehrfach aus.

Die 2. Klasse benötigt noch keine komplexen Algorithmen. Wichtig ist, die Logik in kleinen Schritten nachvollziehen zu können.

Testen

[Bearbeiten]

Ein Programm sollte früh und häufig getestet werden. Nach einem kleinen Arbeitsschritt wird geprüft, ob das Ergebnis dem erwarteten Verhalten entspricht. So lässt sich ein Fehler leichter dem zuletzt geänderten Bereich zuordnen.

Gute Tests verwenden verschiedene Eingaben und prüfen nicht nur einen einzigen Erfolgsfall.

Debugging

[Bearbeiten]

Debugging bedeutet, Fehler systematisch zu finden und zu beheben. Hilfreich ist: Fehler reproduzieren, betroffenen Bereich eingrenzen, Zwischenwerte beobachten, eine Vermutung bilden, nur eine gezielte Änderung vornehmen und erneut testen.

Wahlloses Verändern vieler Stellen gleichzeitig erschwert die Fehlersuche.

Fehlerarten

[Bearbeiten]

Ein Syntaxfehler verletzt Regeln der Programmiersprache. Ein Laufzeitproblem tritt beim Ausführen auf. Ein logischer Fehler lässt das Programm zwar laufen, aber ein falsches Ergebnis erzeugen.

In blockbasierten Umgebungen treten klassische Syntaxfehler seltener auf, logische Fehler bleiben dennoch wichtig.

Dokumentieren und verbessern

[Bearbeiten]

Ein kleines Projekt sollte Ziel, wichtige Variablen, Testfälle und bekannte Grenzen dokumentieren. Nach der ersten funktionierenden Version können Bedienung, Fehlermeldungen und Lesbarkeit verbessert werden.

Programmieren ist damit ein iterativer Prozess: planen, erstellen, testen, verbessern.

Aufgaben für den Unterricht

[Bearbeiten]

Entwicklungsumgebung erkunden und Grundfunktionen nutzen

[Bearbeiten]

Die Lernumgebung wird systematisch statt zufällig erkundet.

Arbeitsauftrag: Finde Bereich für Code, Start/Stop, Ausgabe, Speichern und Hilfe. Erstelle eine beschriftete Übersicht.

Erwartetes Ergebnis: Orientierung in der Programmierumgebung.

Erstes einfaches Programm erstellen

[Bearbeiten]

Ein klar begrenztes Programm wird umgesetzt.

Arbeitsauftrag: Erstelle ein Programm, das nach einem Namen fragt und eine passende Begrüßung ausgibt.

Erwartetes Ergebnis: Funktionierende Ein- und Ausgabe.

Programme schrittweise testen

[Bearbeiten]

Ein Programm wird in kleinen Stufen aufgebaut.

Arbeitsauftrag: Teste nach jedem neuen Block bzw. Codeabschnitt und notiere erwartetes und tatsächliches Ergebnis.

Erwartetes Ergebnis: Dokumentierter Testprozess.

Fehlerhafte Programme debuggen

[Bearbeiten]

Vorbereitete Programme enthalten einfache Fehler.

Arbeitsauftrag: Finde und behebe mindestens drei Fehler. Beschreibe jeweils Symptom, Ursache und Korrektur.

Erwartetes Ergebnis: Nachvollziehbare Fehlersuche.

Eingaben und Ausgaben programmieren

[Bearbeiten]

Nutzereingaben werden verarbeitet.

Arbeitsauftrag: Erstelle einen Mini-Rechner, ein Quiz oder eine Umrechnung mit mindestens einer Eingabe und einer Ausgabe.

Erwartetes Ergebnis: Anwendungsnahes Programm.

Variablen gezielt einsetzen und überprüfen

[Bearbeiten]

Zwischenwerte werden sichtbar gemacht.

Arbeitsauftrag: Verwende mindestens zwei Variablen und gib ihre Werte während des Testens gezielt aus.

Erwartetes Ergebnis: Verständnis von Zustandsänderungen.

Eigene Testfälle entwickeln

[Bearbeiten]

Nicht nur der Normalfall wird geprüft.

Arbeitsauftrag: Definiere vor dem Test mindestens fünf Fälle, darunter einen Rand- oder Fehleingabefall, und notiere das erwartete Ergebnis.

Erwartetes Ergebnis: Systematische Testsammlung.

Programme gegenseitig prüfen

[Bearbeiten]

Peer-Testing erweitert die Sicht auf Fehler.

Arbeitsauftrag: Tauscht Programme aus, führt die Testfälle der anderen Gruppe aus und gebt sachliches Feedback.

Erwartetes Ergebnis: Testbericht mit reproduzierbaren Beobachtungen.

Ein kleines Projekt planen, erstellen und verbessern

[Bearbeiten]

Ein vollständiger Entwicklungszyklus wird durchgeführt.

Arbeitsauftrag: Plane ein Quiz, Spiel oder Hilfsprogramm, setze eine erste Version um, teste sie und dokumentiere zwei Verbesserungen.

Erwartetes Ergebnis: Kleines fertig getestetes Projekt.

Reflexion und Ergebnissicherung

[Bearbeiten]

Der Entwicklungsprozess wird sprachlich gesichert.

Arbeitsauftrag: Erkläre mit einem eigenen Beispiel den Unterschied zwischen Programmieren, Testen und Debuggen.

Erwartetes Ergebnis: Sicheres Prozessverständnis.

Selbstcheck

[Bearbeiten]
  • Ich kann eine einfache Programmierumgebung bedienen.
  • Ich kann Eingaben, Ausgaben und Variablen verwenden.
  • Ich kann einfache Bedingungen erklären.
  • Ich teste Programme schrittweise.
  • Ich kann Fehler reproduzieren und systematisch eingrenzen.
  • Ich kann ein kleines Programm planen, testen und verbessern.

Siehe auch

[Bearbeiten]