1.3.3
Die Maturandinnen und Maturanden können bestehende Programme sinnvoll abändern und erweitern.
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.
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.
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.
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.
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.
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).