Schulcurriculum Informatik Qualifikationsphase Q1,Q2

Werbung
SchulcurriculumInformatikSekII
Zeit
Inhalte
Verknüpfung mit der Obligatorik
Q1/I
Spiralförmige Vertiefung des Stoffes aus der
E-Phase:
• Erstellen von Klassendiagrammen bzw.
Umsetzen von Diagrammen in Java
• Miniprojekte mit verschiedenen
Abhängigkeiten zwischen Klassen
• Vertiefung der Verwendung von Arrays
(Feldern) und Umsetzung in
Klassendiagrammen
I.1 Konzepte des objektorientierten
Modellierens
• Klasse, Objekt, Attribut, Methode,
Geheimnisprinzip
• Klassendiagramme (Entwurfsdiagramme,
Implementationsdiagramme)
• Beziehungen zwischen Klassen:
(Gerichtete) Assoziation mit Multiplizität,
Vererbung
• Abstrakte Klassen, Polymorphie
I.2 Datenstrukturen
• Lineare Strukturen mit den Akzenten
- Schlange und Stapel
o Anwendung der
Standardoperationen
o Implementation der
Standardoperationen
- Lineare Liste
o Anwendung der
Standardoperationen
- Such- und Sortieralgorithmen für Felder
und Listen
o Rekursion
o Suchen
o Sortieren durch direktes Einfügen
Im Leistungskurs zusätzlich:
o Quicksort
Entwicklung und Verwendung von linearen
Datenstrukturen in Programmen mit
graphischen Benutzeroberflächen:
• Bspw. Modellierung und Implementation
einer Wartezimmeranwendung:
o Lineare Liste inkl.
Standardoperationen
o Datenstruktur Schlange
o Datenstruktur Stapel
o Entwicklung von Oberflächen mit
Java Swing
o Designkonzept Model-ViewController
• Sortieren von Feldern und Listen
o Entwickeln und Implementieren
einfacher Sortieralgorithmen für
elementar vergleichbare
Datentypen (int, double, char,…)
o Sortieren von Arrays und Listen
mit beliebigen Objekten durch
Erfüllen des ComparableInterfaces (nur LK)
Sinn und Verwendung
von Interfaces in Java
Entwickeln und
Implementieren eigener
Interfaces
o schnelle Sortieralgorithmen (mit
Rekursion)
Mergesort
Quicksort (nur LK)
o Untersuchung und Vergleich von
Laufzeiten im O-Kalkül
Zeit
Inhalte
Q1/II Implementation, Untersuchung und
Verwendung weiterer (nichtlinearer)
Datenstrukturen:
• Binäre Suchbäume (inkl.
Traversierungsalgorithmen und
Standardoperationen)
o Laufzeitvergleich mit linearen
Datenstrukturen
o Implementation (nur LK)
• Balancierte Suchbäume (bspw. AVLBäume)
o Aufbau und Balancekonzept
o Anwendung der Rotationen
o Implementation (nur LK)
Graphentheoretische Problemstellungen:
• Graphen als Modellierungswerkzeug
• Implementation einer Graphenklasse (nur
LK)
• Eulerwege/-kreise (bspw. Königsberger
Brückenproblem)
• Finden minimaler Spannbäume (bspw.
Versorgungsbrücken zwischen Inseln
einer Inselgruppe)
• Durchführen der Suche in Graphen
(Tiefensuche) (bspw. Finden defekter
Pumpstation in Kanalsystem; Ausweg aus
Labyrinth finden)
• Durchführen des Verfahrens von Dijkstra
zum Finden kürzester Wege (bspw.
Funktionsweise von
Navigationssystemen)
• Modellierung von Graphen mithilfe von
Adjazenzlisten/-matrizen
• Breitensuche (nur LK)
• Implementation einzelner Algorithmen
(nur LK)
Verknüpfung mit der Obligatorik
I.2 Datenstrukturen
• Baumstrukturen mit den Akzenten
- Binärbaum
o Anwendung der
Standardoperationen
o Traversierungsalgorithmen
- Binärer Suchbaum
o Anwendung der
Standardoperationen
o Traversierungsalgorithmen
Im Leistungskurs zusätzlich:
o Implementation der Methoden
insert und search
I.2 Datenstrukturen
Im Leistungskurs zusätzlich:
• Ungerichteter gewichteter Graph mit den
Akzenten
- Adjazenzmatrix, Adjazenzlisten
- Anwendung der Standardoperationen
- Graphtraversierung mit Breiten- und
Tiefensuche
- Suche eines kürzesten Weges zwischen
zwei Knoten: Backtracking, DijkstraAlgorithmus
Zeit
Inhalte
Verknüpfung mit der Obligatorik
Q2/I
Aufbau von Netzwerken und
Implementation von Client-ServerAnwendungen:
• Kommunikation in Netzwerken
o Zeichenkodierung
o Kommunikations-Protokolle
o Fehlerkorrektur
o TCP/IP-Protokoll
• Aufbau von Computer-Netzwerken
(bspw. mit FILIUS)
o Installieren und Administrieren
von Netzwerken mit
verschiedenen Adressbereichen
o Einrichten von Client-ServerSoftware wie Webserver/-client,
Emailserver/-client, DHCP, …)
• Netzwerkprogrammierung in Java
o Implementation einfacher
Server-/Clientklassen (aufbauend
auf vorgegebenen Klassen des
Zentralabiturs) (bspw.
Echoserver/-client,
Additionsserver/-client, …)
o Projektarbeit (bspw.
netzwerkfähiges "Vier gewinnt"Spiel, "Schiffeversenken",
Chatserver/-client, …)
Kryptologische Verfahren:
• Rückblick: Verschlüsselung in der
Geschichte
• Anwenden symmetrischer Verfahren
• Implementation in Java/Excel (nur LK)
• Kryptoanalyse: Sicherheit symmetrischer
Verfahren (Knacken von
Verschlüsselungen)
• Funktionsweise asymmetrischer
Verfahren (RSA) inkl. Schlüsselaustausch
• Einbau eines Verfahrens in eigene
Netzwerk-Projekte (nur LK)
• Schülerpräsentationen möglich (bspw.
Authentifizierung, E-Geld, elektronische
Wahlen, …)
I.3 Modellieren und Implementieren
kontextbezogener Problemstellungen als
Netzwerkanwendungen
• Netzwerkprotokolle, TCP/IPReferenzmodell
• Client-Anwendungen
• Client-Server-Anwendungen
• Kryptografie
- Symmetrische Verschlüsselungsverfahren (Caesar, Vigenère)
- Asymmetrische Verschlüsselungsverfahren (RSA)
- Schlüsselaustausch (Diffie-Hellmann)
I.3 Modellieren und Implementieren
kontextbezogener Problemstellungen als
Netzwerkanwendungen
• Kryptografie
- Symmetrische Verschlüsselungsverfahren (Caesar, Vigenère)
- Asymmetrische Verschlüsselungsverfahren (RSA)
- Schlüsselaustausch (Diffie-Hellmann)
Zeit
Inhalte
Q2/II Option A – Berechenbarkeit und formale
- A - Sprachen:
• Der Akzeptor als deterministischer
endlicher Automat
o Aufbau, Funktionsweise
o mathematische und graphische
Darstellung
o reguläre Grammatiken
• Nichtdeterministische endliche
Automaten
o Unterschied zu DEA
o Mächtigkeitsvergleich zu DEA
o Umwandeln NEA DEA
o Grenzen von NEA/DEA
• Kellerautomaten
o Aufbau, Funktionsweise
o graphische Darstellung
o kontextfreie Grammatiken
o Verwendung in Compilern (nur
LK)
Entwicklung eines
Parsers
o Grenzen von KA
• Turingmaschine
o Aufbau, Funktionsweise
o Programmierung mittels Applet
(matheprisma.de)
o mathematische und graphische
Darstellung
o kontextsensitive
Grammatiken/unbeschränkte
Grammatiken
o Grenzen der allgemeinen
Berechenbarkeit
Q2/II Option B – Relationale Datenbanken:
- B - • Aufbau und Funktionsweise von
relationalen Datenbanksystemen
• Installation eines mySQL-DatenbankSystems
• Einrichten von Tabellen (inkl. Schlüsseln)
und Erstellen von Abfragen (Selektion,
Projektion, Vereinigung etc.) über
mehrere Tabellen
• Modellierung mithilfe von EntityRelationship-Diagrammen
• Normalisierung von Datenbanken
• Sicherheit von personenbezogenen
Daten (Salt); Datenschutz
Verknüpfung mit der Obligatorik
III. Endliche Automaten und formale
Sprachen
• Modellieren kontextbezogener
Problemstellungen als deterministische
endliche Automaten
• Darstellung von deterministischen
endlichen Automaten als Graph und als
Tabelle
• Formale Sprachen: Reguläre Sprachen
und ihre Grammatiken
Im Leistungskurs zusätzlich:
• Entwicklung eines Parsers für eine
einfache formale Sprache
II. Relationale Datenbanken
• Modellieren kontextbezogener
Problemstellungen als Datenbanken mit
dem Entity Relationship-Modell
• Datenbankschemata
• Normalisierung: Überführung einer
Datenbank in die 1. bis 3. Normalform
• Relationenalgebra (Selektion, Projektion,
Vereinigung, Differenz, kartesisches
Produkt, Umbenennung, Join)
• SQL-Abfragen über eine und mehrere
verknüpfte Tabellen
• Datenschutzaspekte
Herunterladen