1.3.3

Die Maturandinnen und Maturanden können bestehende Programme sinnvoll abändern und erweitern.

1.3 Programmieren · 1. Algorithmen und Programme

Greenfoot: Einführung und Kara-Szenario

Eine detaillierte schritt-für-schritt Anleitung zur Einführung in die objektorientierte Programmierung mit Greenfoot und Java am Beispiel des Marienkäfers Kara. Die Lernenden machen sich mit der Benutzeroberfläche vertraut, rufen Methoden auf und modifizieren bestehenden Java-Quellcode.

Methoden, Übergabewerte und Rückgabewerte in Java mit Greenfoot

Dieses umfassende Unterrichtsmaterial führt in die objektorientierte Programmierung mit Java und der Lernumgebung Greenfoot ein. Die Lernenden lernen, wie man Code in Methoden organisiert, Parameter und Übergabewerte nutzt, Rückgabewerte verarbeitet und existierende APIs anwenden kann.

PPG-Signal aufnehmen und visualisieren

Die Schülerinnen und Schüler nehmen mithilfe eines Smartphones und einer Python-Skriptdatei ein photoplethysmografisches (PPG) Signal auf, extrahieren die Farbwerte aus dem Video und visualisieren diese in Excel, um die Herzfrequenz zu bestimmen.

Python Turtle: Schleifen und Listen

Dieses Unterrichtsmaterial führt in Python anhand der Turtle-Grafik in die Nutzung von for-Schleifen, Listen und der len()-Funktion ein. Die Lernenden schreiben eigene Programme, zeichnen geometrische Formen und Muster und lernen die Steuerung der range()-Funktion kennen.

Entscheidungsketten: if ... elif ... else in Python

Dieses Unterrichtsmaterial erklärt anhand von praktischen Beispielen und Code-Snippets die Funktionsweise von if-elif-else-Ketten in Python. Lernende erfahren den Unterschied zu unabhängigen if-Bedingungen, lösen einen Bug-Hunt und optimieren eine Modulo-Aufgabe.

Zufall und Wahrscheinlichkeiten in Python simulieren

Dieses Unterrichtsmaterial führt anhand praktischer Programmieraufgaben in Python an die Simulation von Zufallsexperimenten heran. Die Lernenden nutzen die random-Bibliothek, um Würfelspiele, Wahrscheinlichkeiten und das Gesetz der grossen Zahlen zu untersuchen.

Dijkstra-Algorithmus und Python-Dictionaries

In dieser freiwilligen Programmier-Challenge implementieren Schülerinnen und Schüler den Dijkstra-Algorithmus in Python. Dabei lernen sie den praktischen Umgang mit Python-Dictionaries als Datenstruktur für Graphen und vertiefen ihr Verständnis von Routing-Problemen.

Erdbeben weltweit — eine Live-Karte aus echten Daten

In diesem Material erstellen Schülerinnen und Schüler schrittweise eine interaktive Weltkarte von aktuellen Erdbeben mithilfe von Echtdaten einer USGS-API und Python. Dabei werden Daten gefiltert, GeoJSON-Strukturen analysiert und geographische Daten sowie Plattengrenzen mit matplotlib visualisiert.

Turtle Invaders: Spiel-Programmierung in Python

Dieses Unterrichtsmaterial führt Schritt für Schritt in die Entwicklung eines Arcade-Spiels im Stil von Space Invaders mit Python und dem Turtle-Modul ein. Dabei werden grundlegende Programmierkonzepte wie Ereignissteuerung, Animationen, das global-Keyword sowie die Unterscheidung zwischen immutablen primitiven Datentypen und mutablen Listen behandelt.

Tabellen verknüpfen mit JOIN

Dieses Unterrichtsmaterial erklärt anhand von praxisnahen Beispielen und einer Spotify-Datenbank, wie relationale Datenbanktabellen mithilfe von SQL-Befehlen wie INNER JOIN und LEFT JOIN verknüpft werden. Es enthält detaillierte Erklärungen, Code-Beispiele sowie zahlreiche Übungsaufgaben zur Vertiefung.

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.

Code Refactoring und Funktionen in Python mit Maqueen-Robotern

Dieses Unterrichtsmaterial zeigt anhand eines Roboter-Projekts mit dem Maqueen, wie Python-Code durch den Einsatz von Funktionen, Parametern, Standardwerten und Code-Refactoring übersichtlicher und modularer gestaltet werden kann. Die Lernenden erweitern einen Linienfolger um eine Suchfunktion, lernen das return-Statement kennen und lagern Logik in separate Dateien aus.

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.

Caesar-Verschlüsselung mit Python

Dieses praxisorientierte Unterrichtsmaterial führt Schritt für Schritt in die Programmierung einer Caesar-Verschlüsselung mit Python ein. Dabei werden grundlegende Konzepte wie ASCII-Kodierung, Schleifen, Funktionen, Zeichenketten als Listen sowie der Modulo-Operator vermittelt und direkt an Codebeispielen angewendet.

Vigenère-Verschlüsselung in Python

Dieses praxisorientierte Programmier-Tutorial zeigt Schritt für Schritt, wie die Vigenère-Verschlüsselung und -Entschlüsselung in Python implementiert wird. Dabei werden grundlegende Programmierkonzepte wie String-Indizierung, der Modulo-Operator und ASCII-Konvertierungen angewendet.

Objektorientierte Programmierung mit Java und Greenfoot

Das Unterrichtsmaterial erklärt anhand der Programmiersprache Java und der Lernumgebung Greenfoot zentrale Konzepte der objektorientierten Programmierung. Es behandelt Klassen und Instanzen, Konstruktoren, Interaktionen zwischen Objekten, Sichtbarkeitsmodifikatoren sowie Vererbung und Typumwandlung (Casting).

PPG-Signalanalyse mit USB-Mikroskop und Python

In dieser Unterrichtseinheit wird ein alternatives Messsetup mit einem USB-Mikroskop zur Erfassung und Analyse von PPG-Signalen aufgebaut. Die Schülerinnen und Schüler verarbeiten den Live-Videostream in Python, filtern das Rohsignal und untersuchen verschiedene Körperstellen auf ihre Signalqualität.

Herzfrequenz-Analyse mit der Fourier-Transformation in Python

Dieses Unterrichtsmaterial zeigt, wie man mithilfe von Python und der Fast Fourier Transformation (FFT) ein PPG-Signal aus Video- oder Sensordaten analysiert, um die Herzfrequenz automatisch zu bestimmen. Die Schülerinnen und Schüler lernen das Konzept der Signalverarbeitung im Frequenzbereich kennen und vergleichen die automatischen Ergebnisse mit manuellen Zählungen.

Einführung in Schleifen mit Python Turtle

Dieses Unterrichtsmaterial führt anhand der Python-Bibliothek Turtle in das Konzept der Wiederholungen (for- und while-Schleifen) ein. Die Schülerinnen und Schüler lernen, Codeblöcke zu strukturieren und zeichnen geometrische Figuren wie Quadrate, Dreiecke und Sterne mit Hilfe von for-Schleifen.

Entscheidungen treffen: if ... else

Dieses Lehrmaterial führt in die Grundlagen von Entscheidungsstrukturen (if, else), boolescher Logik (and, or, not) sowie den Modulo-Operator in Python ein. Es enthält zahlreiche Code-Beispiele und praktische Programmieraufgaben inklusive Musterlösungen.

Das Geburtstagsparadoxon

Das Material behandelt das klassische Geburtstagsparadoxon und verknüpft mathematische Wahrscheinlichkeitsrechnung mit praktischen Programmieraufgaben in Python. Die Lernenden implementieren die Lösung sowohl iterativ mittels Schleifen als auch rekursiv.

Python Übungsaufgaben: Verzweigungen, Schleifen und Funktionen

Eine Sammlung von praktischen Programmieraufgaben in Python, die Verzweigungen, Schleifen und Funktionen behandeln. Jede Aufgabe enthält eine konkrete Aufgabenstellung sowie eine kommentierte Musterlösung.

Das Monty-Hall-Problem und Simulation in Python

Dieses Unterrichtsmaterial führt anhand des berühmten Monty-Hall-Paradoxons in die Wahrscheinlichkeitsrechnung ein und lässt die Lernenden das Problem mithilfe einer Programmiersimulation in Python empirisch lösen.

Einführung in JavaScript und das DOM

Dieses Unterrichtsmaterial führt in die Programmiersprache JavaScript und die Manipulation des Document Object Models (DOM) ein. Es zeigt, wie HTML-Elemente angesprochen, Inhalte und Stile verändert sowie Events verarbeitet werden.

JavaScript Grundlagen und interaktives Zahlenratespiel

Dieses Lehrmaterial führt in grundlegende Programmierkonzepte von JavaScript wie Variablen, Fallunterscheidungen, Ein- und Ausgabe sowie Zufallszahlen ein. Anhand eines interaktiven Zahlenratespiels mit einem Piratenkapitän können die Lernenden das Gelernte praktisch anwenden und erweitern.

Interaktive Web-Formulare und kleine Alltagswerkzeuge in JavaScript

Dieses Unterrichtsmaterial zeigt, wie man Werte aus verschiedenen HTML-Eingabefeldern ausliest, Eingaben validiert und Berechnungen dynamisch auf Webseiten anzeigt. Anhand praktischer Übungen wie einem BMI-Rechner oder Trinkgeld-Rechner wird die praktische Anwendung von JavaScript in Formularen vermittelt.

Web-Projekte mit HTML, CSS und JavaScript

Dieses Unterrichtsmaterial lässt Lernende zwischen drei Mini-Projekten (Memory-Spiel, Quiz-App, Pomodoro-Timer) oder einer eigenen Idee wählen, um HTML, CSS und JavaScript zu einer funktionsfähigen Webanwendung zusammenzuführen. Dabei wird gelernt, Probleme in Teilaufgaben zu zerlegen, Code zu strukturieren und interaktive Elemente mit JavaScript zu programmieren.

Programmierung des Maqueen-Roboters mit Microbit und Python

Dieses Unterrichtsmaterial führt in die Steuerung des Maqueen-Roboters mittels Python auf dem Microbit ein. Die Lernenden lernen die Hardware- und Software-Schnittstellen kennen und lösen praktische Programmieraufgaben wie Hindernisausweichen und Linienerkennung.

Linientracker programmieren mit Python und Micro:bit

Dieses Unterrichtsmaterial führt in die Verwendung von logischen Operatoren wie 'and' und 'or' in Python ein und zeigt anhand eines praktischen Beispiels, wie ein Maqueen-Roboter als Linientracker programmiert wird. Dabei werden auch Variablen zur Geschwindigkeitsregulierung und dynamische Anpassungen über Tasten behandelt.

Event-Loops und Design-Muster mit dem Micro:bit

Dieses Unterrichtsmaterial führt in Design-Muster wie Event-Loops und das Return-Statement ein. Anhand von praktischen Programmieraufgaben für den Micro:bit lernen Schülerinnen und Schüler, auf Benutzereingaben zu reagieren und Funktionen strukturiert zu erweitern.

Einführung in Variablen und Datentypen mit Greenfoot und Java

Dieses Unterrichtsmaterial führt anhand von praktischen Programmierbeispielen in Java und der Entwicklungsumgebung Greenfoot in das Konzept von Variablen, Datentypen und deren Geltungsbereich ein. Die Lernenden erfahren spielerisch und durch konkrete Programmieraufgaben, wie Werte zugewiesen, ausgegeben und verarbeitet werden.

Verzweigungen in Java mit Greenfoot

Dieses Unterrichtsmaterial führt in die Grundlagen von Verzweigungen (if-else) und deren logische Verknüpfungen (UND, ODER) in Java anhand der Programmierumgebung Greenfoot und dem Kara-Szenario ein. Es enthält Erklärungen, Code-Beispiele, Verständnisfragen sowie Aufgaben zum Lesen und Schreiben von Programmiercode.

Greenfoot-Roadkill

In diesem Programmierprojekt vervollständigen die Lernenden ein einfaches Frosch-Spiel in Greenfoot, indem sie bestehenden Java-Code analysieren, anpassen und erweitern.

Schleifen in Java und Greenfoot

Das Material führt in das Konzept von Schleifen (for- und while-Schleifen) in Java ein. Anhand von Beispielen zur Konsolenausgabe und der Programmierung einer Turtle in Greenfoot wird gezeigt, wie sich wiederholende Abläufe effizient steuern lassen.

Projektentwicklung und iterative Planung

Das Material führt in die systematische Projektentwicklung mit einem Fokus auf agile beziehungsweise iterative Planung im Vergleich zum Wasserfallmodell ein. Anhand eines konkreten Programmierprojekts in Greenfoot (Java) wenden die Lernenden die Methoden praktisch an und dokumentieren dies in einer Projektskizze.

Beispielsimulationen in der Informatik

Diese Materialsammlung stellt verschiedene Simulationen zu naturwissenschaftlichen und gesellschaftlichen Phänomenen wie Diffusion, Verkehrsstaus, Segregation und Schwarmbildung vor. Anhand konkreter Aufgabenstellungen und Simulationen (u.a. in Greenfoot und NetLogo) werden die wissenschaftliche Methodik und die Phasen der Modellierung, Simulation und Validierung erarbeitet.

Potenzen, Wurzeln und Potenzgesetze

Das Material erklärt Potenzen und Wurzeln als zusammenhängende Konzepte, hergeleitet über die Grundbedeutung der Multiplikation und Potenzgesetze. Es enthält mathematische Herleitungen, ein Musterbeispiel zur Vereinfachung, Erklärungen zum rational machen des Nenners sowie ein Python-Skript zur Visualisierung von Potenzfunktionen.

Einführung in Python: Variablen, Funktionen und das EVA-Prinzip

Dieses Unterrichtsmaterial führt in die Grundlagen der Programmiersprache Python ein. Anhand praktischer Codebeispiele lernen die Schülerinnen und Schüler grundlegende Konzepte wie Variablen, Funktionen und das EVA-Prinzip kennen und verstehen den Unterschied zum Maschinencode.

Verschachtelte for-Schleifen und Turtle-Grafik

Dieses Unterrichtsmaterial führt anhand praktischer Programmieraufgaben in Python und mit Hilfe einer Turtle-Grafik in das Verschachteln von for-Schleifen ein. Die Lernenden lösen geometrische Probleme, indem sie Figuren wie Quadrate, Treppen und Spiralen schrittweise entwerfen und den Code dokumentieren.

Funktionen in Python mit Turtle-Grafik

Dieses Unterrichtsmaterial erklärt die Definition und Anwendung von Funktionen in Python anhand von praktischen Beispielen mit einer Turtle. Die Lernenden erfahren, wie Funktionen mit und ohne Parameter erstellt, verschachtelt und für geometrische Zeichnungen eingesetzt werden.

Prüfungsvorbereitung Python: for-Schleifen und Turtle-Grafik

Dieses Dokument bietet eine umfassende Prüfungsvorbereitung für das Programmieren mit Python, mit einem starken Fokus auf verschachtelte for-Schleifen und Turtle-Grafiken. Es enthält Übungsaufgaben zum Verstehen von Programmcode sowie zum eigenständigen Erstellen von Zeichnungen mit Musterlösungen.

Funktionen plotten und Kreise zeichnen mit Turtle Python

Dieses Unterrichtsmaterial enthält Programmierübungen in Python unter Verwendung der Turtle-Grafik. Die Lernenden zeichnen ein Koordinatensystem, plotten eine lineare Funktion und erstellen ein Raster aus Kreisen.

Programmieren 1: Einführung mit Python und Schildkrötengrafik

Das Unterrichtsmaterial führt spielerisch und motivierend in die Programmierung mit Python ein. Anhand von Beispielen wie Primzahlenberechnungen wird die immense Rechenleistung von Computern demonstriert und die Notwendigkeit von Algorithmen sowie deren Optimierung angeschnitten.

Funktionen in Python

Dieses Unterrichtsmaterial führt in die Definition und Verwendung von Funktionen in Python ein. Es behandelt Parameter, Rückgabewerte mit return, den Unterschied zu print sowie das Importieren von Funktionen aus anderen Dateien und enthält praktische Programmieraufgaben.

Ein Ratespiel entwickeln mit while

Dieses Unterrichtsmaterial zeigt Schritt für Schritt, wie man ein klassisches Zahlen-Ratespiel in Python programmiert. Es behandelt Grundlagen wie Zufallszahlen, Benutzereingaben, Verzweigungen und eine Schleife zur Spielsteuerung.

Einführung in IPv4-Adressen und Netzwerke

Dieses Unterrichtsmaterial erklärt die Grundlagen von IP-Adressen (IPv4 und IPv6), die Unterscheidung zwischen Netzwerkteil und Hostteil sowie das Problem der Adressknappheit. Anschliessend wird das gelernte Wissen in kleineren Programmierübungen mit Python angewendet.

Turtle Invaders: Spielentwicklung mit Python und Turtle

Dieses Unterrichtsmaterial führt anhand eines Programmierprojekts zur Entwicklung des Spiels 'Turtle Invaders' in Python ein. Es behandelt praktische Konzepte wie Zeitintervalle, Zufallszahlen und die Verwaltung von Objekten in Listen.

Programmierung eines Space-Invaders-Spiels in Python

Dieses Unterrichtsmaterial zeigt anhand der Entwicklung eines einfachen Arcade-Spiels mit Python und dem Turtle-Modul, wie man Logik, Animationen und Listen implementiert. Es wird vertieft, wie man Objekte mit einer Garbage-Collection-Logik aus Listen entfernt, um Ressourcen zu schonen.

Animierte GIFs in Python Turtle

Dieses Unterrichtsmaterial zeigt praktisch, wie man im Python-Modul Turtle animierte GIFs nachbilden kann, indem man einzelne Frames als Shapes registriert und zyklisch wechselt. Es enthält einen konkreten Python-Codeausschnitt mit Modulen wie os und itertools.

Roboter steuern mit MakeCode und Maqueen

Dieses Unterrichtsmaterial führt spielerisch und praxisnah in die Programmierung von Maqueen-Robotern mithilfe der visuellen MakeCode-Entwicklungsumgebung ein. Die Lernenden nutzen Sensoren wie Helligkeits- und Distanzmesser, um einfache Programme wie einen Linienfolger oder einen simulierten Staubsauger-Roboter zu erstellen.

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.

Kontrollfluss und Programmlogik mit Micro:bit und Makecode

Das Unterrichtsmaterial diskutiert anhand konkreter Probleme bei der Roboterprogrammierung (Linientracker, Fernsteuerung, Stopp-Befehl), warum vordefinierte Ereignisblöcke oft unzureichend sind. Es zeigt auf, wie durch den gezielten Einsatz von Schleifen, Bedingungen und eigenen Variablen die Kontrolle über den Programmablauf zurückgewonnen werden kann.

Einführung in Scratch und Vergleich zu Python

Das Material führt spielerisch in die visuelle Programmiersprache Scratch ein, indem die Lernenden ein eigenes Pong-Spiel erstellen und erweitern. Anschliessend wird der Kontrollfluss von Scratch mit textbasierten Konzepten in Python verglichen.

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.

Maqueen-Roboter Programmieraufgaben

Das Material enthält praxisorientierte Programmieraufgaben für den Maqueen-Roboter in Kombination mit Micro:bit. Die Schülerinnen und Schüler lösen verschiedene Aufgaben wie Hinderniserkennung, Linienverfolgung und den Bau einer Fernsteuerung.

Exponentielles Wachstum in Tabellenkalkulationen

Dieses Unterrichtsmaterial führt anhand eines Wolfspopulations-Beispiels in die Modellierung von exponentiellem Wachstum ein. Die Lernenden setzen das Modell praktisch in einer Tabellenkalkulation um, arbeiten mit Formeln und absoluten Zellbezügen und analysieren die Diagramme.

Microbit Programmierung: Radio, Sensoren und Event-Loops

Dieses Unterrichtsmaterial führt Schülerinnen und Schüler praktisch in die Programmierung von Microbit-Mikrocontrollern ein. Es behandelt die Kommunikation über das Radiomodul, die Nutzung von integrierten Sensoren sowie das Konzept von Event-Loops und Funktionen.

Funktionsweise und Programmierung von Infrarot-Sensoren beim Maqueen-Roboter

Dieses Material erklärt die Funktionsweise von Infrarot-Lichtsensoren am Beispiel des Roboters Maqueen und zeigt deren digitale Signalverarbeitung mithilfe des micro:bit. Es verbindet physikalische Grundlagen von Halbleitern und Fototransistoren mit praktischen Python-Codeausschnitten.

Code-Refactoring und Modularisierung für Roboter-Programme

Dieses Unterrichtsmaterial zeigt anhand eines Roboter-Beispiels, wie langer Programmcode durch den Einsatz von Funktionen und separaten Dateien übersichtlicher, lesbarer und modularer gestaltet werden kann. Die Lernenden erfahren, wie sie komplexe Logik auslagern und Programme besser strukturieren.

Erklärvideo-Projekt mit Maqueen-Roboter

Die Lernenden erstellen in Gruppen ein Erklärvideo zu einem selbst gewählten Problem, das mit einem Maqueen-Roboter und Sensoren gelöst wird. Dabei vertiefen sie ihr technisches Verständnis, programmieren den Roboter und dokumentieren den Lösungsansatz.

Microbit-Programmierung in Python: Das pochende Herz

Dieses Unterrichtsmaterial führt in die Programmierung des Microbits mit Python ein. Die Lernenden lernen den Online-Editor, Import-Statements und die Verwendung von while-Schleifen anhand einer konkreten Programmieraufgabe kennen.

Microbit LED-Steuerung und Schleifen

Dieses Unterrichtsmaterial führt anhand praktischer Programmieraufgaben für den BBC micro:bit in die Steuerung von LEDs mittels verschachtelter Schleifen und Funktionen ein. Lernende schreiben und analysieren Python-Code, um Muster auf dem 5x5-Display zu erzeugen.

RSA-Verschlüsselung in Python

Das Unterrichtsmaterial enthält ein einfaches Python-Skript zur Demonstration und Implementierung des RSA-Verschlüsselungsverfahrens. Es zeigt konkret, wie Schlüsselpaare generiert, Nachrichten verschlüsselt und wieder entschlüsselt werden.

Cookies mit PHP setzen

Dieses Lehrmaterial erklärt die Funktionsweise von HTTP-Cookies, deren Sicherheitsaspekte und wie man sie mithilfe von PHP auf einem Webserver setzt und ausliest.

Gamecontroller-Einbindung in Python für ein Arcade-Spiel

Diese Anleitung zeigt Schritt für Schritt, wie man das Python-Paket 'inputs' installiert und einen physischen Gamecontroller anbindet, um ein bestehendes Turtle-basiertes Spiel zu steuern. Dabei wird bestehender Code angepasst, um Eingaben wie Joysticks und Tasten auszulesen und im Hauptprogramm zu verarbeiten.

Schülerprojekte: Addierer in Minecraft und Little Man Computer

Eine Sammlung von Schülerprojekten aus dem Informatikunterricht, darunter ein in Minecraft gebauter Volladdierer und fortgeschrittene Programme für den Little Man Computer (wie die Berechnung einer Fakultät und ein einfacher Taschenrechner).