Nickname ändern

1.3.3 Bestehende Programme sinnvoll abändern und erweitern

Unterrichtsmaterial zum Lernziel: Die Maturandinnen und Maturanden können bestehende Programme sinnvoll abändern und erweitern.

1.3 Programmieren · 1. Algorithmen und Programme

Wie wird sortiert?
agil ▲0/3algorithmen ▲0/3app-entwicklung ▲0/3assembler ▲0/3augmented-reality ▲0/3

Deklarative und funktionale Programmierung mit Python, Elm, Racket und Prolog

Umfassendes Lehrmaterial zur deklarativen Programmierung mit Schwerpunkt auf funktionaler Programmierung in Python, Elm und Racket sowie logischer Programmierung. Das Material deckt Programmierkonzepte, Datenstrukturen, Algorithmen und Webentwicklung ab.

95AI-Score

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.

95AI-Score

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.

95AI-Score

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.

95AI-Score

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.

95AI-Score

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.

92AI-Score

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.

92AI-Score

Sokoban programmieren in Python

Eine umfassende Anleitung und Projektdokumentation zur Entwicklung des Klassikers Sokoban in Python unter Verwendung von objektorientierten Konzepten, Dateiverarbeitung und der Bibliothek Pygame.

90AI-Score

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.

90AI-Score

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.

90AI-Score

Laufzeitverhalten von Sortieralgorithmen

Das Material führt experimentell in die Laufzeitanalyse verschiedener Sortieralgorithmen (wie Selection Sort, Insertion Sort, Bubble Sort und Quicksort) mithilfe von Python ein. Die Lernenden messen systematisch Rechenzeiten, analysieren Gesetzmäßigkeiten und untersuchen den Einfluss verschiedener Implementierungen.

90AI-Score

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.

90AI-Score

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.

90AI-Score

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

90AI-Score

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.

90AI-Score

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.

90AI-Score

Quote, Unquote und Listen in Scheme/Racket

Dieses Lehrmaterial behandelt vertiefte Konzepte der Programmiersprache Racket bzw. Scheme, insbesondere den Umgang mit Quotierung (quote, quasiquote, unquote) und Spleissing. Zudem wird gezeigt, wie strukturierte Listen zur automatisierten Erzeugung von HTML-Webseiten und Tabellen verwendet werden.

90AI-Score

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.

90AI-Score

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.

90AI-Score

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.

90AI-Score

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.

90AI-Score

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.

90AI-Score

Turing-Maschinen

Das Unterrichtsmaterial führt in das Konzept der Turing-Maschine ein, erläutert deren Aufbau sowie Funktionsweise anhand von Beispielen und zeigt Bezüge zur theoretischen Informatik sowie zu Python auf.

90AI-Score

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.

90AI-Score

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.

90AI-Score

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.

88AI-Score

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.

88AI-Score

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.

88AI-Score

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.

88AI-Score

Entscheidungsketten mit if ... elif ... else in Python

Dieses Unterrichtsmaterial erklärt anschaulich den Unterschied zwischen unabhängigen if-Bedingungen und verknüpften if-elif-else-Ketten in Python. Anhand von Beispielen wie einer Bug-Hunt-Aufgabe und Notenberechnungen lernen die Schülerinnen und Schüler, Bedingungen strukturiert und in der richtigen Reihenfolge zu formulieren.

88AI-Score

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.

88AI-Score

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.

88AI-Score

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.

88AI-Score

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.

88AI-Score

Methoden, Übergabe- und Rückgabewerte in Java mit Greenfoot

Das Unterrichtsmaterial führt schrittweise und ansprechend in das Konzept von Methoden, Übergabewerten und Rückgabewerten in Java ein, indem es die visuelle Entwicklungsumgebung Greenfoot und die Turtle-Figur Joe nutzt. Die Lernenden strukturieren Code um, schreiben flexible Polygone-Methoden und nutzen die Klassendokumentation (API), um interaktive Zeichnungen zu erstellen.

88AI-Score

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

85AI-Score

Eigene Klasse für rationale Zahlen in Python programmieren

Die Lernenden schreiben eine eigene Python-Klasse für rationale Zahlen (Brüche), um das Konzept der objektorientierten Programmierung und das Erstellen von Methoden und Konstruktoren zu üben. Dabei implementieren sie mathematische Operationen und optional auch Operatorüberladungen.

85AI-Score

Objektorientierte Programmierung mit Python: Konstruktoren und Methoden

Das Material führt anhand des Beispiels einer Schaf-Klasse in die objektorientierte Programmierung in Python ein. Es behandelt insbesondere den Konstruktor (__init__) und das Setzen von Objekteigenschaften sowie Methoden.

85AI-Score

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.

85AI-Score

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.

85AI-Score

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.

85AI-Score

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.

85AI-Score

3D-Datenvisualisierung mit Python und Matplotlib

Dieses Unterrichtsmaterial führt in die Visualisierung von Höhendaten in 3D mit Python und der Bibliothek Matplotlib ein. Die Lernenden verwenden Code-Beispiele, untersuchen Scatter- und Trisurf-Plots und konvertieren Datenstrukturen für die Darstellung.

85AI-Score

Dateiverarbeitung und Einlesen von Daten in Python

Dieses Unterrichtsmaterial führt in das Öffnen, Lesen und Schliessen von Textdateien in Python ein. Anhand von Beispielen und kleinen Aufgaben lernen die Lernenden den Umgang mit dem with-Kontext, Fehlerbehandlung bei externen Dateien sowie das Trennen von Zeichenketten und Konvertieren in Zahlen.

85AI-Score

Repetitionskurs Python: Grundlagen

Dieses Unterrichtsmaterial bietet eine kompakte Repetition der Python-Grundlagen. Es behandelt elementare Konzepte wie Zahlen, Operatoren, Funktionen, Kontrollstrukturen (While- und For-Schleifen, If-Else-Verzweigungen) sowie Listen anhand kurzer Erklärungen und praktischer Aufgaben.

85AI-Score

Einführung in die For-Schleife in Python

Dieses Unterrichtsmaterial erklärt die Syntax und Funktionsweise von For-Schleifen in Python anhand von Beispielen wie Summenbildung, Listenverständnissen und Textdiagrammen. Es enthält zudem praktische Programmieraufgaben inklusive Musterlösungen und eine Zusatzaufgabe.

85AI-Score

Listen in Python

Dieses Unterrichtsmaterial führt in die Verwendung von Listen in Python ein, inklusive Syntax, Zugriff, Methoden zum Hinzufügen und Entfernen sowie Sortierung. Anhand praktischer Code-Beispiele und einer Programmieraufgabe zur Median-Berechnung wird das Gelernte angewendet.

85AI-Score

Verzweigungen und Kontrollstrukturen in Python

Dieses Unterrichtsmaterial führt in die If-Else-Verzweigungen und die Verwendung von elif-Blöcken in der Programmiersprache Python ein. Anhand einer praktischen Programmieraufgabe zum Beschreiben von Zahlen wird das Erstellen und Ergänzen von Funktionen sowie Kontrollstrukturen geübt.

85AI-Score

While-Schleifen in Python

Dieses Unterrichtsmaterial führt in die Verwendung von While-Schleifen in Python ein. Anhand von anschaulichen Beispielen wie Zählvariablen, Zufallsexperimenten mit Würfeln und einer Monte-Carlo-Simulation zur Bestimmung von Pi wird das Konzept praktisch angewendet und vertieft.

85AI-Score

Reguläre Ausdrücke in Python

Dieses Unterrichtsmaterial führt in das Konzept der regulären Ausdrücke (RegEx) ein und zeigt deren praktische Anwendung und Syntax anhand von Beispielen und Programmieraufgaben in Python.

85AI-Score