Nickname ändern

1.3.4 Fehler in einem Programm durch systematisches Testen identifizieren und korrigieren

Unterrichtsmaterial zum Lernziel: Die Maturandinnen und Maturanden können Fehler in einem Programm durch systematisches Testen identifizieren und korrigieren.

1.3 Programmieren · 1. Algorithmen und Programme

Wie wird sortiert?
agil ▲0/3algorithmen ▲0/3app-entwicklung ▲0/3assembler ▲0/3augmented-reality ▲0/3

MultiKara: Programmieren lernen mit Objekten und Robotern

MultiKara ist eine erweiterte Java-Lernumgebung (basierend auf dem bekannten Kara-Robotersystem), die spielerisch die objektorientierte Programmierung vermittelt. Lernende steuern Marienkäfer durch verschiedene Aufgabenwelten und lernen dabei Algorithmen, Kontrollstrukturen und objektorientierte Konzepte anzuwenden.

95AI-Score

Tic Tac Toe in Java

Ein umfassendes Unterrichtsmaterial zur objektorientierten Programmierung in Java anhand des Spiels Tic Tac Toe. Es behandelt schrittweise Themen wie AWT-GUIs, Interfaces, Event Handling, Exceptions und File I/O durch praktische Programmierübungen.

95AI-Score

Multi-Modus Roboter mit BBC micro:bit und Maqueen

Dieses Projektmaterial führt Schritt für Schritt durch den Bau eines intelligenten, ferngesteuerten Roboters mit zwei micro:bit-Mikrocontrollern. Die Schülerinnen und Schüler lernen anhand von Challenges, wie man Zustandsmaschinen, Event-Loops, Funkkommunikation und Sensorik in Python kombiniert.

92AI-Score

Solange-Schleifen: while

Dieses umfassende Unterrichtsmaterial führt anschaulich in die Verwendung von while-Schleifen in Python ein. Es behandelt Themen wie bedingte Wiederholungen, Endlosschleifen, break-Anweisungen und typische Stolpersteine wie Off-by-one-Fehler anhand von Alltagsbeispielen und Programmierübungen mit Lösungen.

92AI-Score

Sortieren durch Aufsteigen / Bubblesort

Das Unterrichtsmaterial führt in das klassische Sortierverfahren Bubblesort ein. Die Lernenden analysieren die Grundidee anhand von Beispielen, beschreiben den Algorithmus, erstellen ein Struktogramm und implementieren den Algorithmus schliesslich selbst.

90AI-Score

Verzweigungen für Grafikkompositionen in Python

Dieses Unterrichtsmaterial führt in die Nutzung von if-else und if-elif-else Verzweigungen zur Erstellung von Grafiken und Mustern in Python ein. Lernende wenden Kontrollstrukturen an, experimentieren mit Lambda-Ausdrücken und üben systematisches Testen und Fehlerbeheben in partnerbasierten Aufgaben.

90AI-Score

Rocket to Mars: Algorithmen und Debugging (CS Unplugged)

Dieses Unterrichtsmaterial führt spielerisch und ohne Computer (Unplugged) in grundlegende Konzepte der Programmierung ein. Die Lernenden schlüpfen in die Rollen von Entwicklern, Testern und Robotern, um einen Roboter über ein Raster zu navigieren, Sequenzen zu erstellen und Fehler systematisch zu debuggen.

90AI-Score

Little Red Riding Hood Algorithmen und Debugging (CS Unplugged)

Dieses praxisnahe Unterrichtsmaterial vermittelt spielerisch und ohne Computer (Unplugged) grundlegende Konzepte der Programmierung, des Testens und des Debuggings. Anhand eines physischen Rasters und Rollenspielen (Programmierer, Tester, Roboter) lernen die Schülerinnen und Schüler, Algorithmen zu erstellen, Fehler zu identifizieren und inkrementell vorzugehen.

90AI-Score

Backtracking mit Heuristiken

Dieses Unterrichtsmaterial führt anhand eines alltäglichen Beispiels (Websuchen) in das Konzept des Backtrackings ein und vertieft das Thema mit Algorithmen, Laufzeitbetrachtungen und Anwendungsbeispielen wie Labyrinthen und Springerwegen. Dabei werden auch Heuristiken zur Optimierung der Suche, insbesondere die Warnsdorf-Heuristik, besprochen.

90AI-Score

Turing Kara - Lernumgebung zu Turingmaschinen und Algorithmen

Diese interaktive Programmierumgebung (Turing Kara) lässt Lernende den Begriff des Algorithmus und Turingmaschinen spielerisch und praxisnah erarbeiten. Anhand verschiedener Aufgaben wie binärer Addition, Palindromprüfung oder Backtracking schreiben und testen sie schrittweise Befehlsfolgen. Das Material vermittelt fundamentale Konzepte der theoretischen Informatik und des algorithmischen Denkens auf anschauliche Art.

90AI-Score

Roboter-Programmierung: Aus der Box und durch das Labyrinth

Dieses Unterrichtsmaterial führt Schülerinnen und Schüler schrittweise dazu, reale Probleme in Teilprobleme zu zerlegen und physische Roboter (micro:bit) mithilfe von Programmen und Sensoren durch eine Box und ein Labyrinth zu steuern. Dabei werden Planungsphasen, Block- bzw. Textprogrammierung und Fehleranalysen kombiniert.

90AI-Score

GameGridKara 2.0 – Java lernen mit Kara

Dieses Unterrichtsmaterial führt spielerisch und anschaulich in die Programmierung mit Java ein, indem der Marienkäfer Kara in einer grafischen Mini-Umgebung gesteuert wird. Es enthält strukturierte Handouts, Programmierübungen sowie vollständige Lösungen für mehrere Lektionen.

88AI-Score

Prüfung zu Python-Grundlagen und Objektorientierter Programmierung

Dieses Dokument beschreibt eine zweiteilige Prüfung zu den Grundlagen von Python, einschliesslich Kontrollstrukturen, Datentypen und Funktionen, sowie zu grundlegenden Konzepten der objektorientierten Programmierung (OOP).

85AI-Score

Advent of Code: Clock Signal

Eine Programmieraufgabe, bei der eine bestehende virtuelle Maschinenarchitektur um einen Befehl erweitert und durch systematisches Testen sowie Experimentieren ein spezifisches Ausgangssignal (Clock Signal) erzeugt werden muss.

85AI-Score

Advent of Code 2020 - Day 9: Encoding Error

Eine Programmieraufgabe basierend auf dem Advent-of-Code-Format, bei der eine Sequenz von Zahlen auf Basis eines gleitenden Fensters und bestimmter Summenregeln auf Validität überprüft werden muss. Die Lernenden analysieren Datenströme und implementieren algorithmische Logik zur Fehlererkennung.

webseite 1.2.21.3.4
85AI-Score

Advent of Code: Handheld Halting (Infinite Loop Simulation)

Eine Programmieraufgabe im Rahmen des Advent of Code, bei der ein einfacher Interpreter für eine virtuelle Spielekonsole implementiert werden muss. Dabei sollen Befehlssequenzen Schritt für Schritt ausgeführt und Endlosschleifen identifiziert werden.

webseite 1.3.21.3.4
85AI-Score

Arrays und ArrayIndexOutOfBoundsException in Java

Dieses kurze Unterrichtsmaterial erklärt anhand eines Java-Codebeispiels, was passiert, wenn man auf ein Array ausserhalb seiner Grenzen zugreift. Es zeigt den typischen Fehler auf, dass Java im Gegensatz zu manchen anderen Sprachen bei ungültigen Indizes keine Null-Referenz zurückgibt, sondern eine ArrayIndexOutOfBoundsException wirft.

85AI-Score

Recursive Call Sites and Return Statements in Java

Dieses Unterrichtsmaterial beleuchtet einen häufigen Stolperstein beim Programmieren von rekursiven Methoden mit Rückgabewert in Java. Es zeigt anhand von Codebeispielen auf, warum auch bei Endrekursionen (tail recursion) zwingend ein Return-Statement erforderlich ist und korrigiert typische Missverständnisse.

85AI-Score

Sortieren durch Auswählen / Selectionsort

Das Material führt anhand des Selection-Sort-Algorithmus schrittweise in die Grundidee des Sortierens ein, lässt Lernende den Algorithmus manuell nachvollziehen, in Struktogrammen modellieren und schliesslich implementieren.

85AI-Score

Binäre Suche

Das Unterrichtsmaterial führt in das klassische Suchverfahren der binären Suche ein. Anhand von Aufgaben zur Erläuterung und Ablaufmodellierung sowie einer Programmieraufgabe wird das Prinzip der halbierenden Bereichssuche verstanden und umgesetzt.

85AI-Score

Übungen zu rekursiven Algorithmen mit dem RecursionTutor

Dieses Unterrichtsmaterial enthält praktische Programmier- und Analyseaufgaben zur Rekursion anhand konkreter Anwendungsbeispiele wie Zinseszins, Medikamentenabbau und geometrischen Wachstumsprozessen. Lernende nutzen einen interaktiven Tutor zur Visualisierung von Aufrufbäumen, um rekursive Algorithmen zu entwickeln, zu testen und zu verstehen.

85AI-Score

Übungen zu Testen, Verifizieren und Algorithmen

Das Unterrichtsmaterial enthält Aufgaben zum systematischen Testen von Algorithmen anhand eines Primzahltests sowie zur mathematischen Verifikation der Korrektheit der ägyptischen Multiplikation. Es fordert Lernende dazu auf, Spezifikationen zu formulieren, Testfälle zu dokumentieren und fakultativ Python-Implementierungen einzusetzen.

85AI-Score

Fachkonzept - Korrektheit von Algorithmen

Der Text führt in die zentralen Begriffe rund um die Korrektheit von Algorithmen ein. Es werden Spezifikationen (Vor- und Nachbedingungen), Terminierung, das Testen mit Testfällen sowie die theoretische Verifikation durch mathematische Beweise erläutert.

85AI-Score

Korrektheit mit Python testen (Doctests)

Dieses Unterrichtsmaterial zeigt, wie man den grössten gemeinsamen Teiler (ggT) in Python implementiert und mithilfe des Moduls 'doctest' automatisiert testet. Die Lernenden fügen eigene Testfälle hinzu und analysieren das Verhalten bei korrekten und fehlerhaften Ausgaben.

85AI-Score

Korrektheit von Algorithmen testen

Dieses Unterrichtsmaterial führt in das systematische Testen von Algorithmen anhand konkreter Testfälle am Beispiel des euklidischen Algorithmus zur ggT-Berechnung ein. Lernende spielen Testfälle durch und reflektieren Fragen zur Vollständigkeit und zum Nachweis der Korrektheit.

85AI-Score

Vom Multiplikations- zum Potenzierungsalgorithmus

Dieses Unterrichtsmaterial beleuchtet die historische Bedeutung von Algorithmen am Beispiel der ägyptischen Multiplikation und führt zum modernen Konzept des schnellen Potenzierens über. Die Lernenden analysieren das Verfahren, entwickeln ein Struktogramm und implementieren den Algorithmus eigenständig in Python.

85AI-Score

Implementierung der ägyptischen Multiplikation

Ein kurzes Programmier-Praktikum zur ägyptischen Multiplikation. Lernende implementieren den Algorithmus als Funktion in Python oder einer anderen Sprache, testen ihn auf Randfälle und stellen so die Korrektheit sicher.

85AI-Score

Fehlermeldungen verstehen und korrigieren in Python

Dieses Unterrichtsmaterial führt Lernende in die Interpretation von Python-Fehlermeldungen und die Behebung häufiger Fehler wie SyntaxError, NameError oder TypeError ein. Anhand praktischer Programmierbeispiele mit der PyTamaro-Bibliothek wird das systematische Finden und Korrigieren von Fehlern geübt.

85AI-Score

Grafische Programmierung mit PyTamaro: Der Regentropfen

Dieses Unterrichtsmaterial führt anhand des Zeichnens eines Regentropfens in die modulare Programmierung mit der Python-Bibliothek PyTamaro ein. Die Lernenden zerlegen das grafische Problem in Teilprobleme, nutzen Funktionen wie `pin` und `compose` zur Zusammensetzung von Grundfiguren und testen ihren Code systematisch.

85AI-Score

Einführung in Python mit PyTamaro: Rechtecke erstellen und anzeigen

Dieses interaktive Unterrichtsmaterial führt in grundlegende Programmierkonzepte von Python ein. Anhand der Grafik-Bibliothek PyTamaro lernen die Schülerinnen und Schüler, wie man Funktionen aufruft, Bibliotheken importiert, Argumente übergibt und einfache Fehler bei der Ausführung behebt.

85AI-Score

Funktionen: Parameter und Argumente in PyTamaro

Das Unterrichtsmaterial führt anhand der Python-Bibliothek PyTamaro in die Konzepte von Funktionsdefinitionen, Parametern und Argumenten ein. Lernende untersuchen Codebeispiele, identifizieren Datentypen und analysieren typische Fehler bei Funktionsaufrufen.

85AI-Score

Funktionen definieren und anwenden

Dieses Unterrichtsmaterial führt in das Konzept von Funktionen ein, indem anhand von Python-Code mit PyTamaro (Kreise, Zielscheiben) Funktionsdefinitionen, Parameter, Aufrufe und Rückgabewerte erklärt werden. Die Lernenden führen Codezellen aus, korrigieren bewusst Fehler bezüglich Argumenten und Datentypen und lernen die Wiederverwendbarkeit von Code kennen.

85AI-Score

Einführung in Python und PyTamaro

Eine praxisnahe Einführung in die Programmierung mit Python und der Grafik-Bibliothek PyTamaro. Die Lernenden erfahren grundlegende Programmierkonzepte, wenden Funktionsaufrufe an und lernen, einfache Fehler in Programmen zu erkennen.

85AI-Score

EAN / Strichcode Prüfziffer berechnen mit Scratch

Eine Programmieraufgabe für Scratch, bei der Schülerinnen und Schüler ein Programm erstellen, das einen 12-stelligen Produktcode einliest, die Ziffern nach bestimmten Regeln gewichtet aufsummiert und prüft, ob die Summe ein Vielfaches von 10 ist.

85AI-Score

ISBN-10 Validierung in Scratch

Eine Programmieraufgabe für Scratch, bei der Schülerinnen und Schüler einen Algorithmus zur Überprüfung der Gültigkeit von ISBN-10 Nummern implementieren. Das Material enthält konkrete Testbeispiele und Code-Bausteine zur Unterstützung.

85AI-Score

I'm going to be a Bot: Grundlagen der Programmierung und des Debuggens

Dieses unplugged Unterrichtsmaterial lässt Lernende in die Rollen eines Roboters und eines Entwicklers schlüpfen, um sequenzielle Befehle auf einem Raster auszuführen. Dabei werden grundlegende Programmierkonzepte, das schrittweise Abarbeiten von Programmen sowie das Identifizieren und Beheben von Fehlern (Debugging) spielerisch vermittelt.

85AI-Score

Fitnessprogramm-Algorithmen und Schleifen (Unplugged)

In dieser unplugged Unterrichtseinheit entwerfen Schülerinnen und Schüler eine eigene Programmiersprache anhand von Fitnessübungen. Dabei lernen sie sequenzielle Befehle, Schleifen und Parameter kennen, führen Programme manuell aus und testen diese auf Fehler.

85AI-Score

Rotkäppchen-Algorithmen: Einführung in Programmierung und Debugging

Eine spielerische, unplugged Unterrichtsstunde, in der Schülerinnen und Schüler in den Rollen von Programmierer, Tester und Bot einfache Bewegungsabläufe auf einem Gitterfeld planen, ausführen, testen und Fehler (Debugging) beheben.

85AI-Score

Wettkampfprogrammierung: Grader-Strategien und Debugging-Tipps

Das Dokument bietet praxisnahe Tipps und Techniken für die Teilnahme an Programmierwettbewerben wie der SOI, CEOI oder IOI. Es behandelt verschiedene Aufgabentypen, Strategien zur Fehlerbehebung bei Laufzeitfehlern und Optimierungsmethoden für C++.

85AI-Score

Einführung in Unit Testing in Python

Dieses Unterrichtsmaterial erklärt die Grundlagen und Bedeutung von Unit Tests anhand von Python-Beispielen. Es behandelt das Schreiben von Testfällen für verschiedene Szenarien, Code-Coverage und das Identifizieren von Fehlern durch systematisches Testen.

85AI-Score

Einführung in das Debugging

Dieses Unterrichtsmaterial führt Schülerinnen und Schüler in das Konzept des Debuggings ein. Es behandelt historische Hintergründe, die wissenschaftliche Methode beim Testen von Code sowie praktische Techniken wie Print-Debugging und das Rubber-Duck-Debugging.

webseite 1.3.4
85AI-Score

Iterative Programm-Optimierung und Datenverarbeitung in Raku

Ein praktisches Programmierbeispiel, das zeigt, wie ein naives Skript zur Analyse von UN-Bevölkerungsdaten schrittweise durch Fehlerbehebung, Performance-Optimierung und den Einsatz von Bibliotheken verbessert wird.

85AI-Score

Beginning Student Language (BSL) Referenz und Einführung

Eine umfassende Einführung in die Syntax, Semantik und Fehlersuche der Beginning Student Language (BSL) aus dem Umfeld von DrRacket. Das Material behandelt Datentypen, Grammatikregeln, bedingte Ausdrücke sowie Strukturdefinitionen und dient als Programmierreferenz.

85AI-Score

Fehlermeldungen in Python interpretieren

Dieses Unterrichtsmaterial führt in die Unterscheidung von Syntaxfehlern und Laufzeitfehlern beim Programmieren mit Python ein. Anhand konkreter Codebeispiele wird gezeigt, wie Fehlermeldungen des Interpreters analysiert und behoben werden können.

85AI-Score

Errors and Exceptions in Python

Dieses offizielle Python-Tutorial behandelt ausführlich den Umgang mit Syntaxfehlern und Ausnahmen (Exceptions). Es wird gezeigt, wie man Fehler abfängt, eigene Exceptions definiert und Bereinigungsaktionen wie 'finally' oder den 'with'-Statement einsetzt.

webseitepython 1.3.4
85AI-Score

Python-Missverständnis: Logisches UND vs. Bitweises UND

Dieses Unterrichtsmaterial erklärt anhand von Beispielen in Python den Unterschied zwischen dem logischen UND ('and') und dem bitweisen UND ('&') für boolesche Operanden, einschliesslich des Short-Circuit-Verhaltens.

85AI-Score

Missverständnis um das 'this'-Schlüsselwort in Java

Das Unterrichtsmaterial beleuchtet ein typisches Schüler-Missverständnis, bei dem das 'this'-Schlüsselwort in objektorientierten Programmen fälschlicherweise auf 'null' geprüft wird. Anhand von konkreten Code-Beispielen aus rekursiven Datenstrukturen werden die Ursachen und Symptome dieses Programmierfehlers analysiert.

85AI-Score

Experimente mit einem CSS-Validierer

In diesem Arbeitsblatt experimentieren die Lernenden mit CSS-Quelltexten, bauen gezielt Fehler ein und untersuchen diese sowohl manuell als auch mithilfe des offiziellen W3C-CSS-Validierers.

85AI-Score

Fehler im HTML-Quelltext und Fehlertoleranz

Dieses Unterrichtsmaterial befasst sich mit Fehlern in HTML-Quelltexten, dem Umgang von Browsern und Editoren mit diesen Fehlern sowie dem Konzept der Fehlertoleranz. Anhand praktischer Aufgaben untersuchen die Lernenden, wie Tools fehlerhaften Code korrigieren und warum Syntaxregeln dennoch wichtig sind.

85AI-Score

Einführung in die Python-Programmierung

Dieses Material bietet eine praxisnahe Einführung in die Programmiersprache Python für den Informatikunterricht. Anhand von Beispielen und Programmieraufgaben werden grundlegende Programmierkonzepte vermittelt.

85AI-Score