2.2.2 Reale Sachverhalte, Informationen und Interaktionen in virtuelle Modelle (z.B. Variablen, Funktionen, Objekte, Entitäten) überführen
Unterrichtsmaterial zum Lernziel: Die Maturandinnen und Maturanden können reale Sachverhalte, Informationen und Interaktionen in virtuelle Modelle (z.B. Variablen, Funktionen, Objekte, Entitäten) überführen.
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.
Einführung in die Objektorientierte Programmierung mit Python und Turtle
Dieses Unterrichtsmaterial führt in die Grundlagen der objektorientierten Programmierung (OOP) in Python ein. Anhand von Beispielen wie einer Turtle, Schafen und rationalen Zahlen werden Klassen, Objekte, Konstruktoren, Vererbung und Datenkapselung praxisnah vermittelt.
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.
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.
Einführung in die objektorientierte Programmierung mit Python
Dieses Unterrichtsmaterial führt anhand eines einfachen Beispiels (Klasse Sheep) in die Grundlagen der objektorientierten Programmierung mit Python ein. Es behandelt das Erstellen von Klassen, das Instanziieren von Objekten sowie die Definition und Nutzung von Attributen und Methoden.
Einführung in die Objektorientierung mit Python und Turtle
Das Unterrichtsmaterial führt in die grundlegenden Konzepte der objektorientierten Programmierung (Klassen, Objekte, Eigenschaften und Methoden) anhand der Programmiersprache Python und der Turtle-Grafik ein. Es beinhaltet Erklärungen zur Abstraktion sowie praktische Aufgaben zum Erzeugen von Objekten und zum Setzen von Eigenschaften.
Advent of Code: Recursive Circus
Eine Programmieraufgabe, bei der eine Baumstruktur bzw. hierarchische Anordnung von Programmen analysiert werden muss, um das unterste Element zu finden. Dies fördert das Verständnis von rekursiven Datenstrukturen und Datenparsing.
Advent of Code: Memory Maneuver (Baumstrukturen und Rekursion)
Eine Programmieraufgabe im Rahmen von Advent of Code, bei der ein hierarchischer Baum aus Zahlen eingelesen, repräsentiert und rekursiv ausgewertet werden muss. Das Material eignet sich hervorragend, um fortgeschrittene Programmierkonzepte wie rekursive Datenstrukturen und Baum-Traversierung praktisch anzuwenden.
Parsing von Firefox user.js mit Raku Grammars
Das Material zeigt Schritt für Schritt, wie man mit der Programmiersprache Raku und sogenannten Grammars eine Konfigurationsdatei (user.js von Firefox) parsen kann. Dabei werden reguläre Muster, Regeln und das Debugging von Grammars praktisch erläutert.
Bundeswettbewerb Informatik: Aufgabe 'Tratsch'
Eine praxisnahe Übungsaufgabe basierend auf dem Bundeswettbewerb Informatik 2004/2005, bei der Sympathiebeziehungen mithilfe eines gerichteten Graphen dargestellt und ein Erreichbarkeitsproblem analysiert werden muss. Das Material eignet sich gut für den Einstieg in die Graphentheorie und die Modellierung von Beziehungen.
Exkurs - Graphen in Anwendungssituationen
Das Unterrichtsmaterial führt anhand verschiedener realer Anwendungssituationen wie Fährverbindungen, Ländergrenzen, Königsberger Brückenproblem, sozialen Netzwerken und Umfülldramen in das Konzept von Graphen und die Modellierung mit Knoten und Kanten ein. Die Lernenden erarbeiten sich die abstrakten Darstellungen und lösen konkrete Aufgabenstellungen selbstständig.
Vernetzte Strukturen und Graphentheorie
Dieses Material führt in die Grundlagen der Graphentheorie ein und zeigt anhand von Beispielen aus dem Alltag, wie vernetzte Strukturen modelliert und analysiert werden können. Es vermittelt grundlegende Begriffe sowie Anwendungsbereiche von Graphen im Informatikunterricht.
Implementierung einer Stapel-Klasse
Dieses Unterrichtsmaterial zeigt anhand einer Python-Aufgabe, wie der abstrakte Datentyp Stapel (Stack) als objektorientierte Klasse implementiert wird. Die Lernenden vervollständigen die Methoden inklusive Dokumentation und nutzen Doctests zur Überprüfung.
Natürliche Zahlen als rekursive Datenstruktur
Das Unterrichtsmaterial erklärt anhand des Beispiels der Summenbildung, wie natürliche Zahlen als rekursive Datenstruktur aufgefasst und verarbeitet werden können. Es zeigt die Entwicklung und Ausführung rekursiver Algorithmen sowie deren Umsetzung in Python.
Eine Grammatik für DiagramML - Dokumenttypdefinitionen (DTD)
Das Unterrichtsmaterial führt in Dokumenttypdefinitionen (DTD) als Grammatiken für XML-basierte Sprachen wie DiagramML ein. Anhand von Beispielen lernen die Lernenden, XML-Dokumente auf ihre Validität zu überprüfen und Strukturvorgaben formal zu verstehen.
Miniprojekt - MyXHTML
In diesem Miniprojekt entwickeln die Schülerinnen und Schüler schrittweise eine eigene Dokumenttypdefinition (DTD) für eine vereinfachte Version von XHTML. Anhand eines Beispieldokuments wird das Validieren von XML-Strukturen und das Erstellen von Grammatiken für Auszeichnungssprachen praktisch erarbeitet.
Übungen zu XML und DTD
Dieses Material bietet verschiedene praktische Übungsaufgaben zur Erstellung und Validierung von XML-Dokumenten und DTDs. Die Lernenden modellieren reale Strukturen wie Straßennetze, Schachspielzustände, Literaturverzeichnisse und E-Mails mittels Auszeichnungssprachen.
Übungen zur XML-basierten Datenrepräsentation
Das Material enthält verschiedene Übungsaufgaben zum Vergleichen, Analysieren und selbstständigen Entwerfen von XML-Formaten zur Datenrepräsentation, darunter Schachspielzustände, Bandinformationen und Graphenstrukturen.
Typed Raku, Part 1: Taming State
Der Artikel erklärt anhand eines Schach-Beispiels das strenge Typsystem von Raku, einschliesslich Laufzeit-Typüberprüfungen, Variablentypen, Typsmileys, objektorientierter Datenmodellierung mit Klassen, Enums und Subsets.
Carte suisse
Dieses Notebook zeigt an einem konkreten Beispiel, wie man geografische und statistische Daten mit Python (Pandas, Matplotlib, Geovizir) zusammenführt und eine Schweizer Karte visualisiert.
Interscheded Data, S-Expressions and Trees in Racket
Dieses Lehrmaterial behandelt fortgeschrittene Programmierkonzepte in Racket mit Fokus auf ineinander verschränkte Datenstrukturen (intertwined data), wie z.B. Bäume, Wälder, S-Expressionen und binäre Suchbäume (BSTs). Es zeigt, wie man parallele Funktionen für komplexe Datenstrukturen entwirft und bestehende Implementierungen durch den Einsatz von Abstraktionen wie map oder local vereinfacht.
Prologue: How to Program (DrRacket / HtDP)
Eine spielerisch-praktische Einführung in das Programmieren mithilfe der Programmiersprache Racket (DrRacket und BSL). Anhand der Entwicklung einer einfachen Raketen-Simulation werden grundlegende Programmierkonzepte wie Ausdrücke, Datentypen, Funktionen, Bedingungen und Konstanten eingeführt.
Konzeptioneller Entwurf und Entity-Relationship-Modell
Dieses Unterrichtsmaterial erklärt die Grundlagen des konzeptionellen Entwurfs von Datenbanken mithilfe des Entity-Relationship-Modells. Es wird detailliert auf Entitäten, Entitätstypen sowie die Bestimmung von Kardinalitäten (1:1, 1:n und n:m) eingegangen.
Informatik-Lehrmaterialsammlung zur Objektorientierung, Datenbanken und Programmierung
Eine umfassende Sammlung von Unterrichtsmaterialien, Aufgaben und Arbeitsblättern für das Gymnasium. Sie deckt Themen wie objektorientierte Programmierung mit Java (BlueJ), relationale Datenbanken mit SQL und ER-Modellierung sowie algorithmische Grundlagen mit Turtle-Grafik und Sortierverfahren ab.
Unterrichtsmaterialiensammlung zu Tabellenkalkulation und Datenbanken
Eine umfangreiche Sammlung von Arbeitsblättern, Übungen und Lösungen zu den Themen Tabellenkalkulation, relationale Datenbanken, SQL, Normalformen und objektorientierte Modellierung für den Informatikunterricht.
Einführung objektorientierter Denkweisen mit Scratch
Dieses Material führt anhand der visuellen Programmierumgebung Scratch in die grundlegenden Konzepte und Denkweisen der objektorientierten Programmierung ein. Dabei wird die objektorientierte Struktur von Scratch-Programmen transparent gemacht und mit entsprechenden Fachkonzepten verknüpft.
Objektorientierte Programmierung mit Python
Dieses Unterrichtsmaterial führt in die Konzepte der objektorientierten Programmierung (OOP) mit Python ein. Anhand praxisnaher Weltauschnitte wie Ampelsystemen oder Spielen werden die Denkweisen Schritt für Schritt vermittelt und vertieft.
Zustandsbasierte Modellierung
Dieses Lehrmittel führt in die Konzepte zur Modellierung zustandsorientierter Systeme ein. Die Lernenden erfahren, wie das Verhalten von Systemen durch innere Zustände und äußere Ereignisse beeinflusst wird.
Ampelsteuerung für drei Siedlungen
Dieser Lehrtext erklärt anhand einer Ampelsteuerung an einer komplexen Kreuzung den Entwurf von Automaten. Die Schülerinnen und Schüler lernen, Zustände und deren Beziehungen zu analysieren sowie die zeitliche Dimension zu berücksichtigen, um anschliessend ähnliche Probleme eigenständig zu lösen.
Beziehungen und Kardinalitäten in relationalen Datenbanken
Der Text erklärt verständlich die Grundlagen von Beziehungen und verschiedenen Kardinalitäten (1:1, 1:n, n:m) in relationalen Datenbanken und Datenmodellen. Anhand konkreter Beispiele werden die Konzepte illustriert und um Hinweise zu Attributen von Beziehungstypen ergänzt.
Einführung in das Objektorientierte Programmieren (OOP) am Beispiel von Shaun dem Schaf
Dieses Unterrichtsmaterial führt anschaulich in die grundlegenden Konzepte der objektorientierten Programmierung wie Klassen, Objekte, Eigenschaften und Methoden ein. Anhand des Beispiels eines Schafes werden zentrale Begriffe der OOP verständlich und greifbar erklärt.
Course of Raku: Subroutines vs Methods
Der Text erklärt anhand von Beispielen in der Programmiersprache Raku den Unterschied zwischen eigenständigen Unterprogrammen (Subroutinen) und objektgebundenen Methoden. Er zeigt, wie Klassen und Objekte in diesem Kontext aufgebaut sind und wann welches Konzept eingesetzt werden sollte.
Course of Raku: Classes and Objects - Attributes
Dieses Unterrichtsmaterial aus einem Raku-Programmierkurs erklärt die Grundlagen von Klassen und Attributen an Code-Beispielen. Lernende erfahren, wie Instanzen erstellt, Attribute deklariert und Accessoren verwendet werden.
Course of Raku: Classes and objects
Dieses Lehrmaterial führt in die objektorientierte Programmierung mit der Programmiersprache Raku ein. Es erklärt anhand von Codebeispielen, wie eigene Klassen definiert und Instanzen als Objekte erzeugt werden.
Inheritance and Object-Oriented Programming Misconceptions
Das Unterrichtsmaterial listet und erklärt gängige Missverständnisse und Fehlerkonzepte im Zusammenhang mit Vererbung (Inheritance) und objektorientierter Programmierung auf. Es eignet sich gut zur Reflexion und Überprüfung des theoretischen Verständnisses von OOP-Konzepten.
Objektorientierung: Zustand und Methoden in Objekten
Dieses Unterrichtsmaterial erklärt präzise die Grundlagen der Objektorientierung, insbesondere wie Instanzvariablen den Zustand eines Objekts speichern und wie Methoden in Klassen organisiert sind. Es verdeutlicht den Unterschied zwischen Objektdaten und Klassenzugehörigkeit von Methoden.
FussballXML: Strukturierte Datendarstellung mit XML
Dieses Unterrichtsmaterial behandelt die strukturierte Darstellung von Fußballspiel-Informationen mittels XML-Dokumenten. Die Lernenden entwickeln und erweitern Dokumenttypdefinitionen (DTD) und validieren die entsprechenden XML-Strukturen anhand konkreter Beispiele.
Darstellung von Fußballspielen mit XML
Dieses Unterrichtsmaterial führt an einem konkreten Beispiel (Fußballspiel) in die strukturierte Darstellung von Daten mittels XML ein. Die Lernenden ergänzen ein unvollständiges XML-Dokument, erstellen ein weiteres Dokument in Eigenregie und überprüfen dessen Wohlgeformtheit.
Typed Raku, Part 2: Taming Behaviour
Der Artikel demonstriert fortgeschrittene Programmierkonzepte in Raku anhand der Modellierung eines Schachspiels. Dabei werden insbesondere Multiple Dispatch, Rollen (Mixins) sowie objektorientierte Prinzipien vertieft.
Objektorientierte Modellierung eines Weihnachtsbaumes mit Raku
Der Beitrag zeigt an einem spielerischen Beispiel (Weihnachtsmann und Physik-Elfe), wie objektorientierte Programmierung und Klassen zur Modellierung von geometrischen Objekten eingesetzt werden. Anhand der Programmiersprache Raku werden Klassen, Vererbung und Parametrisierung demonstriert.
Bäume als grundlegende Datenstrukturen
Der Text führt in das Konzept von Bäumen als fundamentale Datenstrukturen der Informatik ein. Es werden Beispiele wie das DOM von Webseiten, die formale Terminologie sowie spezielle Formen wie Binärbäume vorgestellt.
Einführung in Graphen
Der Text führt grundlegende Begriffe und Definitionen von Graphen ein, einschliesslich Knoten, Kanten sowie gerichteten und ungerichteten Graphen. Er zeigt reale Anwendungsbeispiele auf und stellt eine mathematisch-formale Definition bereit.
Entity-Relationship-Modell
Dieses Unterrichtsmaterial führt in die Grundlagen der konzeptionellen Datenbankmodellierung mit dem Entity-Relationship-Modell (ER-Modell) ein. Es erklärt zentrale Begriffe wie Entitätstypen, Beziehungen und Attribute anhand von anschaulichen Beispielen.
DynaTraffic - Markov-Ketten und dynamische Systeme
Das Material stellt die Software DynaTraffic vor, mit der das Verkehrsaufkommen an Kreuzungen durch Markov-Ketten und dynamische Systeme modelliert wird. Lernende können das System interaktiv steuern und so mathematisch-informatische Konzepte wie Zustandsvektoren und stationäre Verteilungen anschaulich erarbeiten.
Zustandsmaschine programmieren mit dem Micro:Bit
Dieses Material führt anhand einer Event-State-Tabelle in die Funktionsweise und Modellierung von Zustandsmaschinen ein. Die Lernenden analysieren einen Ablauf, zeichnen ein Zustandsdiagramm und vervollständigen ein Micro:Bit-Programm in Python.
Modellierung von Populationsdaten und Trendlinien in Excel
Dieses Unterrichtsmaterial zeigt anhand realer Daten zur Wolfspopulation in der Schweiz, wie Excel-Diagramme und Trendlinien (linear, exponentiell, logarithmisch etc.) zur Datenmodellierung und Prognose eingesetzt werden. Es behandelt zudem praktische Hürden wie den Umgang mit Nullwerten und erklärt das Bestimmtheitsmass R² verständlich.
Logistisches Wachstum mit Tabellenkalkulation modellieren
Anhand eines realitätsnahen Beispiels mit einer Wolfspopulation auf einer Insel wird das logistische Wachstum eingeführt. Die Lernenden entwickeln eigenständig ein Tabellenkalkulationsmodell, das exponentielles und beschränktes Wachstum kombiniert, und analysieren das Ergebnis anhand von Aufgaben.
Exponentielles Wachstum im Tabellenkalkulationsmodell
Dieses Unterrichtsmaterial führt Lernende anhand einer Wolfspopulation von linearem zu exponentiellem Wachstum. Mithilfe eines Tabellenblatts erstellen und experimentieren die Schüler:innen mit Wachstumsraten und absoluten Zellbezügen, wobei Aufgaben und Teillösungen vorhanden sind.
Beschränktes Wachstum in Tabellenkalkulationen
Dieses Unterrichtsmaterial führt anhand eines biologischen Beispiels (Wolfspopulation auf einer Insel) in das Modell des beschränkten Wachstums ein. Die Lernenden passen ein Tabellenblatt an, um das Modell mit einer Kapazitätsgrenze umzusetzen, und erhalten direkt eine vollständige Formellösung zur Kontrolle.
Reale Daten mit logistischem Modell in Excel vergleichen
Dieses Unterrichtsmaterial zeigt Schritt für Schritt, wie reale Populationsdaten (am Beispiel von Wolfsbeständen) in Excel grafisch mit einem logistischen Wachstumsmodell verglichen und das Bestimmtheitsmaß R² berechnet werden. Es enthält konkrete Anleitungen für Tabellenkalkulationen, WENN-Funktionen und Formeln.