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.
Solange-Schleifen: while
Dieses Unterrichtsmaterial führt in Python-Schleifen mit der while-Anweisung ein. Es zeigt anhand von praktischen Beispielen wie dem Papierfalten oder der Collatz-Folge, wann eine while-Schleife anstelle einer for-Schleife eingesetzt wird und bietet zahlreiche Programmieraufgaben.
Weltbank-Indikatoren Projekt: Daten mit SQL in Python
Dieses Projekt verbindet Python mit einer SQLite-Datenbank voller Weltbank-Indikatoren. Lernende entwickeln eine eigene Konsolenanwendung oder Präsentation mit SQL-Abfragen und Datenverarbeitung.
Multi-Modus Roboter mit BBC micro:bit und Maqueen
Ein umfassendes Programmierprojekt für Python, bei dem Schülerinnen und Schüler einen ferngesteuerten Roboter mit Zustandsmaschinen, Event-Loops und Radio-Kommunikation entwickeln. Das Material führt Schritt für Schritt durch die Implementierung verschiedener Betriebsmodi wie Fernsteuerung und Linienverfolgung.
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.
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.
Wordle in Python programmieren
Ein schrittweises Programmierprojekt für Python, bei dem das bekannte Spiel Wordle implementiert wird. Die Lernenden arbeiten sich dabei von grundlegenden Git-Befehlen und Konsoleneingaben bis hin zu komplexerer Logik mit Schleifen, Bedingungen und Listenvergleichen vor.
Listen verändern in Python
Dieses Unterrichtsmaterial erklärt anhand von Beispielen und Code-Snippets, wie man in Python Elemente zu Listen hinzufügt, sie daraus entfernt und Listen in Schleifen verarbeitet. Es enthält praxisnahe Programmieraufgaben inklusive Musterlösungen und Zusatzaufgaben.
Listen verändern in Python
Dieses Unterrichtsmaterial erklärt anhand von Codebeispielen und Übungsaufgaben, wie man in Python Elemente zu Listen hinzufügt, sie entfernt und Listen mithilfe von Schleifen bearbeitet. Es enthält sowohl Aufgabenstellungen mit Hinweisen als auch vollständige Musterlösungen.
Hangman in Python programmieren
Die Schülerinnen und Schüler vervollständigen ein Hangman-Spiel in Python, indem sie Funktionsdefinitionen und Funktionskörper zusammenfügen, Variablen analysieren, Code kommentieren und die Spiellogik implementieren. Dabei werden auch Zusatzfunktionen wie Zufallswörter und ASCII-Grafiken integriert.
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.
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.
Häufigkeitsanalysen und Kryptoanalyse
Dieses Unterrichtsmaterial befasst sich mit der automatisierten Entschlüsselung von Chiffren mittels Häufigkeitsanalysen. Die Lernenden entwerfen und programmieren eigene Algorithmen zur Brechung von Caesar- und Substitutionschiffren, analysieren die Grenzen des Verfahrens und präsentieren ihre Ergebnisse.
Datenrepräsentation und Datentypen in Python
Das Material führt in die Grundlagen der Datenrepräsentation ein, behandelt einfache Datentypen sowie Dateiformate und erklärt den Unterschied zwischen Syntax- und Semantikfehlern anhand von Python-Beispielen.
Roboter-Fernsteuerung mit Micro:bit programmieren
Dieses Unterrichtsmaterial leitet dazu an, eine Fernsteuerung für einen Maqueen-Roboter mithilfe von zwei Micro:bit-Mikrocontrollern zu programmieren. Dabei werden Ereignisse, Schleifen und Sensoren wie der Beschleunigungsmesser praktisch eingesetzt und algorithmische Problemlösungsfähigkeiten geschult.
Linientracker programmieren mit logischen Verknüpfungen
Dieses Unterrichtsmaterial führt in die Verwendung von logischen Operatoren wie 'and' und 'or' ein und wendet diese praktisch bei der Programmierung eines Linienfolger-Roboters mit Makecode an. Die Schülerinnen und Schüler lernen dabei auch den Umgang mit Variablen für Geschwindigkeiten und das iterative Testen.
Rekursive Algorithmen in Python
Dieses Unterrichtsmaterial befasst sich vertieft mit dem Konzept der Rekursion anhand von Beispielen wie der Fakultät, der Ackermann-Funktion und verschiedenen rekursiven Funktionen auf Listen. Die Schülerinnen und Schüler programmieren in Python, analysieren den Call-Stack im Debugger, führen rekursive Funktionsaufrufe von Hand aus und bestimmen die Komplexitätsklasse.
Python Programmierprüfung
Es handelt sich um ein zweiteiliges Prüfungsmaterial für den Python-Unterricht mit einem schriftlichen Teil ohne Hilfsmittel und einem praktischen Programmierprojekt in VS Code. Die Lernenden wenden fortgeschrittene Python-Konzepte wie Listen, Funktionen, Scopes und Fehlerbehandlung an.
Umgang mit Fehlern und Benutzereingaben in Python
Dieses Unterrichtsmaterial behandelt die Fehlerbehandlung in Python anhand von Try-Except-Blöcken sowie Validierungsprüfungen für Benutzereingaben. Anhand konkreter Codebeispiele und Reflexionsfragen wird verglichen, wann defensive Programmierung mittels If-Abfragen oder Fehlerbehandlung sinnvoller ist.
Wiedereinstieg in Python
Dieses Unterrichtsmaterial leitet Schülerinnen und Schüler dazu an, ihre Python-Kenntnisse durch die Repetition früherer Kapitel aufzufrischen, Fehlerbilder zu analysieren und ihre Erfahrungen in einem eigenen Blogbeitrag zu dokumentieren.
Fehlerbehebung und Debugging in Python
Dieses Unterrichtsmaterial führt in die verschiedenen Arten von Programmierfehlern in Python ein. Anhand von Codebeispielen und Übungen lernen Schülerinnen und Schüler, Syntaxfehler, Namensfehler, Einrückungsfehler und Logikfehler systematisch zu erkennen und zu korrigieren.
Programmieren in Python - Übersicht und Lernziele
Diese Übersichtsseite stellt Tutorials, Referenzen, Arbeitsblätter, Lernziele und Beurteilungskriterien für ein Programmiermodul in Python bereit. Die Schülerinnen und Schüler lernen sequenzielle Abläufe, Bedingungen, Variablen und Unterprogramme kennen und anzuwenden.
Productive Failure beim Programmieren
Dieses Unterrichtsmaterial nutzt den Ansatz des 'Productive Failure', um Schülerinnen und Schüler durch selbstentdeckendes Lernen und gezielte Aufgaben an typische Programmierfehler heranzuführen. Es basiert auf dem Lehrmittel 'Programmieren und Robotik' und enthält neben den Aufgaben auch Musterlösungen sowie didaktische Hinweise.
Parser4Kids - Java Lernumgebung für Lexer und Parser
Eine grafische Java-Lernumgebung, mit der Schülerinnen und Schüler schrittweise die Funktionsweise von Lexern und Parsern an kleinen Beispielen untersuchen, manipulieren und ausführen können. Die Software veranschaulicht den Prozess der Syntaxanalyse und des Übersetzens auf spielerische und interaktive Weise.
Zufallszahlen erzeugen – Methode der linearen Kongruenz
Dieses Unterrichtsmaterial behandelt die Erzeugung von Pseudozufallszahlen mittels der linearen Kongruenzmethode. Die Lernenden erarbeiten sich die theoretischen Grundlagen und setzen diese praktisch mithilfe eines Tabellenkalkulationsprogramms um. Abschliessend erhalten sie Einblicke in statistische Tests zur Untersuchung von Zufallszahlen.
Rundung im Quadrat
Das Unterrichtsmaterial behandelt die numerischen Grenzen von Computern, insbesondere Rundungsfehler, Auslöschung und Kondition. Anhand eines einfachen Programms zur Lösung quadratischer Gleichungen erleben die Schülerinnen und Schüler die Problematik am eigenen Leibe.
Antike Verschlüsselung mit Python
Dieses Unterrichtsmaterial führt anhand klassischer Verschlüsselungsverfahren wie Skytale, Polybios, Caesar und der Substitutions-Chiffre in die Programmierung mit Python ein. Die Lernenden analysieren, ergänzen und erweitern bestehende Code-Beispiele zur Ver- und Entschlüsselung.
Micro:Bit Roboter-Wettbewerb (Maqueen)
Ein praktisches Programmierprojekt für Schülerinnen und Schüler, bei dem ein Maqueen-Roboter mit einem Micro:Bit in Python so programmiert werden muss, dass er einen Parcours mit verschiedenen Hindernissen und Bedingungen bewältigt. Die Benotung erfolgt über eine Kombination aus praktischer Umsetzung und einem schriftlichen Bericht mit Code-Dokumentation.
Umgang mit Fehlern in Python
Dieses Unterrichtsmaterial erklärt typische Fehlermeldungen in Python und der Pygame-Turbo-Bibliothek (wie NameError, IndentationError oder SyntaxError). Anhand von Beispielen wird gezeigt, wie man diese Fehler systematisch identifiziert und korrigiert. Eine praktische Aufgabe fordert die Lernenden auf, fehlerhaften Code selbst zu bereinigen.
Lösungen zu Einführung A (Python Spieleprogrammierung)
Dieses Dokument enthält vollständige Programmierlösungen für eine Python-Einführung, bei der mittels der Bibliothek Pygame Zero ein einfaches 2D-Spiel schrittweise entwickelt wird. Die Aufgaben behandeln die Grundlagen der Spieleprogrammierung, Grafikdarstellung, Kollisionsabfrage sowie die Implementierung von Spielmechaniken wie Punkten und Zeitzählern.
Code Editors & Scoring in Eduskript
Diese Dokumentation beschreibt die Verwendung von interaktiven Code-Editoren für Python, JavaScript, SQL und HTML im Browser sowie Mechanismen zur automatischen und KI-gestützten Bewertung von Schülerleistungen. Es erläutert Syntax, Runtimes, Persistenz und Testkonzepte für den Informatikunterricht.
Code-Editoren und Bewertungssysteme in Eduskript
Dieses Dokument beschreibt die Verwendung von interaktiven, clientseitigen Code-Editoren für Python, JavaScript, SQL und HTML innerhalb der Lernplattform Eduskript. Zudem werden verschiedene automatisierte und KI-gestützte Methoden zur Bewertung von Schülerleistungen wie 'python-check', 'predict-output' und 'ai-feedback' detailliert erklärt.
Corewars Programmierwettbewerb
Die Lernenden tauchen in ein narratives Szenario ein und experimentieren mit Corewars-Programmen, um algorithmische Strategien und das Verhalten von Programmen im Speicher zu analysieren. Im Anschluss entwerfen sie eigene Programme oder verfassen eine dokumentierte Analyse der Strategien für ein abschliessendes Turnier.
Einführung in die Programmierung
Dieses Unterrichtsmaterial bietet eine Einführung in die Grundlagen der Programmierung. Die Lernenden erhalten theoretische Einblicke und praktische Aufgaben zur Erstellung und zum Testen von Programmen.
Kara Java – Programmierumgebung und Lehrmittel
Es handelt sich um eine integrierte Programmierumgebung und Sammlung von Lehrmaterialien rund um den bekannten Marienkäfer Kara, der in Java gesteuert wird. Das Material bietet spielerische Aufgaben zur Einführung in die Programmierung, Kontrollstrukturen und Algorithmen. Es ist konkret für den Informatikunterricht an Schulen konzipiert.
Kara Java/MultiKara
MultiKara ist eine erweiterte Java-Programmierumgebung mit Schwerpunkt auf objektorientierter Programmierung und autonomen Agenten (Kara der Marienkäfer). Das Material enthält Ressourcen und Hilfen für verschiedene Programmieraufgaben im Schulunterricht.
Kara Java-Lernumgebung und Aufgaben
Die Software Multikara bietet eine spielerische Lernumgebung zur Einführung in die Programmierung. Anhand verschiedener Missionen und Aufgaben steuern Schülerinnen und Schüler einen Marienkäfer durch eine Welt und lernen dabei algorithmisches Denken und Programmieren.
Kara Java-Lernumgebung und Programmieraufgaben
Dieses Material enthält die Software und Aufgaben für Kara den Marienkäfer, eine intuitive Programmierumgebung in Java für den Einstieg in die algorithmische Problemlösung. Schülerinnen und Schüler lernen sequenzielle Abläufe, Kontrollstrukturen und das Steuern von Objekten anhand praxisnaher Rätsel und Programmieraufgaben.
MultiKara
MultiKara ist eine erweiterte Lernumgebung für Java, in der programmierbare Marienkäfer (Kara) in einer 2D-Welt gesteuert werden. Das Tool vermittelt objektorientiertes Programmieren (OOP) und algorithmische Problemlösung anhand von verschiedenen integrierten Aufgaben und Simulationen.
Kara / MultiKara Lernumgebung
Eine grafische Programmierumgebung (Kara), in der ein Marienkäfer durch Steuerungsbefehle, Sensoren und Algorithmen über ein Rasterfeld gesteuert wird. Das Material bietet interaktive Aufgaben zur Problemlösung und Programmierung.
Kara / MultiKara (Lernsoftware für Algorithmen)
MultiKara ist eine interaktive Programmierumgebung in Form eines Marienkäfers, mit der Schüler spielerisch Algorithmen und grundlegende Programmierkonzepte erlernen können. Die Software enthält verschiedene Aufgaben und Welten, um Problemlösungskompetenzen und strukturierte Programmierung zu trainieren.
Kara-Programmierumgebung mit Turing-Kara
Das Material enthält eine Sammlung von Aufgaben und Hilfen für die Lernumgebung Turing-Kara, bei der eine programmierbare Marienkäfer-Turingmaschine gesteuert wird. Die Schülerinnen und Schüler lösen algorithmische Aufgaben wie binäre Addition, Palindromprüfung und Backtracking. Es ist ein interaktives Tool, das algorithmisches Denken und Programmieren spielerisch vermittelt.
Turing Kara - Programmierumgebung für Turingmaschinen
Es handelt sich um eine Lernsoftware (Kara-Reihe), in der der Programmierer den Marienkäfer Kara als Turingmaschine steuert. Das Material enthält diverse Programmieraufgaben wie binäre Addition, Palindromprüfung und Backtracking. Es ist interaktiv und dient dem praktischen Erlernen von Algorithmen und Automaten.
NIKI-Aufgaben nach KARA portiert
Eine Sammlung von Programmieraufgaben für den Lernroboter Kara, bei denen verschiedene Routinen wie Container-Transporte, Bewegungspfade und Hindernisüberwindung gelöst werden müssen. Die Aufgaben fördern das logische Denken und die algorithmische Problemlösung anhand eines anschaulichen Modellroboters.
Einführung in algorithmische Grundstrukturen an Hand der Programmierumgebung Kara
Diese pädagogische Arbeit dokumentiert eine Unterrichtseinheit zur Einführung in algorithmische Grundstrukturen für die 8. Klasse an Gymnasien. Mithilfe der grafischen Programmierumgebung Kara lernen die Schüler spielerisch die Grundlagen des Programmierens wie Sequenzen, Verzweigungen und Wiederholungen kennen. Das Material umfasst sowohl fachwissenschaftliche Analysen als auch detaillierte methodisch-didaktische Planungen für mehrere Doppelstunden.
Arbeitsblätter für JavaKara: Schleifen und Bedingungen
Dieses Unterrichtsmaterial führt anhand der Programmierumgebung JavaKara in die Verwendung von while- und do-Schleifen sowie Bedingungen ein. Anhand konkreter Aufgaben zum Einsammeln von Kleeblättern lernen Schülerinnen und Schüler, Programme zu analysieren, Fehler zu korrigieren und Schleifenstrukturen anzuwenden.
JavaKara: Kleeblattreihe invertieren und Programmierfehler analysieren
Dieses Unterrichtsmaterial enthält JavaKara-Programmcode und dazugehörige Aufgaben zur Invertierung einer Kleeblattreihe. Lernende analysieren typische Programmierfehler, Kontrollstrukturen wie Schleifen und Bedingungen sowie deren korrekte Anwendung.
JavaKara Schriftliche Übung 1
Dieses Arbeitsblatt bietet praktische Übungen zum Programmieren mit JavaKara. Schülerinnen und Schüler lernen, logische Bedingungen zu negieren, sprachliche Anweisungen in Java-Code zu übersetzen, Syntaxfehler in Programmen zu korrigieren und eigenständige Programmieraufgaben zu lösen.
JavaKara: Schriftliche Übung 1 (Lösungen)
Dieses Dokument enthält schriftliche Übungsaufgaben und Lösungen für JavaKara, bei denen logische Bedingungen negiert, deutsche Handlungsanweisungen in Java-Code übersetzt, fehlerhafte Programme korrigiert und Programmieraufgaben gelöst werden.
Einführung in die Python-Programmierung
Das Unterrichtsmaterial bietet eine fundierte Einführung in die Programmierung mit Python für den gymnasialen Unterricht. Es behandelt grundlegende Programmierkonzepte wie Variablen, Schleifen und Funktionen anhand praktischer Programmieraufgaben.
Verzweigungen in JavaKara
Dieses Unterrichtsmaterial führt in das Konzept von Verzweigungen (if-else-Anweisungen und geschachtelte Bedingungen) anhand der Programmierumgebung JavaKara ein. Es enthält Programmieraufgaben, Erklärungen zur Syntax und Logik sowie Übungen zur Fehleranalyse.
Heiratsproblem - Programmieren mit Visual Basic in Microsoft Excel
Dieses Unterrichtsmaterial führt Schülerinnen und Schüler in die algorithmische Problemlösung und das Programmieren ein, indem sie das berühmte Heiratsproblem (Gale-Shapley-Algorithmus) in Excel mit Visual Basic implementieren. Dabei werden Funktionen, Initialisierung von Tabellen und logische Verzweigungen (If/Else, While) angewendet.
Exorciser - Algorithmen und Automaten (CYK und FSM)
Dieses Java-Paket enthält Programmierübungen und Werkzeuge zur Algorithmik, insbesondere zu Parsing-Algorithmen (CYK-Algorithmus) und Automaten. Lernende können hierbei bestehende Programme analysieren, Fehler beheben und algorithmische Problemlösungen anwenden.
Git Merge-Konflikte lösen
Dieses Unterrichtsmaterial erklärt anhand von praktischen Beispielen, wie Merge-Konflikte in Git erkannt, manuell bereinigt und behoben werden können. Es enthält zudem eine konkrete Übung zur Anwendung im Unterricht.
Kommandozeilen-Tools zur Textverarbeitung: grep, sed und awk
Das Material führt in die praktischen Kommandozeilen-Werkzeuge grep, sed und awk unter Linux ein. Anhand von Beispielen und integrierten Übungsaufgaben lernen Schülerinnen und Schüler, Datenströme zu filtern, zu modifizieren und für Analysen (wie die Auswertung von Logdateien) zu kombinieren.
Tasten und Verzweigungen in Python
Dieses Unterrichtsmaterial führt in die Verwendung von Tastenabfragen, Bedingungen, Fallunterscheidungen (if/elif/else) und Endlosschleifen (while) in Python anhand von Mikrocontroller-Programmierung ein. Die Lernenden setzen das Gelernte in praktischen Aufgaben direkt um.
Zwischentest zur Programmverifikation und Fehlerkorrektur in Python
Ein praktischer Programmiertest, bei dem die Lernenden ein fehlerhaftes Python-Programm manuell analysieren, die Ausgabe vorhersagen und anschliessend im Editor Thonny korrigieren. Das Material fördert gezielt das strukturierte Lesen und Testen von Quellcode.
Fortgeschrittener Schrittzähler mit dem micro:bit
Dieses Unterrichtsmaterial zeigt Lernenden, wie sie den Beschleunigungssensor des micro:bit in Python programmieren können, um einen funktionierenden Schrittzähler zu entwickeln. Dabei werden reale Sensordaten ausgelesen, analysiert und algorithmisch verarbeitet, um Bewegungen präzise zu erkennen.
Zusatzaufgaben zur Roboterprogrammierung
Dieses Unterrichtsmaterial enthält praktische Programmieraufgaben für Roboter. Die Schülerinnen und Schüler lernen, einfache Bewegungsabläufe, Zustände und sensorbasiertes Verhalten (wie Kantenerkennung) umzusetzen und zu testen.
Aufgaben Passwortabfrage
Dieses Unterrichtsmaterial enthält Programmieraufgaben in Python zur Erstellung einer einfachen Passwortabfrage. Die Lernenden üben den Umgang mit Variablen, Verzweigungen, Schleifen und Kontrollstrukturen wie break.
Repetition Flussdiagramme und Programmcode
Dieses Unterrichtsmaterial enthält Übungen zur Analyse, Korrektur und Erstellung von Flussdiagrammen sowie zum Finden und Beheben von Fehlern (Syntax- und Logikfehler) in Programmcode.
Code-Verschleierung mit Obfuscators
Das Material erklärt das Konzept der Code-Verschleierung (Obfuscation) anhand von Techniken und stellt das Python-Tool Intensio-Obfuscator vor. In praktischen Aufgaben installieren die Lernenden das Tool, wenden es auf eigenen Code an und versuchen, verschleierte Programme zu rekonstruieren.
Deobfuscation: Programm-Analyse und Code-Bereinigung
Dieses Unterrichtsmaterial lässt Lernende ein verschleiertes Python-Programm analysieren, ausführen und durch Refactoring in einen gut lesbaren und verständlichen Zustand versetzen. Dabei wird der Umgang mit bestehendem Code und die Code-Struktur trainiert.
Code-Verschlüsselung und Malware
Dieses Unterrichtsmaterial behandelt die Verschlüsselung und Codierung von Programmcode am Beispiel von Python. Die Lernenden analysieren versteckte beziehungsweise codierte Skripte, verbergen eigenen Code und setzen sich mit Techniken auseinander, die auch von Malware zur Verschleierung genutzt werden.
Programmcode analysieren und verstehen
Ein kurzes Unterrichtsmaterial, bei dem Python-Quellcode analysiert, die Funktionalität vorhergesagt und durch Ausführen sowie gezielte Fragen überprüft wird.
Zusatzaufgaben zur Roboterprogrammierung
Dieses Unterrichtsmaterial enthält praktische Programmieraufgaben für Roboter. Die Lernenden schreiben Programme für Fahrverhalten, Timer-Steuerung und Sensorik.
Thymio Programmieren mit Aseba: Aufgabensammlung
Eine praxisnahe Aufgabensammlung zum Programmieren von Thymio-Robotern in Aseba. Die Aufgaben beinhalten Lichteffekte, Stimmungslichter, Fernsteuerungen sowie komplexere Roboterverhalten wie Hindernisausweichen und Linienverfolgung.
Basale Python-Kompetenzen und häufige Fehler
Das Unterrichtsmaterial fasst die zehn häufigsten Fehler bei der Programmierung in Python zusammen, darunter Probleme mit der Gross- und Kleinschreibung, Verwechslungen von Zuweisung und Vergleich sowie Off-by-One-Fehler beim Zählen ab Null. Es dient als praktische Hilfestellung für Einsteiger zur Fehlervermeidung und zum Debugging.
MINT-Woche Kryptoanalyse
In dieser einwöchigen Projektarbeit beschäftigen sich Schülerinnen und Schüler in Gruppen mit Kryptoanalyse, beleuchten historische Aspekte und schreiben Computerprogramme zum Knacken verschiedener Verschlüsselungsverfahren. Die Ergebnisse werden abschliessend präsentiert.
Wörterbuchangriffe und Kryptanalyse
Die Schülerinnen und Schüler erarbeiten sich das Konzept von Wörterbuchangriffen, entwickeln ein eigenes Programm in Python zur automatisierten Entschlüsselung von Caesar-Chiffren und Passwort-Hashes und präsentieren ihre Ergebnisse.
Angriff auf den Zufallszahlengenerator RANDU und AES
Dieses Unterrichtsmaterial führt Schülerinnen und Schüler in die Kryptanalyse ein, indem sie Schwachstellen historischer Zufallszahlengeneratoren wie RANDU analysieren. Mithilfe der Programmiersprache Python und Verschlüsselungsbibliotheken müssen verschlüsselte AES-Nachrichten geknackt und die Ergebnisse präsentiert werden.
Projekt zur Bildtransformation und Gesichtsüberblendung
Ein Programmierprojekt, bei dem affine Transformationen mathematisch erarbeitet und in einem Programm zur Überblendung von Gesichtern und Bearbeitung graphischer Oberflächen angewendet werden. Die Lernenden arbeiten an Schnittstellen und führen ihre Codes zusammen.
Exceptions in Python
Das Unterrichtsmaterial erklärt anhand von Beispielen, wie in Python Ausnahmezustände (Exceptions) mit den Schlüsselwörtern raise, try und except geworfen und behandelt werden. Es enthält konkrete Programmieraufgaben zur Fehlerbehandlung.
Die Teufelchen im Detail
Dieses Unterrichtsmaterial befasst sich mit der systematischen Fehlersuche und typischen Fehlerquellen in kleinen Programmen. Anhand eines Beispiels, das auf den ersten Blick korrekt erscheint, werden Schülerinnen und Schüler für Softwarefehler und die Notwendigkeit von Tests und Analysen sensibilisiert.
Prüfungsbesprechung Python: Codeblöcke und Funktionsvariablen
Das Material bespricht zwei typische Fehlerquellen aus einer Python-Prüfung: die Syntax von verschachtelten Codeblöcken mittels Einrückung und Doppelpunkt sowie den korrekten Gültigkeitsbereich (Scope) von Variablen innerhalb von Funktionen.
TuringKara: zweidimensionale Turing-Maschinen
Dieses Material bietet eine Einführung in zweidimensionale Turing-Maschinen mithilfe der Lernumgebung TuringKara. Es stehen verschiedene Programmieraufgaben samt Musterlösungen und eine Bedienungsanleitung für einen reibungslosen Einstieg zur Verfügung.
First Steps: Computer Science
Eine Einführung in browserbasierte interaktive Informatik-Lernwerkzeuge, die automatisierte Programmieraufgaben in Python, SQL-Abfragen, Turtle-Grafiken und HTML-Vorschauen umfassen.
Verzweigungs-Expertin
Dieses Dokument enthält ein Arbeitsblatt mit Programmieraufgaben in Python zur Vertiefung von Verzweigungen (if-else-Anweisungen). Lernende analysieren Code-Snippets, bestimmen Ausgaben und korrigieren Fehler in Algorithmen.
Fehlerkorrektur und der XO-Trick
Dieses Unterrichtsmaterial bietet ein Arbeitsblatt in Partnerarbeit sowie XO-Karten, um sich mit Fehlern und ihrer Korrektur in Abläufen oder Programmen auseinanderzusetzen. Es enthält zudem Verweise auf eine externe Lehrerfortbildung für didaktische Hintergründe.
Python-Code dekompilieren
Dieses Unterrichtsmaterial zeigt, wie kompilierter Python-Byte-Code mit Tools wie pycdc dekompiliert werden kann. Anhand konkreter Installations- und Anwendungsaufgaben lernen Schülerinnen und Schüler, wie man Quellcode aus kompilierten Dateien wiederherstellt und analysiert.
Reverse Engineering und Crackme-Aufgaben mit Ghidra
Das Material enthält praktische Aufgaben zum Thema Reverse Engineering. Die Lernenden analysieren kompilierte Programme und Spiele mithilfe des Decompilers Ghidra, um Passwörter oder Lizenzschlüssel zu finden.
Prüfungsübersicht und Lernziele Programmierung
Das Dokument beschreibt den Ablauf einer Informatikprüfung sowie die dazugehörigen Lernziele zu Algorithmen, Turtlegrafik und grundlegenden Python-Konzepten. Es dient den Schülerinnen und Schülern zur Vorbereitung auf einen schriftlichen und einen praktischen Prüfungsteil.
Auto-Graded Exercises in Python
Eine technische Dokumentation darüber, wie interaktive Python-Programmieraufgaben mit automatisierten Tests und Assertions erstellt werden können. Das Material richtet sich an Lehrpersonen, die Programmieraufgaben aufsetzen möchten, und enthält Anleitungen zur Syntax sowie Best Practices für Unit-Tests.