ef:lernzielematura:start

Dies ist eine alte Version des Dokuments!


Lernziele Matura

Lernziele Programmierkonzepte in Python

  1. Variablen und die dynamische Typisierung in Python verstehen (Vor- und Nachteile der Dynamischen Typisierung gegenüber der Statischen Typisierung)
  2. Allgemein den Unterschied zwischen „Call by Value“ und „Call by reference“ kennen (siehe Kapitel 3.1 im oben verlinkten Dokument). den Befehl id kennen.
  3. Was bedeutet mutable und immutable? Welche Datentypen sind in Python immutable?
  4. Wie verhält sich Python, wenn man einer Funktion einen Parameter mit Grunddatentyp übergibt (Zahlen, Bolean, Strings) und diesen dann in der Funktion ändert?
  5. Wie verhält sich Python, wenn man einer Funktion einen Parameter mit komplexerem Datentyp (Liste, Objekt, Dictionaries) übergibt und diesen dann in der Funktion ändert?
  6. Funktionen mit Parameter und ohne Parameter und mit Rückgabewert und ohne Rückgabewert verstehen.
  7. Listen verstehen und verwenden können und die Varianten des range-Befehls kennen.
  8. Verzweigungen und while-Schleifen verstehen.

Programmierkonzepte Python

Prinzip der Objektorientierten Programmierung kennen und in Python anwenden können

  1. Begriffe verstehen: Klasse vs. Objekt/Instanz, Eigenschaften/Attribute, Methoden
  2. Unterschied zwischen Objektorientiertem Paradigma zu Prozeduralen Paradigma erklären können.
  3. Unterschied zwischen Instanzvariablen und Klassenvariablen kennen und Beispiele geben können in Python.
  4. Unterschied zwischen Instanzmethoden und Klassenmethoden (@classmethod) kennen und Beispiele geben können.
  5. Die folgenden Konzepte und Begriffe verstehen: Konstruktor (init-Methode), self, Vererbung (super()), wie kann man die Daten kapseln (Underscore oder doppelter Underscore, Getter- und Settermethoden)

Erklärungen Objektorientierte Programmierung

Lernziele Boolsche Algebra und Schaltungen

  1. Darstellungsarten von Logischen Funktionen verstehen und umschreiben können: Logischer Ausdruck (Formel), Wahrheitstabelle, Schaltung (nicht relevant: Zeitdiagramm).
  2. Standardgatter verstehen (Darstellung nach IEC 60617-12 kennen, siehe diesen Link) NOT, AND, OR, XOR, NAND, XNOR?
  3. Wissen, was die De Morganschen Gesetze aussagen und einen Term damit umschreiben können.
  4. Disjunktive Normalform verstehen und sie aus der Wahrheitstabelle aufstellen können.
  5. Konjunktive Normalform verstehen und sie aufstellen können.
  6. Logische Nachbarn verstehen und Terme mit logischen Nachbarn vereinfachen können.
  7. Die Disjunktive Normalform mithilfe des KV-Diagramms vereinfachen können (Diagramm wird gegeben).
  8. Schaltung zu einer gegebenen einfachen logischen Funktion aufschrieben können.
  9. Halbaddierer und Voladdierer verstehen.

Boolsche Algebra (sieh auch OneNote)

Lernziele VonNeumann-Architektur

  1. Grundprinzip der Von Neumann-Architektur verstehen (nur ein Speicher für Daten und Programme, Befehle werden sequenziell abgearbeitet nach dem Von Neumann-Zyklus.
  2. Was sind Hauptunterschiede zwischen dem Johnny-Simulator und einem „wirklichen“ Computer (z.B. bezüglich den verarbeiteten Daten, dem Bus-System, dem ALU)
  3. Grundkomponenten verstehen und Abkürzungen kennen: db, ab, ram, ins, pc, mc, acc
  4. Verstehen, dass die Daten bzw. Programme im RAM „zweiteilig“ gespeichert sind (2 Ziffern für den Befehl und 3 für die Daten).
  5. Unterschied zwischen Makro- und Mikro-Befehlen verstehen.
  6. Die Makrobefehle verstehen.
  7. Mikrobefehle zu den entsprechenden Makrobefehlen zuordnen können.
  8. Ein in Makrobefehlen gegebenes Programm erklären können, d.h. angeben können, was im Speicher/Akkumulator passiert.

Johnny Simulator und Von Neumann-Architektur (sieh auch OneNote)

Symmetrische Kryptographie

  1. Unterschiede zwischen Blockchiffre und Stromchiffre kennen
  2. Feistel Netzwerk verstehen und ein Beispiel mit konkret gegebenen Verschlüsselungsfunktionen durchführen können
  3. Prinzip der Operationsmodi bei Blockchiffren kennen (vor allem: Problem von ECB erklären).

Hashfunktionen und MACs

  1. Erklären können, was eine Hashfunktion ist.
  2. Eigenschaften der Hashfunktion erklären können.
  3. Bereiche aufzählen können, wo Hashfunktionen eingesetzt werden.
  4. Warum ist es probematisch, eine schnelle Hashfunktion bei der Speicherung von Passwörtern zu verwenden?
  5. Was sind Rainbow-Tables und was bedeutet „Salz“ (Salt) in diesem Zusammenhang?
  6. Was sind Message Authentication Codes (MACs) und wozu dienen sie?
  7. Was bedeutet Integrität und Authentizität und wie schützen MACs die Integrität und die Authentizität?
  8. Was ist der Unterschied zwischen MACs und einer digitalen Signatur?
  9. Welches Problem löst die Digitale Signatur, welche MACs nicht lösen?
  10. Was sind AEAD-Algorithmen (Authenticated Encryption with Associated Data)? Welche Konzepte werden durch sie realisiert?

Schlüsseltausch

  1. Was versteht man unter dem Schlüsseltauschparadoxon?
  2. Schlüsseltausch nach Diffie-Hellman durchführen können.
  3. Zeigen können, dass ein Wert g ein Generator von Z modulo n ist (Satz)

Asymmetrische Verschlüsselung und SSL/TLS

  1. Prinzip der Asymmetrischen Verschlüsselung verstehen
  2. Wie kann die Asymmetrische Verschlüsselung als digitale Signatur verwendet werden?
  3. Wozu sind Zertifizierungsstellen bei digitalen Zertifikaten nötig?
  4. Was sind Zertifizierungsketten (Chains of trust)?
  5. Wie läuft ein konkreter Verbindungsaufbau bei TLS/SSL ab?
  6. Warum werden nicht alle Daten asymmetrisch verschlüsselt?
  7. Bei einer Verbindung mit einer sicheren Seite wird in den DEV-Tools angezeigt: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, was bedeutet dies konkret (grob)?

Zero Knowledge Proofs

  1. Was ist ein Nullwissens-Beweis (Zero-Knowledge Proof)
  2. Gib konkrete Analogien, wie so ein Zero-Knowledge Proof durchgeführt werden könnte.
  3. Wozu kann man Zero-Knowledge Proofs verwenden? Gib konkrete Beispiele und den Vorteil, den sie zu herkömmlichen Verfahren bieten.

Datenstrukturen (Skript Kapitel 4)

  1. Was ist eine Datenstruktur verglichen mit einem Datentyp?
  2. Die folgenden Datenstrukturen sollten verstanden werden:
    • Liste (Array)
    • Verkettete Liste
    • Stack (Stapel) und Queue (Warteschlange)
    • Graphen
    • Baum also Spezialfall des Graphen
    • Heap als Spezialfall von einem Baum

Begriffe und Komplexität

  1. Was ist ein Algorithmus?
  2. Was versteht man unter der Komplexität eines Algorithmus? Für welche Dinge wird die Komplexität angegeben?
  3. Was sagt die O-Notation für einen Algorithmus aus (Landau-Notation mit dem grossen O)?
  4. Beispiele angeben können für die verschiedenen Komplexitätsklassen.

Irrgärten und Pfadfinder-Algorithmen

Irrgärten erstellen und lösen

  1. Den Graphen zu einem Irrgarten aufzeichnen können und zu einem Graphen den Irrgarten zeichnen können.
  2. Unterschied zwischen einem perfekten (oder Standard-) Irrgarten und einem „normalen“ Irrgarten kennen.
  3. Wie kann man einen Irrgarten erstellen mithilfe des DFS-Algorithmus? Warum und wofür ist hier ein Stack als Datenstruktur ideal? Link
  4. Wie funktionieren die Algorithmen „Random-Mouse“, „Hand-on-Wall“, DFS, BFS?
  5. Welche Algorithmen produzieren den kürzesten Weg?

Allgemeine Pfadfinder-Algorithmen

  1. Wie funktioniert der Dijkstra-Algorithmus? Man muss ihn für kleine Beispiele durchführen können.
  2. Wie funktioniert der A*-Algorithmus? Man muss ihn für ein Beispiel und eine konkrete Situation erklären können.

Beispielaufgabe mit Lösung (ETH) Video von S. Lague

Sortieralgorithmen

  1. Was ist ein stabiles bzw. ein instabiles Sortierverfahren?
  2. Wie funktioniert Selectionsort, welche Komplexität hat er im Best- und im Worst-Case?
  3. Wie funktioniert Swaport, welche Komplexität hat er im Best- und im Worst-Case?
  4. Wie funktioniert Bubblesort, welche Komplexität hat er im Best- und im Worst-Case?
  5. Wie funktioniert Mergesort, welche Komplexität hat er im Best- und im Worst-Case?

Problem des Handlungsreisenden (Traveling Salesman-Problem)

  1. Das Problem verstehen und Anwendungen dafür kennen.
  2. Wie viele Touren gibt es bei n Städten theoretisch?
  3. Erkläre drei Algorithmen, wie man die Ausgangslösunge finden könnte (Nearest Neighbor, Random, Greedy-Algorithmus).
  4. Das Prinzip des Ameisen-Algorithmus verstehen und erklären können.
  5. Das Lösungsprinzip von 2-Opt (oder allgemein k-Opt) verstehen und erklären können.
  6. Was bedeutet Simulated Annealing? Wozu wird es eingesetzt?
  1. Erkläre die Begriffe „Künstliche Intelligenz“, „Maschinelles Lernen“, „Neuronale Netzwerke“
  2. Welche grundlegenden Prinzipien und Abläufe liegen der prozeduralen Programmierung, der objektorientierten Programmierung und neuronalen Netzwerken zugrunde, und worin unterscheiden sie sich? Erkläre an einem konkreten Beispiel.
  3. Wie funktionieren Neuronale Netzwerke und Maschinelles Lernen konkret? Erkläre die Begriffe:
    1. Neuronen, Gewichte (weights), Bias (Schwellwert)
    2. Schichten (Layers)
    3. Kostenfunktion
    4. Backpropagation
    5. Aktivierungsfunktion
  4. LLMs
    1. Erkläre grob, was ein LLM ist und wie es funktioniert
    2. Inwieweit kann man ein LLM als eine Mathematische Funktion bezeichnen?
    3. Was versteht man unter Pre-Training und RLHF (Reinforcement Learning from Human Feedback)?
    4. Warum brachte die Transformer-Architektur einen gewaltigen Vorteil gegenüber herkömmlichen Verfahren und worin besteht sie grob gesagt?
    5. Wie werden Wörter codiert? Was versteht man unter dem „Attention-Mechanismus“
  5. Was ist der Unterschied zwischen generativer und prädiktiver KI?
  6. Ein LLM gibt für ein und dieselbe Eingabe nicht immer dieselbe Ausgabe, ein Diffussionsmodell für die Bildgenerierung schon. Nimm zu dieser Aussage Stellung.
  7. Warum sind GPU (Graphikkarten bzw. Graphikprozessoren) in der KI so wichtig?
  8. Welche zwei Bedeutungen hat das Wort „Bias“ im Zusammenhang mit KI?
  9. Gib ein persönliches kurzes Statement ab bezüglich der These „Durch KI werden die durch die Studenten eingereichgten Produkte immer besser, obwohl sie in mündlichen Prüfungen immer schlechter abschneiden.“
  10. Was könnte unter den Begriffen „Skill Skipping“, „Kognitive Entlastung“ gemeint sein?
  11. Nenne Bereiche, die in Zukunft durch den Einsatz von KI komplett verändert werden könnten. Erkläre kurz.
  • ef/lernzielematura/start.1779349435.txt.gz
  • Zuletzt geändert: 2026/05/21 09:43
  • von lehmannr