1.3.1

Die Maturandinnen und Maturanden können einen gut lesbaren, strukturierten und modularisierten Programmiercode schreiben und dokumentieren.

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.

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.

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.

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.

Daten zusammenfassen mit Aggregatfunktionen in SQL

Dieses Unterrichtsmaterial führt in die Verwendung von SQL-Aggregatfunktionen wie COUNT, AVG, SUM, MIN und MAX ein. Anhand von Beispielen wird ausserdem die Gruppierung mit GROUP BY sowie das Filtern von Gruppen mit HAVING erklärt, ergänzt durch praktische Programmieraufgaben.

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.

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.

IP-Adressen, Subnetmasken und Routing

Dieses Unterrichtsmaterial vermittelt die Grundlagen von Subnetmasken, Netzwerk- und Broadcast-Adressen sowie die Funktionsweise von Routern und Gateways. Es enthält sowohl theoretische Erklärungen und Übungsaufgaben als auch praktische Programmierübungen in Python zur Berechnung von Netzwerkadressen.

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.

Erstellung von Programmier-Erklärvideos

Die Schülerinnen und Schüler erstellen ein altersgerechtes Erklärvideo zu mindestens zwei Kernkonzepten des Programmierens mithilfe von Scratch oder Python. Dabei reflektieren sie didaktische Entscheidungen und nutzen Werkzeuge zur Videoaufnahme und zum Schnitt wie OBS Studio oder DaVinci Resolve.

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 das Programmieren mit Java

Der Text führt grundlegende Konzepte der Programmierung ein, indem er den Computer mit einem trainierbaren Haustier vergleicht und die Notwendigkeit formalisierter Sprachen erläutert. Anhand der Programmiersprache Java wird gezeigt, wie Befehle strukturiert und durch Methoden und Klassen erweitert werden können.

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.

Datenstrukturen und Arrays in Java

Dieses Unterrichtsmaterial führt in das Konzept von Datenstrukturen in Java ein, wobei der Schwerpunkt auf klassischen Arrays und dem Java Collection Framework liegt. Es erklärt anhand von Codebeispielen und Erklärungen die Deklaration, Initialisierung und Manipulation von Datenstrukturen wie ArrayLists.

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.

Programmieren: Anfängerfehler

Das Material bietet eine übersichtliche Sammlung typischer Syntax- und Logikfehler beim Programmieren in Java mit Greenfoot. Anhand von Code-Beispielen werden Lernende angeregt, häufige Fallstricke selbst zu erkennen und zu vermeiden.

Konzept Klasse vs. Instanz

Der Text erklärt die grundlegenden Konzepte der objektorientierten Programmierung, indem er den Unterschied zwischen Klassen als Code-Definitionen und Instanzen als konkreten Ausführungen erläutert. Dabei werden auch Begriffe wie Compilieren, Attribute und Methoden kurz eingeführt.

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.

Einführung in Python mit der Turtle-Bibliothek

Das Unterrichtsmaterial führt in die Erweiterung von Python-Programmen durch Module und Bibliotheken ein. Anhand der Turtle-Bibliothek lernen die Schülerinnen und Schüler, einfache visuelle Programme zu schreiben und Anweisungen Schritt für Schritt auszuführen.

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.

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.

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.

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.

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.

Einführung in Methoden und Übergabewerte am Beispiel Seehund

Das Material erklärt das Konzept von Programmiermethoden und Übergabewerten mithilfe einer anschaulichen Analogie eines Seehunds, der Tricks vorführt. Es verdeutlicht, wie Befehlssequenzen zusammengefasst und durch Parameter ergänzt werden können.

Konzept Modularisierung

Der Text erklärt das grundlegende Informatikkonzept der Modularisierung anhand von Definitionen und einer anschaulichen Analogie mit Legosteinen. Dabei wird auf die Unabhängigkeit von Bausteinen und wohldefinierte Schnittstellen eingegangen.

Konzept Vererbung

Der Text erklärt das Konzept der Vererbung in der objektorientierten Programmierung (OOP) anhand einer biologischen Taxonomie als Analogie. Es wird beschrieben, wie Klassen Eigenschaften und Methoden von Oberklassen übernehmen, um Code effizient zu strukturieren.

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.

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.

Übergang zu textbasierten Programmiersprachen

Der Artikel beleuchtet die Herausforderungen und methodischen Ansätze beim Wechsel von visueller Programmierung zu textbasierten Sprachen wie Python. Dabei werden Syntaxhürden, der Einsatz von Tools wie dem Turtle-Modul sowie webbasierte und lokale Entwicklungsumgebungen diskutiert.

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).

Konzept For-Schleife

Das Material erklärt kurz und theoriebezogen das grundlegende Konzept einer For-Schleife als Kontrollstruktur in der Programmierung. Es beschreibt die Funktionsweise mit Laufvariable und Durchlaufsbedingungen.

Konzept Parameter

Der Text erklärt das informatorische Konzept von Parametern als Übergabewerte und externe Einflussfaktoren zur Flexibilisierung von Programmen und Unterprogrammen. Zudem wird die Bedeutung von Parametern im Kontext von Simulationen kurz beleuchtet.

Informatik-Lehrmittelsammlung eduskript.org und Polynom-Nullstellen mit Python

Das Material zeigt eine umfangreiche Übersicht über Informatik-Themen einer Lernplattform sowie ein kurzes Anwendungsbeispiel zur Bestimmung von Nullstellen höheren Grades mittels Polynomdivision und Python-Visualisierung.