1.2 Algorithmische Problemlösung
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.
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.
Routing und der Dijkstra-Algorithmus
Dieses Unterrichtsmaterial erklärt anschaulich, wie Router im Internet den kürzesten Weg für Datenpakete finden. Die Lernenden erarbeiten den Dijkstra-Algorithmus Schritt für Schritt von Hand, analysieren Routing-Tabellen und wenden ihr Wissen anhand praktischer Aufgaben an.
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.
Agent-Based Modelling mit NetLogo
Dieses umfassende Unterrichtsmaterial führt in das Agentenbasierte Modellieren (ABM) mittels NetLogo ein. Anhand von Wolf-Schaf-Gras-Simulationen untersuchen Schülerinnen und Schüler ökologische Dynamiken, Populationsoszillationen sowie evolutionäre Prozesse wie Vererbung und natürliche Selektion.
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.
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.
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.
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.
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.
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.
Algorithmen und Datenstrukturen
Ein umfassendes Unterrichtsskript für das Grundlagenfach Informatik an Schweizer Gymnasien, welches grundlegende Algorithmen, Datenstrukturen sowie Such- und Sortierverfahren in Pseudocode behandelt und mit zahlreichen Übungsaufgaben ergänzt.
Der Weg zum Lösungsweg: Einführung in Computational Thinking und Algorithmen
Das Material führt theoretisch und anhand von Beispielen in die Grundlagen von Algorithmen und Computational Thinking ein. Es werden zentrale Konzepte wie Decomposition, Pattern Recognition, Abstraction und Algorithm Design erklärt.
Sortieren interaktiv und Laufzeitkomplexität
Dieses Unterrichtsmaterial bietet einen computerunabhängigen Einstieg in klassische Sortieralgorithmen und führt in das Konzept der Laufzeitkomplexität und Skalierbarkeit ein. Es beinhaltet anschauliche Vergleiche sowie praxisnahe Aufgaben zur Abschätzung des Ressourcenbedarfs von Algorithmen.
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.
Modellieren und Simulation in der Informatik
Der Text erklärt den Begriff des Modells in der Informatik, unterscheidet zwischen konzeptuellen und funktionalen Modellen und beschreibt den Prozess der Modellierung, der das Abstrahieren und anschliessende Umsetzen in Programmcode umfasst.
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.
Konzept Computational Thinking
Der Text erläutert die Grundlagen des Computational Thinking als allgemeine Methode zur Problemlösung. Dabei werden die vier zentralen Denkfiguren Decomposition, Pattern Recognition, Abstraction und Algorithm Design detailliert beschrieben.
Konzept Laufzeitkomplexität
Der Text erklärt das theoretische Konzept der Laufzeitkomplexität und asymptotischen Laufzeit von Algorithmen in Abhängigkeit von der Eingabemenge. Anhand einer anschaulichen Schachbrett-Analogie wird das exponentielle Wachstum verdeutlicht.
Konzept Iterative Development
Dieses Unterrichtsmaterial erklärt das Konzept der iterativen Entwicklung in der Informatik anhand einer anschaulichen Analogie zum Gymnasium und vergleicht es mit dem Wasserfallmodell. Es vermittelt grundlegende Vorgehensweisen bei der Projektplanung und Problemlösung.
Rationale Funktionen und Asymptoten mit Python
Dieses Unterrichtsmaterial behandelt rationale Funktionen, Definitionslücken, Polstellen und hebbare Lücken sowie Asymptoten anhand von mathematischen Erklärungen und Aufgaben. Zusätzlich wird ein Python-Code mit NumPy und Matplotlib zur Visualisierung der Funktionen bereitgestellt.
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.
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.
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.
Abstraktion und Implementierung durch modularen Systemaufbau
Dieses Unterrichtsmaterial führt in die Konzepte der Abstraktion, Implementierung und modularer Systeme ein. Anhand praktischer Metaphern wie Landkarten und dem Bau eines einfachen Rechners wird gelernt, wie man komplexe Systeme durch Divide and Conquer handhabbar macht.
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.
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.
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.
Logistisches Wachstum mit Tabellenkalkulation
Dieses Unterrichtsmaterial führt anhand eines Beispiels mit einer Wolfspopulation in das logistische Wachstum ein. Die Lernenden modellieren das Wachstum mithilfe einer Tabellenkalkulation, indem sie eine Formel für den Restkapazitätsfaktor entwickeln und die Wachstumskurve analysieren.
Beschränktes Wachstum in Tabellenkalkulationen
Dieses Unterrichtsmaterial führt anhand eines konkreten Beispiels (Wölfe auf einer Insel) in das mathematische und modellierende Konzept des beschränkten Wachstums ein. Lernende passen ein bestehendes Tabellenblatt an, um die Restkapazität und das veränderte Bevölkerungswachstum zu simulieren und auszuwerten.
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.
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.
Variowoche Blender & VFX
Dieses Unterrichtsmaterial beschreibt eine intensive Projektwoche zu Blender und visuellen Effekten (VFX) an einem Gymnasium. Die Schülerinnen und Schüler lernen grundlegende 3D-Modellierung, Animation und Simulation kennen und setzen anschliessend eigene, kreative 3D-Projekte um.
Greenscreening in Blender
Dieses praxisorientierte Tutorial erklärt Schritt für Schritt den professionellen Green-Screen-Workflow in Blender. Behandelt werden die Erstellung eines Basis-Keys, Garbage Mattes, Despill-Techniken sowie Edge Extensions für saubere Compositing-Ergebnisse.
Character Rigging für Anfänger
Dieses umfassende Tutorial von Joey Carlino führt praxisnah in das Character Rigging mit der 3D-Software Blender ein. Es behandelt sowohl die automatisierte Erstellung von Rigs mittels Rigify für humanoide Figuren als auch den manuellen Aufbau von Custom-Rigs inklusive IK-Setups und Weight Painting.
Aufgabensammlung Ginf: Daten, Information und Algorithmen
Dieses Dokument enthält eine umfangreiche Aufgabensammlung mit Lösungen aus dem Informatikunterricht an Schweizer Gymnasien. Thematisiert werden Codierungen (Dual-, Hexadezimal-, BCD-Code, Textcodierungen), Datenmengen, grundlegende Algorithmen sowie Graphen.
Konzept Monte Carlo Methode
Der Text erklärt das Grundprinzip der Monte-Carlo-Methode zur approximativen Lösung schwieriger Probleme mithilfe von Zufallsexperimenten. Anhand einer anschaulichen Würfel-Analogie wird veranschaulicht, wie durch eine hohe Anzahl von Testfällen verlässliche Ergebnisse erzielt werden können.
Physik-Simulationen in Blender
Dieses Tutorial zeigt Schritt für Schritt, wie man in Blender realistische Rigid-Body-Physiksimulationen mit Würfelstapeln und Kollisionen erstellt. Es vermittelt praktische Kenntnisse im Umgang mit den physikalischen Eigenschaften und Animationswerkzeugen der Software.
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).
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.