Informatik · Schwerpunktfach «Informatik und ihre Anwendungen» (Kanton AG)
Materialien geordnet nach dem Lehrplan. Links ein Teilgebiet oder eine Kompetenz wählen — oder direkt suchen.
Alle Materialien (1009)
Graphentheorie und Algorithmen: Tiefensuche, Breitensuche und Dijkstra
Das Lehrmaterial behandelt grundlegende Konzepte der Graphentheorie wie Adjazenzlisten und Graphendarstellungen. Es führt praxisnah durch wichtige Algorithmen wie Tiefensuche (DFS), Breitensuche (BFS) und Dijkstras Algorithmus zur Bestimmung kürzester Wege.
Algorithmen und Datenstrukturen: Sortieren und Suchbäume
Ausführliche Vorlesungsnotizen und Erklärungen zu klassischen Sortieralgorithmen wie Bubblesort, Selection Sort, Insertion Sort und Heapsort sowie zu binären Suchbäumen und deren Traversierung. Das Material vermittelt die theoretischen Grundlagen und Laufzeitanalysen (O-Notation) für effiziente Datenverarbeitung.
Lesson 3: Conditions (if, then, else) in Python
Dieses Unterrichtsmaterial führt in die Grundlagen von Verzweigungen (if-elif-else) in Python ein. Es erklärt Syntax, Einrückungen, Vergleichsoperatoren, boolesche Werte sowie logische Operatoren anhand praktischer Code-Beispiele.
Software und ihre Entwicklung
Dieses umfassende Lehrmittel deckt die Bereiche grafische Benutzeroberflächen, Software-Entwicklungsprozesse, agile Methoden wie Scrum und verteilte Versionsverwaltung mit Git ab. Es bietet zahlreiche Projektbeispiele, Programmierübungen mit Python und vertiefte Einblicke in das Software-Engineering.
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.
Automaten und Sprachen
Dieses umfassende Unterrichtsportal behandelt zustandsbasierte Modellierung, formale Sprachen, reguläre Ausdrücke, Automaten wie Kellerautomaten und Turingmaschinen sowie die Entwicklung von Compilern und Interpretern. Es bietet tiefgehende theoretische und praktische Inhalte speziell für das Informatik-Schwerpunktfach am Gymnasium.
Asymmetrische Kryptografie und RSA verstehen mit dem Couvert-Modell
Dieses hervorragende Unterrichtsmaterial führt anschaulich über ein haptisches Couvert-Modell in die asymmetrische Kryptografie, RSA und digitale Signaturen ein. Es verbindet intuitive Metaphern mit konkreten mathematischen Aufgaben, Schritt-für-Schritt-Anleitungen und vollständigen Lösungen.
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.
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.
Datenkapselung und Sichtbarkeit in Python
Dieses Unterrichtsmaterial führt in das Konzept der Datenkapselung und objektorientierten Sichtbarkeiten (public, protected, private) in Python ein. Anhand praktischer Code-Beispiele mit Klassen wie Sheep und Person lernen die Schülerinnen und Schüler den Einsatz von Gettern, Settern und Namenskonventionen.
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.
Advent of Code: Monster Messages (Formale Grammatiken und Parsing)
In dieser Programmieraufgabe sollen Nachrichten anhand einer kontextfreien Grammatik validiert werden. Das Material eignet sich hervorragend, um fortgeschrittene Programmierkonzepte sowie theoretische Grundlagen wie formale Sprachen und Grammatiken praktisch anzuwenden.
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.
Objects-First with Java (BlueJ Edition)
Dieses Lehrbuch vermittelt die objektorientierte Programmierung in Java anhand von praxisnahen Projekten und der Entwicklungsumgebung BlueJ. Es verfolgt einen reinen 'Objects-First'-Ansatz und enthält integrierte Übungen zum direkten Programmieren.
Aufwandsanalyse von Sortieralgorithmen
Das Unterrichtsmaterial führt in die Aufwandsanalyse von klassischen Sortieralgorithmen wie Selectionsort, Insertionsort, Bubblesort und Quicksort ein. Die Lernenden zählen Vergleiche, betrachten Best- und Worst-Case-Szenarien und analysieren die Kostenfunktionen in Abhängigkeit von der Problemgröße.
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.
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.
Ü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.
Swiss Olympiad in Informatics 2024 - Second Round Tasks
Eine Sammlung von fortgeschrittenen algorithmischen Programmieraufgaben und Rätseln aus der zweiten Runde der Schweizer Informatik-Olympiade, die sich mit Themen wie Graphentheorie, dynamischer Programmierung und Datenstrukturen befassen.
Der Graham-Scan-Algorithmus zur Bestimmung der konvexen Hülle
Dieses Unterrichtsmaterial erklärt detailliert den Graham-Scan-Algorithmus zur Berechnung der konvexen Hülle einer Punktmenge in der Computergeometrie. Es behandelt den theoretischen Hintergrund, die mathematische Korrektheit, eine vollständige Implementierung in C++ sowie eine Laufzeit- und Speicheranalyse.
Computing Maximum Matchings in Bipartite Graphs
Der Text erklärt detailliert die theoretischen Grundlagen und Algorithmen für Matchings und das Minimum Vertex Cover in Graphen mit Fokus auf bipartite Graphen. Er enthält mathematische Herleitungen sowie eine vollständige Implementation in C++ zur Berechnung maximaler Matchings und minimaler Vertex Covers.
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.
Programming Concepts in Python with TigerJython
Ein interaktives Online-Lehrbuch zur Vermittlung grundlegender Programmierkonzepte mit Python und der IDE TigerJython. Es bietet zahlreiche Codebeispiele und Übungen, die auf ein tiefes Verständnis von Programmierkonzepten abzielen.
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.
Künstliche Intelligenz und maschinelles Lernen - Unterrichtsmaterial
Umfassendes Unterrichtsmaterial zur künstlichen Intelligenz, das von grundlegenden Konzepten wie Entscheidungsbäumen und neuronalen Netzen bis hin zu praktischen Python-Programmierungen mit Jupyter-Notebooks reicht. Es beleuchtet zudem ethische Aspekte, Data-Science-Projekte und die Geschichte der KI.
Der Diffie-Hellman-Schlüsselaustausch und das diskrete Logarithmusproblem
Dieses umfassende und didaktisch hervorragend aufbereitete Unterrichtsmaterial führt Lernende über einen anschaulichen Vigenère-Cipher-Einstieg an das diskrete Logarithmusproblem und den Diffie-Hellman-Schlüsselaustausch heran. Es verbindet mathematische Grundlagen und Beweise mit interaktiven Experimenten sowie praxisnahen Einbezügen aus dem Alltag wie HTTPS und Messenger-Diensten.
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.
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.
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.
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.
Der Unterschied zwischen GPT und ChatGPT
Dieses Unterrichtsmaterial erklärt anschaulich den Unterschied zwischen einem reinen Sprachmodell (GPT) und einer vollständigen Anwendung mit Zusatzkomponenten (ChatGPT). Anhand von Beispielen wie Wetterabfragen, Rechenaufgaben und Sicherheitsmechanismen wird die Funktionsweise moderner KI-Assistenten vermittelt.
Von Deep Learning zu Large Language Models
Dieses Unterrichtsmaterial führt anschaulich und vereinfacht in die Funktionsweise von neuronalen Netzen, Deep Learning und Large Language Models (LLMs) ein. Es behandelt Themen wie Tokens, Tokenisierung, Vorhersage des nächsten Tokens, Transformer-Architekturen sowie die Abgrenzung von künstlicher und menschlicher Intelligenz.
Naive Bayes Spamfilter im Unterricht
Dieses Unterrichtsmaterial behandelt die Funktionsweise und Validierung eines Spamfilters mittels Naive-Bayes-Klassifikation und Excel-Tabellen. Anhand konkreter Beispiele wird die Berechnung von Wahrscheinlichkeiten, die Bestimmung der Genauigkeit und die Wichtigkeit der Datenqualität demonstriert.
Training eines Spam-Erkennungsmodells mit Microsoft Excel
Dieses Unterrichtsmaterial führt Lernende anhand eines konkreten Beispiels in das Training von Modellen ein. Ohne komplexe Programmierung wird ein bestehendes Spam-Erkennungsmodell mit Excel-Tabellen und einem synthetischen Datensatz trainiert, um die Grundlagen des maschinellen Lernens zu verstehen.
Der naive Bayes-Klassifikator als Spamfilter
Dieses Unterrichtsmaterial führt anhand eines einfachen Spamfilter-Beispiels in die Funktionsweise des Naiven Bayes-Klassifikators und grundlegende Konzepte der künstlichen Intelligenz ein. Es enthält eine anschauliche Herleitung der Wahrscheinlichkeiten sowie konkrete Aufgaben zur Vertiefung.
Was ist eine Künstliche Intelligenz? Grundlagen und Funktionsweise
Dieser Text vermittelt die theoretischen Grundlagen der Künstlichen Intelligenz, vergleicht klassische Algorithmen mit KI-Algorithmen und erläutert die Funktionsweise von generativen KI-Modellen sowie Begriffen wie maschinelles Lernen und Halluzinationen.
Quiz und Aufgaben zu gesellschaftlichen und ethischen Aspekten von KI
Ein Aufwärmquiz und vertiefende Aufgaben mit Lösungsvorschlägen, die sich kritisch mit den gesellschaftlichen Chancen, Risiken, ethischen Fragestellungen und dem verantwortungsvollen Umgang mit Künstlicher Intelligenz auseinandersetzen.
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.
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).
Objektorientierte Programmierung: Vererbung und Polymorphie in Python
Dieses Unterrichtsmaterial führt in die Konzepte der objektorientierten Programmierung (OOP) wie Vererbung, Überschreiben von Methoden und Polymorphie an konkreten Beispielen in Python ein. Es enthält kurze Erklärungen, Code-Beispiele und eine praktische Programmieraufgabe inklusive Lösung.
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.
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.
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.