1.2.2 Einfache Algorithmen zur Lösung von Problemen entwerfen oder sich kreativ mittels Programmierung ausdrücken (z.B. interaktive Kunst)
Unterrichtsmaterial zum Lernziel: Die Maturandinnen und Maturanden können einfache Algorithmen zur Lösung von Problemen entwerfen oder sich kreativ mittels Programmierung ausdrücken (z.B. interaktive Kunst).
DynaTraffic: Einstiegs-, Fortgeschrittene und Weiterführende Aufgaben
Umfassendes Aufgabenblatt zur Simulation von Markov-Ketten und dynamischen Systemen mit dem Programm DynaTraffic. Die Schülerinnen und Schüler analysieren Übergangswahrscheinlichkeiten, stationäre sowie periodische Zustände und das Verhalten von Verkehrssystemen.
Simulationen: Game of Life
Dieses Unterrichtsmaterial führt Schülerinnen und Schüler anhand des berühmten 'Game of Life' von John Conway in das Konzept von Simulationen, Verhaltensregeln und Populationsentwicklungen ein. Die Lernenden experimentieren mit verschiedenen Startmustern im Webbrowser, dokumentieren ihre Beobachtungen und präsentieren ihre Erkenntnisse in der Gruppe.
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.
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.
Ein Kartentrick – was steckt dahinter? Unterrichtseinheit zur algorithmischen Problemlösung
Diese Unterrichtseinheit für das Gymnasium untersucht einen klassischen Kartentrick aus mathematischer und informatorischer Sicht. Die Lernenden erlernen den Trick, nutzen ein Java-basiertes Simulationsprogramm zum Experimentieren und analysieren die zugrundeliegenden Codierungs- und Problemlösungsprinzipien.
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.
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.
Das Monty-Hall-Problem
Das Material stellt das berühmte Ziegenproblem anschaulich vor, erklärt die mathematische Logik dahinter mit Tabellen und intuitiven Beispielen und fordert die Lernenden auf, die Strategie durch eine Computersimulation in Python zu überprüfen.
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.
Objektorientierte Programmierung (OOP) Grundprinzipien in Python
Dieses Unterrichtsmaterial führt anhand eines durchgehenden Geometrie-Projekts in Python in die vier Grundprinzipien der objektorientierten Programmierung ein: Abstraktion, Vererbung, Datenkapselung und Polymorphie. Es enthält Definitionen, Analogien, Programmieraufgaben und vollständige Code-Lösungen.
Funktionen in Python definieren und anwenden
Dieses Unterrichtsmaterial führt in die Erstellung und den Aufruf von Funktionen in Python ein. Anhand konkreter Beispiele wie dem Satz des Pythagoras und der Lösung quadratischer Gleichungen wird gelehrt, wie Argumente, Keyword-Argumente und Rückgabewerte sinnvoll eingesetzt werden.
Space Police (Advent of Code)
Eine Programmieraufgabe im Rahmen des Advent of Code, bei der ein Roboter gesteuert und simuliert werden muss, der mittels eines Intcode-Programms Rasterfelder auf einem Raumschiff einfärbt und sich darauf bewegt.
Advent of Code - Day 6: Lanternfish
Eine klassische Programmieraufgabe aus dem Advent of Code, bei der das exponentielle Bevölkerungswachstum von Laternenfischen simuliert werden muss. Die Aufgabe eignet sich hervorragend zur praktischen Problemlösung und dem effizienten Design von Algorithmen in der Informatik.
Sortieren durch Zerlegen / Quicksort
Das Unterrichtsmaterial führt den Quicksort-Algorithmus schrittweise ein, beginnend mit einem kooperativen Rollenspiel über die formale Beschreibung als informeller Algorithmus bis hin zur Implementierung und Analyse.
Umwandlung iterativer Algorithmen in rekursive Algorithmen
Dieses Unterrichtsmaterial behandelt detailliert die Umwandlung von iterativen Algorithmen in rekursive Algorithmen am Beispiel der Potenzfunktion. Es enthält Programmierbeispiele in Python, Analysen von Ablaufprotokollen sowie praktische Programmieraufgaben zur Simulation von Programmausführungen.
Operationen auf natürlichen Zahlen
Dieses Unterrichtsmaterial behandelt die Konstruktion arithmetischer Operationen auf natürlichen Zahlen allein basierend auf der Nachfolger-Operation und rekursiven Reduktionsregeln. Die Lernenden analysieren, erweitern und implementieren diese Funktionen in Python.
Übungen zur Rekursion und Programmentwicklung in Python
Eine Sammlung von Programmieraufgaben und Übungen, bei denen rekursive Algorithmen in Python analysiert, angewendet, schrittweise entwickelt und getestet werden. Die Lernenden nutzen problemreduzierende Ansätze und visualisierende Hilfsmittel wie Aufrufbäume, um rekursive Funktionen für Listenoperationen zu verstehen und zu programmieren.
Der Turm von Hanoi: Strategien und Implementierung
Dieses Unterrichtsmaterial führt Lernende durch die Analyse und algorithmische Lösung des Klassikers 'Turm von Hanoi'. Die Schülerinnen und Schüler erarbeiten rekursive und generalisierte Strategien für mehrere Scheiben und implementieren diese in Code.
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.
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.
Accumulators in Recursive Function Design (HtDP)
Dieses Lehrmaterial behandelt das Konzept von Akkumulatoren zur Optimierung und Ermöglichung rekursiver Funktionen. Es zeigt anhand von Beispielen wie Distanzberechnungen und Graphentraversierung, wie der Verlust von Kontextwissen vermieden und die Leistung gesteigert werden kann.
Arbitrarily Large Data and Lists in Programming
Dieses Lehrmaterial behandelt die Verarbeitung von Daten beliebiger Größe mithilfe von Listen und selbstbezüglichen Datenstrukturen. Anhand von Beispielen wird das Entwurfsrezept für rekursive Programme (Templates, Basisfälle, natürliche Rekursion) in einer funktionalen Programmiersprache eingeführt.
How to Design Programs: Arithmetic, Functions and Programs
Dieses Lehrmittel führt grundlegend in die Programmierung mit Racket (BSL) ein. Es behandelt elementare Datentypen, Ausdrücke, Funktionsdefinitionen und das Entwerfen von Programmen anhand praktischer Beispiele wie der Berechnung von Kino-Gewinnen.
Einführung in Python: Grundlagen, Datentypen und erste Programme
Dieses offizielle Python-Tutorial führt in die Grundlagen der Programmiersprache ein. Es behandelt die Nutzung als Taschenrechner, Operationen mit Zeichenketten (Strings), den Umgang mit Listen sowie erste Programmierschritte inklusive Schleifen.
Lesson 6: While-Schleifen und Kontrollstrukturen in Python
Dieses Unterrichtsmaterial erklärt anhand von Codebeispielen und Erklärungen die Verwendung von While-Schleifen, Schleifenkontrollstrukturen wie break und continue sowie Mehrfachzuweisungen in Python.
Prüfung Programming, Automation, Computation
Eine schriftliche Informatikprüfung für Gymnasien, die praxisnahe Aufgaben zu den Themenbereichen Programmierung (Visualisierung mit Google Code Playground), Automatentheorie (KARA und Mustererkennung) sowie Projektmanagement (Marshmallow Challenge) abdeckt.
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.
Schwierige Probleme in der Informatik: Graphentheorie mit GraphBench
Das Unterrichtsmaterial führt anhand des Plans für ein Stadtfest in Bern in komplexe graphentheoretische Probleme ein. Die Lernenden nutzen die Software GraphBench, um NP-schwere Probleme wie das Hamilton-Kreis-Problem oder Graphenfärbbarkeit zu untersuchen, zu experimentieren und ihre Erkenntnisse zu präsentieren.
JavaKara: Lösungen zu Rekursions-Aufgaben
Das Material enthält kommentierte Programmierlösungen in Java für JavaKara, die sich gezielt mit rekursiven Algorithmen und Problemstellungen wie Labyrinthen, Treppensteigen und dem Durchsuchen von Wegen befassen.
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.
Kara – Programmieren lernen mit der programmierbaren Marienkäfer-Welt
Dieses Materialpaket zum Lernprogramm 'Kara' führt spielerisch in die Grundlagen der Programmierung ein. Schülerinnen und Schüler lernen, den Marienkäfer durch das Ausführen von Befehlssequenzen und das Erstellen eigener Programme (z.B. in Java oder via grafischer Programmierung) über das Spielfeld zu steuern.
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.
Einstieg in SQL mit praktischen Abfragen
Dieses Lehrmaterial bietet eine Einführung in SQL anhand konkreter Praxisbeispiele und Übungen. Behandelt werden grundlegende Befehle wie SELECT, WHERE, ORDER BY, LIMIT, DISTINCT sowie logische Operatoren, Mustervergleiche und Textfunktionen.
Labyrinth und Tiefensuche
Dieses Unterrichtsmaterial führt spielerisch und handorientiert in das Konzept der Tiefensuche sowie des Backtrackings ein. Anhand von Labyrinthen, Rollenspielen und analogen Modellen wie der Lochblende erarbeiten sich die Lernenden algorithmische Problemlösungsstrategien.
Erdbeben weltweit — eine Live-Karte aus echten Daten
In diesem interaktiven Programmierprojekt erstellen Schülerinnen und Schüler eine weltweite Erdbebenkarte mit echtem Datenbezug. Dabei lernen sie, GeoJSON-Daten via API abzufragen, mit Python zu filtern und mithilfe von matplotlib zu visualisieren.
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.
Agent-Based Modelling mit NetLogo
Dieses umfassende und interaktive Unterrichtsmaterial führt in das Agent-Based Modelling (ABM) anhand von NetLogo-Simulationen ein. Die Lernenden untersuchen Räuber-Beute-Systeme (Wolf-Schaf-Gras) sowie evolutionäre Prozesse mit Vererbung und natürlicher Selektion anhand strukturierter Aufgaben.
Weltbank-Indikatoren Projekt: Daten mit SQL in Python
In diesem umfassenden Programmierprojekt verbinden die Lernenden eine SQLite-Weltbankdatenbank mit Python, führen komplexe SQL-Abfragen durch und entwickeln eine eigene interaktive Konsolenanwendung oder Präsentation. Das Material enthält anschaulichen Beispielcode, wertvolle Projektaufgaben sowie klare Bewertungskriterien inklusive Code-Review.
Interaktive Web-Tools mit JavaScript erstellen
Dieses Material zeigt anschaulich, wie Formulardaten mit JavaScript ausgelesen, validiert und dynamisch verarbeitet werden. Anhand praktischer Alltags-Anwendungen wie einem BMI- und Trinkgeldrrechner wird das Programmieren interaktiver Webseiten geübt.
Dijkstra-Algorithmus und Dictionaries in Python
Eine vertiefende Programmier-Challenge, bei der Schülerinnen und Schüler den Dijkstra-Algorithmus und die Verwendung von Python-Dictionaries zur effizienten Repräsentation von Graphen schrittweise implementieren.
Das Geburtstagsparadoxon: Simulation und Rekursion in Python
Dieses Material führt anhand des berühmten Geburtstagsparadoxons in die Programmierung mit Python ein. Lernende schätzen intuitiv, berechnen die Wahrscheinlichkeit mittels Schleifen und erweitern das Problem anschliessend durch einen rekursiven Ansatz.
Entscheidungen treffen und boolesche Logik in Python
Dieses umfassende Unterrichtsmaterial führt in Python-Entscheidungsstrukturen mit if, else und logischen Operatoren wie and, or und not ein. Es erklärt anschaulich den Unterschied zwischen Zuweisung und Vergleich, behandelt den Modulo-Operator sowie break und bietet zahlreiche praxisnahe Aufgaben mit vollständigen Musterlösungen.
Präzisere PPG-Messung mit dem USB-Mikroskop
Dieses Unterrichtsmaterial zeigt, wie man mithilfe eines USB-Mikroskops und Python PPG-Signale (Photoplethysmographie) zur Herzfrequenzmessung erfasst. Die Schülerinnen und Schüler vergleichen verschiedene Körperstellen, analysieren die Signale mit Filtern und FFT und vertiefen ihr Wissen durch praktische Experimente.
PPG-Signal aufnehmen und visualisieren mit Smartphone und Python
In diesem praxisorientierten Projekt nehmen Schülerinnen und Schüler ein eigenes Photoplethysmogramm (PPG) mit dem Smartphone auf, extrahieren die Farbwerte mithilfe eines Python-Skripts und visualisieren sowie analysieren die Herzfrequenz in Microsoft Excel.
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).
Einführung in Python Turtle-Grafiken
Dieses Unterrichtsmaterial führt Schülerinnen und Schüler in die Verwendung des Turtle-Moduls in Python ein. Anhand von Beispielen und praktischen Aufgaben lernen sie, benannte Turtles zu erzeugen, deren Eigenschaften anzupassen und einfache Animationen oder Zeichnungen zu programmieren.
Auffrischung und Erweiterung der Python-Kenntnisse
Dieses Kapitel dient der Repetition und Vertiefung grundlegender Python-Kenntnisse sowie der Einführung in die objektorientierte Programmierung. Anhand praktischer Aufgaben werden Daten aus Textdateien eingelesen, analysiert, aufbereitet und dargestellt.
Höhendaten analysieren und visualisieren mit Python
Dieses Unterrichtsmaterial zeigt schrittweise, wie Höhendaten von Swisstopo mit Python eingelesen, aufbereitet, analysiert und grafisch als Bilder oder Reliefs dargestellt werden. Die Lernenden frischen ihre Programmierfähigkeiten auf und lernen den Umgang mit Dateizugriffen sowie Visualisierungstools.
Bilderzeugung und -bearbeitung mit Python und PIL für Höhendaten
Das Unterrichtsmaterial führt in die programmgesteuerte Erstellung und Manipulation von Bildern mit Python und der Pillow-Bibliothek ein. Anhand des Kontexts von Höhendaten werden Algorithmen zur Erstellung von Heatmaps, Schattierungen und einer Hilfsfunktion zur Wertebegrenzung (Clamp) erarbeitet.