Schulprogramm Informatik Qualifikationsphase Q1/Q2
Schulinterner Lehrplan für das Fach Informatik - Stufen Q1 (11) und Q2 (12)

Rechtliche Grundlage

Kernlehrplan des Landes Nordrhein-Westfalen für das Fach Informatik in der Gymnasialen Oberstufe


Die Reihenfolge der Unterrichtseinheiten kann variiert werden.


Qualifikationsphase Q1
Umfang
Kompetenzen
Konkretisierung

1. Thema: Wiederholung der objektorientierten Modellierung und Programmierung anhand kontextbezogener Problemstellungen

8
Stunden

Zentrale Kompetenzen

  • Argumentieren
  • Modellieren
  • Implementieren
  • Darstellen und Interpretieren
  • Kommunizieren und Kooperieren

Inhaltsfelder

  • Daten und ihre Strukturierung
  • Algorithmen
  • Formale Sprachen und Automaten
  • Informatiksysteme

Inhaltliche Schwerpunkte

  • Objekte und Klassen
  • Analyse, Entwurf und Implementierung
    von Algorithmen
  • Syntax und Semantik einer Program-
    miersprache
  • Nutzung von Informatiksystemen

Objektorientierte Modellierung

In dieser Sequenz werden Inhalte der Stufe EF anhand von ein oder zwei Projekten wiederholt und vertieft.
  • Modellierung von Klassen mit Attributen, Methoden und Assoziationen
  • Zuordnen von geeigneten Sichtbarkeiten
  • Implementierung von Klassen
  • Nutzung von Werkzeugen zur Erstellung von Diagrammen
  • Verfahren zum Test von Informatiksystemen
  • Dokumentation von Klassen
  • Vererbungsbeziehungen mit abstrakten und nicht-abstrakten Klassen; Interfaces
  • Kommunikation zwischen Objekten (→ Sequenzdiagramm)

2. Thema: Modellierung und Implementierung von Anwendungen mit dynamischen, linearen Datenstrukturen

20
Stunden

Zentrale Kompetenzen

  • Argumentieren
  • Modellieren
  • Implementieren
  • Darstellen und Interpretieren
  • Kommunizieren und Kooperieren

Inhaltsfelder

  • Daten und ihre Strukturierung
  • Algorithmen
  • Formale Sprachen und Automaten

Inhaltliche Schwerpunkte

  • Objekte und Klassen
  • Analyse, Entwurf und Implementierung von Algorithmen
  • Algorithmen in ausgewählten informatischen Kontexten
  • Syntax und Semantik einer Programmiersprache

Datenstruktur Warteschlange

  • Einstieg in die linearen-Datenstrukturen in Abgrenzung zum Array
  • Operationen der Datenstruktur Warteschlange
  • interne Funktionsweise der Operationen der Datenstruktur Warteschlange
  • Modellierung und Implementierung einer Anwendung unter Verwendung eines oder mehrerer Objekte der Klasse Queue

Datenstruktur Stapel

  • LiFo-Prinzip
  • Operationen der Datenstruktur Stapel
  • interne Funktionsweise der Operationen der Datenstruktur Stapel
  • Modellierung und Implementierung einer Anwendung unter Verwendung eines oder mehrerer Objekte der Klasse Stack

Datenstruktur Liste

  • Erarbeitung der Vorteile der Liste gegenüber den beiden anderen Datenstrukturen
  • Operationen der Datenstruktur Liste
  • interne Funktionsweise der Operationen der Datenstruktur Liste
  • Modellierung und Implementierung einer Anwendungen unter Verwendung eines oder mehrerer Objekte der Klasse Liste
Die Anwendung der Datenstruktur Warteschlange, Stapel oder Liste wird in mindestens einem weiteren komplexen Kontext vertieft.

Bei der Bearbeitung der Projekte wird ein einfaches Swing-basiertes MVC-Prinzip, das auf dem Beobachter-Beobachteter-Muster basiert eingeübt.

3. Thema: Suchen und Sortieren auf linearen Datenstrukturen

16
Stunden

Zentrale Kompetenzen

  • Argumentieren
  • Modellieren
  • Implementieren
  • Darstellen und Interpretieren
  • Kommunizieren und Kooperieren

Inhaltsfelder

  • Algorithmen
  • Formale Sprachen und Automaten

Inhaltliche Schwerpunkte

  • Analyse, Entwurf und Implementierung von Algorithmen
  • Algorithmen in ausgewählten informatischen Kontexten
  • Syntax und Semantik einer Programmiersprache

Suchen von Daten in Listen und Arrays

  • lineare Suche auf Listen und in Arrays
  • binäre Suche in Arrays als Beispiel für rekursives Problemlösen mit dem "Divide and Conquere"-Verfahren
  • Effizienzuntersuchungim Hinblick auf Laufzeit und Speicherbedarf

Sortieren in Listen und Arrays

  • Entwicklung und Implementierung mindestens eines einfachen Sortierverfahrens für eine Liste
  • Implementierung mindestens eines einfachen Sortierverfahrens für ein Array
  • Entwicklung und Implementierung eines rekursiven Sortierverfahrens für eine Liste oder ein Array (QuickSort, MergeSort)

Effizienzuntersuchungen von Sortieralgorothmen

(z.B. InsertionSort und QuickSort)
  • Grafische Visualisierung von Sortierverfahren
  • Untersuchung der Anzahl der Vergleichsoperationen und des Speicherbedarfs (Zählen, programmgestütztes Zählen, Analyse - O-Notation)

4. Thema: Modellierung und Nutzung von relationalen Datenbanken in Anwendungskontexten

20
Stunden

Zentrale Kompetenzen

  • Argumentieren
  • Modellieren
  • Implementieren
  • Darstellen und Interpretieren
  • Kommunizieren und Kooperieren

Inhaltsfelder

  • Daten und ihre Strukturierung
  • Algorithmen
  • Formale Sprachen und Automaten
  • Informatiksysteme
  • Informatik, Mensch und Gesellschaft

Inhaltliche Schwerpunkte:

  • Datenbanken
  • Algorithmen in ausgewählten informatischen Kontexten
  • Syntax und Semantik einer Programmiersprache
  • Sicherheit

Nutzung von relationalen Datenbanken

am Beispiel von unterschiedlichen Anwendungsfällen/Datenbanken
  • Aufbau von Datenbanken und Grundbegriffe
    • Entwicklung von Fragestellungen zur vorhandenen Datenbank
    • Analyse der Struktur der vorgegebenen Datenbank und Erarbeitung der Begriffe Tabelle, Attribut, Datensatz, Datentyp, Primärschlüssel, Fremdschlüssel, Datenbankschema
    • relationale Algebra
  • SQL-Abfragen
    • Analyse und Erarbeitung von einfachen SQL-Abfragen auf einer Tabelle ( SELECT (DISTINCT) ...FROM, WHERE, AND, OR, NOT )
    • Analyse und Erarbeitung SQL-Abfragen auf mehreren Tabellen ( (INNER) JOIN, UNION )
    • Verwendung von Aggregatfunktionen und weiterem zur Beantwortung von Fragestellungen (AS, GROUP BY,ORDER BY, ASC, DESC, COUNT, MAX, MIN, SUM , Arithmetische  Operatoren: +, -, *, /, (...), Vergleichsoperatoren: =, <>, >, <, >=, <=, LIKE, BETWEEN, IN, IS NULL )

Modellierung von relationalen Datenbanken

  • ER-Diagramme (Entity-Relationship-Diagramm)
    • Ermittlung von Entitäten, zugehörigen Attributen, Relationen und Kardinalitäten in Anwendungssituationen und Modellierung eines Datenbankentwurfs in Form eines Entity-Relationship-Diagramms
    • Erläuterung und Modifizierung einer Datenbankmodellierung
  • Entwicklung einer Datenbank aus einem Datenbankentwurf
    • Modellierung eines relationalen Datenbankschematas zu einem Entity-Relationship-Diagramm inklusive der Bestimmung von Primär- und Sekundärschlüsseln

Normalformen

  • Untersuchung einer Datenbank hinsichtlich Konsistenz und Redundanz in einer Anwendungssituation
  • Überprüfung von Datenbankschemata hinsichtlich der 1. bis 3. Normalform und Normalisierung

Neu: Abfrage und Manipulation von Daten aus Java-Programmen heraus mit der Klasse DatabaseConnector


5. Thema: Sicherheit und Datenschutz in Netzstrukturen

10
Stunden

Zentrale Kompetenzen

  • Argumentieren
  • Darstellen und Interpretieren
  • Kommunizieren und Kooperieren

Inhaltsfelder

  • Informatiksysteme
  • Informatik, Mensch und Gesellschaft

Inhaltliche Schwerpunkte

  • Einzelrechner und Rechnernetzwerke
  • Sicherheit
  • Nutzung von Informatiksystemen, Wirkungen der Automatisierung

Daten in Netzwerken und Sicherheitsaspekte in Netzen sowie beim Zugriff auf Datenbanken

  • Beschreibung eines Datenbankzugriffs im Netz anhand eines Anwendungskontextes und einer Client-Server-Struktur zur Klärung der Funktionsweise eines Datenbankzugriffs
  • Netztopologien als Grundlage von Client-Server-Strukturen und TCP/IP-Schichtenmodell als Beispiel für eine Paketübermittlung in einem Netz
  • Vertraulichkeit, Integrität, Authentizität in Netzwerken sowie symmetrische und asymmetrische kryptografische Verfahren (Cäsar-, Vigenère-, RSA-Verfahren) als Methoden Daten im Netz verschlüsselt zu übertragen

Fallbeispiele zur Datenschutzproblematik und zum Urheberrecht


Inhalte des zweiten Halbjahres
Umfang
Kompetenzen
Konkretisierung

6. Thema: Modellierung und Implementierung von Anwendungen mit dynamischen, nichtlinearen Datenstrukturen

24
Stunden

Zentrale Kompetenzen

  • Argumentieren
  • Modellieren
  • Implementieren
  • Darstellen und Interpretieren
  • Kommunizieren und Kooperieren

Inhaltsfelder

  • Daten und ihre Strukturierung
  • Algorithmen
  • Formale Sprachen und Automaten

Inhaltliche Schwerpunkte

  • Objekte und Klassen
  • Analyse, Entwurf und Implementierung von Algorithmen
  • Algorithmen in ausgewählten informatischen Kontexten
  • Syntax und Semantik einer Programmiersprache

Analyse von Baumstrukturen in verschiedenen Kontexten

  • Grundlegende Begriffe (Grad, Tiefe, Höhe, Blatt, Inhalt,  Teilbaum, Ebene, Vollständigkeit)
  • Aufbau und Darstellung von binären Bäumen anhand von Baumstrukturen in verschiedenen Kontexten

Die Datenstruktur Binärbaum

  • Operationen der Datenstruktur Binärbaum
  • interne Funktionsweise der Operationen der Datenstruktur Binärbaum
  • Implementierung einer Anwendung oder von Teilen von Anwendungen
  • Traversierung eines Binärbaums im Pre-, In- und Postorderdurchlauf

Die Datenstruktur binärer Suchbaum

  • Operationen der Datenstruktur binärer Suchbaum
  • Funktionsweise der Operationen der Datenstruktur binärer Suchbaum unter Betonung der Pivot-Eigenschaft
  • Implementierung einer Anwendung oder von Teilen von Anwendungen; Inorder-Ausgabe
Die Verwendung von Binärbaum oder binären Suchbaum wird anhand einer weiteren Problemstellung geübt.

7. Thema: Endliche Automaten und formale Sprachen

20
Stunden

Zentrale Kompetenzen

  • Argumentieren
  • Modellieren
  • Darstellen und Interpretieren
  • Kommunizieren und Kooperieren

Inhaltsfelder

  • Endliche Automaten und formale Sprachen

Inhaltliche Schwerpunkte

  • Endliche Automaten
  • Grammatiken regulärer Sprachen
  • Möglichkeiten und Grenzen von Automaten und formalen Sprachen

Endliche Automaten

  • Formale und Graphische Beschreibung von Endlichen Automaten
  • Untersuchung, Darstellung und Entwicklung Endlicher Automaten
  • Simulation Endlicher Automaten

Untersuchung und Entwicklung von Grammatiken regulärer Sprachen

  • Erarbeitung der formalen Darstellung regulärer Grammatiken
  • Untersuchung, Modifikation und Entwicklung von Grammatiken
  • Entwicklung von endlichen Automaten zum Erkennen regulärer Sprachen die durch Grammatiken gegeben werden
  • Entwicklung regulärer Grammatiken zu endlichen Automaten

Grenzen endlicher Automaten

optional: Kellerautomaten und Kontextfreie Grammatiken


8. Thema: Prinzipielle Arbeitsweise eines Computers und Grenzen der Automatisierbarkeit

12
Stunden

Zentrale Kompetenzen

  • Argumentieren
  • Kommunizieren und Kooperieren

Inhaltsfelder

  • Informatiksysteme
  • Informatik, Mensch und Gesellschaft

Inhaltliche Schwerpunkte

  • Einzelrechner und Rechnernetzwerke
  • Grenzen der Automatisierung

Von-Neumann-Architektur und die Ausführung maschinennaher Programme

  • Wiederholung des prinzipiellen Aufbaus einer von Neumann-Architektur mit CPU, Rechenwerk, Steuerwerk, Register und Hauptspeicher
  • einige maschinennahe Befehlen und ihre Repräsentation in  einem BinärCode, der in einem Register gespeichert werden kann
  • Analyse und Erläuterung der Funktionsweise eines einfachen maschinennahen Programms

 Grenzen der Automatisierbarkeit

  • Vorstellung des Halteproblems
  • Unlösbarkeit des Halteproblems
  • Beurteilung des Einsatzes von Informatiksystemen hinsichtlich prinzipieller Möglichkeiten und prinzipieller Grenzen



Autorisation: Fachkonferenz Informatik
Letzte Änderung: 29.11.2017