Rhein-Sieg-Gymnasium Sankt Augustin - Schulinterner Lehrplan für die gymnasiale Oberstufe Informatik

Die Seite wird erstellt Nikolai-Stefan Schreiber
 
WEITER LESEN
Rhein-Sieg-Gymnasium Sankt Augustin - Schulinterner Lehrplan für die gymnasiale Oberstufe Informatik
Rhein-Sieg-Gymnasium Sankt Augustin

        Schulinterner Lehrplan
     für die gymnasiale Oberstufe

             Informatik

                                 Stand: 31.10.2019

               Seite 1 von 45
1 Die Fachgruppe Informatik des Rhein-Sieg-Gymnasiums
Die Fachschaft Informatik des Rhein-Sieg-Gymnasiums bietet in der Jahrgangsstufe 5 und 6
Informatik für alle Schülerinnen und Schüler an. Im Fokus steht die Förderung des
algorithmischen Denkens. Dazu werden Programmierstrukturen erarbeitet und angewandt.
Zur Förderung der Medienkompetenz stehen darüber hinaus Aspekte zu Verschlüsselung,
Codierung, Office-Anwendungen, die Funktionsweise von Rechner- und Dateisystemen sowie
ein verantwortungsvoller Umgang mit dem Internet im Mittelpunkt.

 Ab der Jahrgangsstufe 8 kann im Wahlpflichtbereich II Informatik gewählt werden. In diesem
zweijährigen Kurs werden in altersstufengerechter Weise unter anderem die Grundlagen der
Algorithmik am Beispiel verschiedener didaktischer Lernumgebungen (Kara, Roboter-
Programmierung mit Lego-Mindstorms) sowie die technische Informatik am Beispiel von
Schaltwerken und Schaltnetzen (LOCAD) thematisiert. Des Weiteren erhalten die
Schülerinnen und Schüler dieses Differenzierungskurses einen tiefergehenden Einblick in
Tabellenkalkulationen sowie die Gestaltung und Programmierung von Internetseiten.

Durch dieses Informatikangebot in den Jahrgangsstufen 5, 6, 8 und 9 verfügen nahezu alle
Schülerinnen und Schüler unabhängig von der Fächerwahl in der Oberstufe über ein breit
angelegtes Wissen zu den Grundlagen der Informations- und Kommunikationstechnologien,
auf die im Unterricht der Sekundarstufe II aufgebaut werden kann.

Das Fach Informatik wird in der Sekundarstufe II am Rhein-Sieg-Gymnasium als Wahlfach
angeboten. In der Einführungsphase und Qualifikationsphase können die Schülerinnen und
Schüler das Fach als dreistündigen Grundkurs belegen. Seit dem Schuljahr 2014/2015 wird in
Kooperation mit dem Albert-Einstein-Gymnasium auch ein Leistungskurs angeboten.

In der Einführungsphase sind keine Vorkenntnisse aus der Sekundarstufe I zum erfolgreichen
Bestehen des Kurses erforderlich.

Durch projektartiges Vorgehen, offene Aufgaben und Möglichkeiten, Problemlösungen zu
verfeinern und zu optimieren, entspricht der Informatikunterricht in besonderem Maße den
Erziehungszielen, Leistungsbereitschaft zu fördern ohne zu überfordern.

Darüber hinaus trägt er zu einer breitgefächerten Allgemeinbildung bei, bietet gleichzeitig
Raum für individuelle Spezialisierungen und ermöglicht verantwortungsvolles Handeln in
einer sich schnell wandelnden und von technischen Fortschritten geprägten Welt.

Die gemeinsame Entwicklung von Materialien und Unterrichtsvorhaben, die Evaluation von
Lehr- und Lernprozessen sowie die stetige Überprüfung und eventuelle Modifikation des
schulinternen Curriculums durch die Fachkonferenz Informatik stellt einen wichtigen Beitrag
zur Qualitätssicherung und -entwicklung des Unterrichts dar.

In den Kursen des Faches Informatik werden zwischen 15 und 26 Schülerinnen und Schüler
unterrichtet. Leistungskurse sind in der Regel kleiner. Die sehr gute Ausstattung unserer
beiden Praxisräume ermöglicht jeder Schülerin und jedem Schüler über einen eigenen
Arbeitsplatz verfügen zu können.

                                      Seite 2 von 45
2 Entscheidungen zum Unterricht
2.1    Unterrichtsvorhaben

Die Darstellung der Unterrichtsvorhaben im schulinternen Lehrplan besitzt den Anspruch,
sämtliche im Kernlehrplan angeführten Kompetenzen abzudecken. Dies entspricht der
Verpflichtung jeder Lehrkraft, Schülerinnen und Schülern Lerngelegenheiten zu ermöglichen,
so dass alle Kompetenzerwartungen des Kernlehrplans von ihnen erfüllt werden können.

Die entsprechende Umsetzung erfolgt auf zwei Ebenen: der Übersichts- und der
Konkretisierungsebene.

Im „Übersichtsraster Unterrichtsvorhaben“ (Kapitel 2.1.1) wird die für alle Lehrerinnen und
Lehrer gemäß Fachkonferenzbeschluss verbindliche Verteilung der Unterrichtsvorhaben
dargestellt. Das Übersichtsraster dient dazu, den Kolleginnen und Kollegen einen schnellen
Überblick über die Zuordnungen der Unterrichtsvorhaben zu den einzelnen Jahrgangsstufen
sowie den im Kernlehrplan genannten Kompetenzen, Inhaltsfeldern und inhaltlichen
Schwerpunkten zu verschaffen. Der ausgewiesene Zeitbedarf versteht sich als grobe
Orientierungsgröße, die nach Bedarf über- oder unterschritten werden kann. Um Spielraum
für Vertiefungen, besondere Schülerinteressen, aktuelle Themen bzw. die Erfordernisse
anderer besonderer Ereignisse (z. B. Praktika, Kursfahrten o. ä.) zu erhalten, wurden im
Rahmen dieses schulinternen Lehrplans nur ca. 75 Prozent der Bruttounterrichtszeit verplant.

Während der Fachkonferenzbeschluss zum „Übersichtsraster Unterrichtsvorhaben“ zur
Gewährleistung vergleichbarer Standards sowie zur Absicherung von Lerngruppenübertritten
und Lehrkraftwechseln für alle Mitglieder der Fachkonferenz Bindekraft entfalten soll, besitzt
die exemplarische Ausweisung „konkretisierter Unterrichtsvorhaben“ (Kapitel 2.1.2)
empfehlenden Charakter. Referendarinnen und Referendaren sowie neuen Kolleginnen und
Kollegen dienen diese vor allem zur standardbezogenen Orientierung in der neuen Schule,
aber auch zur Verdeutlichung von unterrichtsbezogenen, fachgruppeninternen Absprachen zu
didaktisch-methodischen Zugängen, fachübergreifenden Kooperationen, Lernmitteln und
Lernorten sowie vorgesehenen Leistungsüberprüfungen, die im Einzelnen auch den Kapiteln
2.2 bis 2.3 zu entnehmen sind.

Abweichungen von den vorgeschlagenen Vorgehensweisen bezüglich der konkretisierten
Unterrichtsvorhaben sind im Rahmen der pädagogischen Freiheit der Lehrkräfte jederzeit
unter Berücksichtigung der Kompetenzerwartungen des Kernlehrplans möglich.

Da in den folgenden Unterrichtsvorhaben Inhalte in der Regel anhand von Problemstellungen
in Anwendungskontexten bearbeitet werden, werden in einigen Unterrichtsvorhaben jeweils
mehrere Inhaltsfelder angesprochen.

2.1.1 Übersichtsraster Unterrichtsvorhaben

I) Einführungsphase – Grundkurs
Zu jedem Unterrichtvorhaben ist eine Anknüpfung an den Kernlehrplan Informatik in Form
von Kompetenzbezügen gegeben. Die aufgeführten Kompetenzen sind dabei so zu verstehen,

                                       Seite 3 von 45
dass das entsprechende Unterrichtsvorhaben zum Erwerb derselben beiträgt.
Kompetenzerwerb ist ein kontinuierlicher und kumulativer Prozess, der sich über längere
Zeiträume hinzieht und die wiederholte Beschäftigung mit entsprechenden fachlichen
Gegenständen und Themen in variierenden Anwendungssituationen oder auf zunehmenden
Anforderungsniveaus voraussetzt. Es kann daher nicht der Anspruch erhoben werden, dass
die aufgeführten Kompetenzen nach Abschluss lediglich eines Unterrichtsvorhabens
vollständig erworben wurden.

                    Kompetenzerwartungen und inhaltliche Schwerpunkte
                    (Kernlehrplan Informatik für die Sek. II Gymn./Ges. in NRW, S.18)

Im Folgenden werden die dargestellten Kompetenzbereiche mit ihrem Anfangsbuchstaben
abgekürzt.

                                        Seite 4 von 45
Übersichtsraster Unterrichtsvorhaben: Einführungsphase – Grundkurs:
Unterrichtsvorhaben E-I                          Unterrichtsvorhaben E-II
Thema: Überblick über das Fach Informatik,       Thema: Grundlagen der imperativen Programm-
Grundlagen von Informatiksystemen und            ierung mit Java, einfache Algorithmik und
Geschichte der Informatik                        Datenstrukturen

Zentrale Kompetenzen:                            Zentrale Kompetenzen:
Argumentieren                                    Argumentieren
Darstellen und Interpretieren                    Modellieren
Kommunizieren und Kooperieren                    Implementieren
                                                 Darstellen und Interpretieren
Inhaltsfelder:                                   Kommunizieren und Kooperieren
Informatiksysteme
Informatik, Mensch und Gesellschaft              Inhaltsfelder:
                                                 Daten und ihre Strukturierung
Inhaltliche Schwerpunkte:                        Algorithmen
Digitalisierung                                  Formale Sprachen und Automaten
Einzelrechner                                    Informatiksysteme
Dateisysteme
Internet                                         Inhaltliche Schwerpunkte:
Einsatz von Informatiksystemen                   Analyse, Entwurf und Implementierung einfacher
Wirkungen der Automatisierung                    Algorithmen mit Java
Geschichte der automatischen Datenverarbeitung   Syntax und Semantik einer Programmiersprache

Zeitbedarf: 6 Stunden                            Zeitbedarf: 34 Stunden
Unterrichtsvorhaben E-III                        Unterrichtsvorhaben E-IV
Thema: Grundlagen der objektorientierten         Thema: Aufbau einfacher Such- und
Modellierung und Implementierung                 Sortierverfahren sowie ihre Anwendung auf die
                                                 Datenstruktur Array
Zentrale Kompetenzen:
Argumentieren                                    Zentrale Kompetenzen:
Modellieren                                      Argumentieren
Implementieren                                   Modellieren
Darstellen und Interpretieren                    Implementieren
Kommunizieren und Kooperieren                    Darstellen und Interpretieren
                                                 Kommunizieren und Kooperieren
Inhaltsfelder:
Daten und ihre Strukturierung                    Inhaltsfelder:
Algorithmen                                      Daten und ihre Strukturierung
Formale Sprachen und Automaten                   Algorithmen
                                                 Formale Sprachen und Automaten
Inhaltliche Schwerpunkte:
Objekte und Klassen                              Inhaltliche Schwerpunkte:
Analyse, Entwurf und Implementierung einfacher   Analyse, Entwurf und Implementierung einfacher
Algorithmen                                      Algorithmen
Syntax und Semantik einer Programmiersprache     Syntax und Semantik einer Programmiersprache
                                                 Algorithmen zum Suchen und Sortieren
Zeitbedarf: 30 Stunden
                                               Zeitbedarf: 18 Stunden
                                  Summe Einführungsphase: 88

                                        Seite 5 von 45
II) Qualifikationsphase – Grundkurs/Leistungskurs
                                       Qualifikationsphase I
Unterrichtsvorhaben Q1-I                           Unterrichtsvorhaben Q1-II
Thema: Prinzipielle Arbeitsweise eines             Thema: Rekursive Algorithmen und Backtracking
Computers und maschinennahe Sprachen               in Anwendungskontexten

Zentrale Kompetenzen:                            Zentrale Kompetenzen:
Argumentieren                                    Argumentieren
Kommunizieren und Kooperieren                    Modellieren
                                                 Implementieren
Inhaltsfelder:                                   Darstellen und Interpretieren
Informatiksysteme                                Kommunizieren und Kooperieren
Informatik, Mensch und Gesellschaft
                                                 Inhaltsfelder:
Inhaltliche Schwerpunkte:                        Algorithmen
Einzelrechner und Rechnernetzwerke               Formale Sprachen und Automaten
                                                 Informatiksysteme
Zeitbedarf: 10 Stunden                           Informatik, Mensch und Gesellschaft

                                                 Inhaltliche Schwerpunkte:
                                                 Analyse, Entwurf und Implementierung von
                                                 Algorithmen
                                                 Algorithmen in ausgewählten informatischen
                                                 Kontexten
                                                 Syntax und Semantik einer Programmiersprache
                                                 Nutzung von Informatiksystemen
                                                 Grenzen der Automatisierung

                                                 Zeitbedarf: 15/25 Stunden
Unterrichtsvorhaben Q1-III                       Unterrichtsvorhaben Q1-IV
Thema: Modellierung und Implementierung          Thema: Modellierung und Implementierung
dynamischer Listenstrukturen und deren           dynamische nichtlineare Datenstrukturen am
Anwendungen                                      Beispiel der Binärbäume

Zentrale Kompetenzen:                            Zentrale Kompetenzen:
Argumentieren                                    Argumentieren
Modellieren                                      Modellieren
Implementieren                                   Implementieren
Darstellen und Interpretieren                    Darstellen und Interpretieren
Kommunizieren und Kooperieren                    Kommunizieren und Kooperieren

Inhaltsfelder:                                   Inhaltsfelder:
Daten und ihre Strukturierung                    Daten und ihre Strukturierung
Algorithmen                                      Algorithmen
Formale Sprachen und Automaten                   Formale Sprachen und Automaten
Informatiksysteme                                Informatiksysteme

Inhaltliche Schwerpunkte:                        Inhaltliche Schwerpunkte:
Objekte und Klassen                              Objekte und Klassen
Analyse, Entwurf und Implementierung von         Analyse, Entwurf und Implementierung von
Algorithmen                                      Algorithmen

                                        Seite 6 von 45
Algorithmen in ausgewählten informatischen      Algorithmen in ausgewählten informatischen
Kontexten                                       Kontexten
Syntax und Semantik einer Programmiersprache    Syntax und Semantik einer Programmiersprache
Nutzung von Informatiksystemen                  Nutzung von Informatiksystemen

Zeitbedarf: 25/30 Stunden                       Zeitbedarf: 15/25 Stunden
Q1-V                                            Unterrichtsvorhaben Q1-V/Q1-VI
Thema: Modellierung und Implementierung         Thema: Modellierung und Nutzung relationaler
dynamischer nichtlinearer Datenstrukturen am    Datenbanken in Anwendungskontexten
Beispiel der Graphen
                                                Zentrale Kompetenzen:
Zentrale Kompetenzen:                           Argumentieren
Argumentieren                                   Modellieren
Modellieren                                     Implementieren
Implementieren                                  Darstellen und Interpretieren
Darstellen und Interpretieren                   Kommunizieren und Kooperieren
Kommunizieren und Kooperieren
                                                Inhaltsfelder:
Inhaltsfelder:                                  Daten und ihre Strukturierung
Daten und ihre Strukturierung                   Algorithmen
Algorithmen                                     Formale Sprache und Automaten
Formale Sprachen und Automaten                  Informatiksysteme
Informatiksysteme                               Informatik, Mensch und Gesellschaft

Inhaltliche Schwerpunkte:                       Inhaltliche Schwerpunkte:
Objekte und Klassen                             Datenbanken
Analyse, Entwurf und Implementierung von        Algorithmen in ausgewählten informatischen
Algorithmen                                     Kontexten
Algorithmen in ausgewählten informatischen      Syntax und Semantik einer Programmiersprache
Kontexten                                       Nutzung von Informatiksystemen
                                                Sicherheit
Zeitbedarf: 15 Stunden                          Wirkung der Automatisierung

                                              Zeitbedarf: 20/30 Stunden
                            Summe Qualifikationsphase I: 85 (135)

                                     Qualifikationsphase II
Unterrichtsvorhaben Q2-I                          Unterrichtsvorhaben Q2-II
Thema: Sicherheit und Datenschutz in              Thema: Endliche Automaten und Formale
Netzstrukturen und Modellierung und               Sprachen, Grenzen der Automatisierbarkeit
Implementierung von Client-Server-
Anwendungen                                       Zentrale Kompetenzen:
                                                  Argumentieren
Zentrale Kompetenzen:                             Modellieren
Argumentieren                                     Implementieren
Modellieren                                       Darstellen und Interpretieren
Implementieren                                    Kommunizieren und Kooperieren
Darstellen und Interpretieren
Kommunizieren und Kooperieren                     Inhaltsfelder:
                                                  Daten und ihre Strukturierung
Inhaltsfelder:                                    Algorithmen
Daten und ihre Strukturierung                     Formale Sprachen und Automaten

                                        Seite 7 von 45
Algorithmen                                      Informatiksysteme
Formale Sprachen und Automaten
Informatiksysteme                                Inhaltliche Schwerpunkte:
Informatik, Mensch und Gesellschaft              Endliche Automaten (und Kellerautomaten)
                                                 Grammatiken regulärer (und kontextfreier)
Inhaltliche Schwerpunkte:                        Sprachen
Objekte und Klassen                              Scanner, Parser und Interpreter für eine
Analyse, Entwurf und Implementierung von         reguläre Sprache
Algorithmen                                      Möglichkeiten und Grenzen von Automaten
Algorithmen in ausgewählten informatischen       und formalen Sprachen
Kontexten                                        Nutzung von Informatiksystemen
Syntax und Semantik einer Programmiersprache     Grenzen der Automatisierung
Einzelrechner und Rechnernetzwerke
Sicherheit                                    Zeitbedarf: 30/40 Stunden
Nutzung von Informatiksystemen, Wirkungen der
Automatisierung

Zeitbedarf: 30/40 Stunden
                             Summe Qualifikationsphase II: 60 (80)

                                        Seite 8 von 45
2.1.2 Konkretisierte Unterrichtsvorhaben

Hinweis: Thema, Inhaltsfelder, inhaltliche Schwerpunkte, Kompetenzen und Absprachen zur vorhabenbezogenen Konkretisierung hat die
Fachkonferenz verbindlich vereinbart. In allen anderen Bereichen (Unterrichtssequenzen und verwendeten Beispiele, Medien und Materialien) sind
Abweichungen von den vorgeschlagenen Vorgehensweisen möglich. Darüber hinaus enthält dieser schulinterne Lehrplan in den Kapiteln 2.2 bis 2.3
übergreifende sowie z. T. auch jahrgangsbezogene Absprachen zur fachmethodischen und fachdidaktischen Arbeit, zur Leistungsbewertung und zur
Leistungsrückmeldung. Je nach internem Steuerungsbedarf können solche Absprachen auch vorhabenbezogen vorgenommen werden. Der jeweils
angegebene Zeitbedarf stellt eine Schätzung dar und kann je nach Lernvoraussetzung im Kurs davon abweichen.

I) Einführungsphase – Grundkurs
Im Folgenden sollen die in Abschnitt 1 aufgeführten Unterrichtsvorhaben konkretisiert werden. Diese Konkretisierung hat vorschlagenden
Charakter, ohne die pädagogische Freiheit des Lehrenden einschränken zu wollen.

Die übergeordneten Kompetenzen des Kompetenzbereichs „Kommunizieren und Kooperieren“ werden in jedem Unterrichtsvorhaben erworben
bzw. vertieft und sind daher nicht jedes Mal erneut aufgeführt.

Kommunizieren und Kooperieren (K)

Schülerinnen und Schüler
      verwenden Fachausdrücke bei der Kommunikation über informatische Sachverhalte,
      kommunizieren und kooperieren in Gruppen und in Partnerarbeit,
      präsentieren Arbeitsabläufe und Arbeitsergebnisse.

                                                                Seite 9 von 45
Unterrichtsvorhaben Nr. 1

Thema: Überblick über das Fach Informatik, Grundlagen von Informatiksystem und Geschichte der Informatik

Leitfragen: Mit welchen Themen befasst sich das Fach Informatik in der Schule? Wie funktioniert ein moderner Computer? Welche Entwicklung
durchlief die moderne Datenverarbeitung?

Zeitbedarf: 6 Stunden

Vorhabenbezogene Konkretisierung:

Das erste Unterrichtsvorhaben stellt eine allgemeine Einführung in das Fach Informatik dar. Da einige Schülerinnen und Schüler das Fach zum ersten
Mal in der Einführungsphase belegen, wird zu Beginn ein Überblick über die Themen des Schulfachs Informatik gegeben. Unter anderem wird auf
den zentralen Begriff der Information eingegangen und die Möglichkeit der Codierung von Daten, insbesondere wird die Binärdarstellung von Zahlen
thematisiert. Stationen der geschichtlichen Entwicklung werden angesprochen wie z.B. von-Neumann-Architektur und das EVA-Prinzip. Außerdem
werden die Schülerinnen und Schüler in die konkrete Nutzung der Informatiksysteme an der Schule eingewiesen.

                                                                 Seite 10 von 45
Unterrichtssequenzen            zu entwickelnde Kompetenzen                                                  Beispiele, Medien,
                                                                                                             Materialien
1. Allgemeine Einführung        Die Schülerinnen und Schüler                                                 Schulnetzwerk
a) Übersicht über das Fach       nutzen die im Unterricht eingesetzten Informatiksysteme selbstständig,     Lernplattform moodle
b) Einführung in die                sicher, zielführend und verantwortungsbewusst (D),
Informatiksysteme der Schule     nutzen das verfügbare Informatiksystem zu strukturierten Verwaltung und
                                    gemeinsamen Verwendung von Daten unter Berücksichtigung der
                                    Rechteverwaltung (K),
                                 nutzen das Internet zur Recherche, zum Datenaustausch und zur
                                    Kommunikation (K).

2. Grundlagen von               Die Schülerinnen und Schüler                                               Beispiel: Algebra im Binär-
Informatiksystemen und           stellen ganze Zahlen und Zeichen in Binärcodes dar (D),                  und Dezimalsystem
Überblick über die Geschichte    interpretieren Binärcodes als Zahlen und Zeichen (D),
der Informatik                   beschreiben und erläutern den strukturellen Aufbau und die Arbeits-weise
a) Darstellung von Zahlen im        singulärer Rechner am Beispiel der „Von-Neumann-Architektur“ (A).
    Binärsystem                  erläutern wesentliche Grundlagen der Geschichte der digitalen
b) Von-Neumann-Architektur          Datenverarbeitung (A).
c) Geschichte der
    Datenverarbeitung

Unterrichtsvorhaben Nr. 2

Thema: Grundlagen der imperativen Programmierung mit Java, einfache Algorithmik und Datenstrukturen

Leitfragen:Wie ist ein Java-Programm aufgebaut? Welche Datentypen und Kontrollstrukturen stehen in Java zur Verfügung und wie nutzt man
diese? Wie verläuft der Entwicklungsprozess eines Java-Programms? Wie kann man zusammengehörige Daten gleichen Typs strukturiert speichern?

Zeitbedarf: 34 Stunden

                                                              Seite 11 von 45
Vorhabenbezogene Konkretisierung:

Die Schülerinnen und Schüler erarbeiten die Grundlagen der imperativen Programmierung mit Java anhand einer grafischen
Programmierumgebung. Zu den Grundlagen zählen: einfache Datentypen, Variablenkonzept, Wertzuweisungen, Kontrollstrukturen und das
Methodenkonzept. Die Schülerinnen und Schüler wenden ihr Wissen kontextbezogen auf kleinere Problemstellungen an. Dabei durchlaufen sie den
kontinuierlichen Prozess von Entwurf, Implementieren, Compilieren und Testen.

Unterrichtssequenzen              zu entwickelnde Kompetenzen                                                Beispiele, Medien,
                                                                                                             Materialien
1. Einführung in die          Die Schülerinnen und Schüler                                                   Java-Hamster-Simulator
Programmierung                     analysieren und erläutern einfache Algorithmen und Programme (A),        Leitprogramm „Einführung
a) Erste Schritte                  modifizieren einfache Algorithmen und Programme (I),                     in die Programmierung“
b) Programmaufbau                  entwerfen einfache Algorithmen und stellen sie umgangssprachlich         JavaEditor
c) Datentypen und Operationen        und grafisch dar (M),                                                   Lerntagebuch
d) Variablen                       implementieren Algorithmen unter Verwendung von Variablen und            Struktogramme
e) Verzweigungen                     Wertzuweisungen, Kontrollstrukturen sowie Methodenaufrufen (I),         Lehrbuch
f) Schleifen                       testen Programme schrittweise anhand von Beispielen (I).
g) Methoden
h) Array

Unterrichtsvorhaben Nr. 3
Thema: Grundlagen der objektorientierten Modellierung und Implementierung

Leitfragen: Was sind Objekte, was sind Klassen? Wie programmiert man objektorientiert? Was bedeutet Kapselung, Polymorphie und Vererbung?
Wie lassen sich Datenflüsse und Beziehungen zwischen Objekten und Klassen realisieren und visualisieren?

Zeitbedarf: 30 Stunden

Vorhabenbezogene Konkretisierung:

                                                                 Seite 12 von 45
Zunächst erarbeiten die Schülerinnen und Schüler die Bedeutungen der Begriffe Objekt und Klasse anhand alltäglicher Beispiele. Sie modellieren
und implementieren einfache Klassen und stellen diese mithilfe von UML-Diagrammen und Implementationsdiagrammen dar. Neben der Erzeugung
von Objekten erlernen sie auch deren Benutzung und Interaktionen untereinander.

Komplexere Modelle werden im Rahmen eines Softwareprojektes selbstständig umgesetzt. Hier können zum Beispiel Umgebungen wie BlueJ oder
Greenfoot eingesetzt werden. Die Klassen des Projektes werden schrittweise durch Vererbung konkretisiert und deren Funktion implementiert.
Dabei werden die bereits erlernten Grunddatentypen und verschiedenen Arten von Methoden in anderem Zusammenhang angewendet und
eingeübt. Insbesondere wird das Geheimnisprinzip vertieft. Das Projekt wird dabei geeignet dokumentiert.
Unterrichtssequenzen             zu entwickelnde Kompetenzen                                                    Beispiele, Medien,
                                                                                                                Materialien
1. Einführung in die           Die Schülerinnen und Schüler                                                     Moodle
Objektorientierung                  ermitteln bei der Analyse einfacher Problemstellungen Objekte, ihre        BlueJ
a) Was ist ein Objekt? Was ist        Eigenschaften, ihre Operationen und ihre Beziehungen (M),                 Greenfoot
    eine Klasse?                    modellieren Klassen mit ihren Attributen, ihren Methoden und               JavaEditor
b) Objekte erzeugen                   Assoziationsbeziehungen (M),
c) Darstellung / Verhalten von      modellieren Klassen unter Verwendung von Vererbung (M),
    Objekten                        ordnen Attributen, Parametern und Rückgaben von Methoden einfache
d) Methoden und Attribute             Datentypen, Objekttypen oder lineare Datensammlungen zu (M),
e) Objektinteraktion                ordnen Klassen, Attributen und Methoden ihren Sichtbarkeitsbereich zu
f) Objektreferenzen                   (M),
g) Vererbung                        beobachten den Zustand eines Objekts dar (D),
h) Geheimnisprinzip                 stellen Klassen, Assoziations- und Vererbungsbeziehungen in
                                      Diagrammen grafisch dar (D),
                                    dokumentieren Klassen durch Beschreibung der Funktionalität der Me-
                                      thoden (D),
                                    analysieren und erläutern eine objektorientierte Modellierung (A),
                                    implementieren Klassen in einer Programmiersprache auch unter
                                      Nutzung dokumentierter Klassenbibliotheken (I).

Unterrichtsvorhaben Nr. 4

                                                               Seite 13 von 45
Thema: Aufbau einfacher Such- und Sortierverfahren sowie ihre Anwendung auf die Datenstruktur Array

Leitfragen: Wie geht man beim Suchen und Sortieren von Datenmengen vor? Wie kann man Daten in einem Array suchen und sortieren? Wie
effizient ist ein Algorithmus hinsichtlich seines Laufzeitverhaltens?

Zeitbedarf: 18 Stunden

Vorhabenbezogene Konkretisierung:

Aufbauend auf den programmiertechnischen Grundlagen des letzten Unterrichtsvorhabens können die Schülerinnen und Schüler nun ihr Wissen
kontextbezogen anwenden:

Die Schülerinnen und Schüler erarbeiten die Grundlagen von mindestens zwei einfachen Sortierverfahren selbstständig und individuell. Sie
analysieren das Laufzeitverhalten und Speicherbedarf der Algorithmen.
Unterrichtssequenzen             zu entwickelnde Kompetenzen                                                   Beispiele, Medien,
                                                                                                               Materialien
1. Funktionsweise und Analyse    Die Schülerinnen und Schüler                                                  Leitprogramm der ETH
von Such- und                         analysieren Such- und Sortieralgorithmen und wenden sie auf Beispiele Zürich Sortierverfahren
Sortieralgorithmen                      an (D),
                                      beurteilen die Effizienz von Algorithmen am Beispiel von
                                        Sortierverfahren hinsichtlich Zeitaufwand und Speicherplatzbedarf (A).
2. Implementierung und           Die Schülerinnen und Schüler                                                  Moodle
Analyse einfacher Sortier- und        implementieren Algorithmen zum Suchen und Sortieren (I).                JavaEditor
Suchverfahren auf Arrays

                                                              Seite 14 von 45
II)/III) Qualifikationsphase – Grundkurs/Leistungskurs
Die Aufstellung der Unterrichtsvorhaben erfolgt für den Grundkurs und den Leistungskurs
kombiniert.

Die folgenden Kompetenzen aus dem Bereich Kommunizieren und Kooperieren werden in
allen Unterrichtsvorhaben der Qualifikationsphase vertieft und sollen aus Gründen der
Lesbarkeit nicht in jedem Unterrichtsvorhaben separat aufgeführt werden:

Die Schülerinnen und Schüler
   verwenden die Fachsprache bei der Kommunikation über informatische Sachverhalte (K),
   nutzen bereitgestellte Informatiksysteme und das Internet reflektiert zur Erschließung,
    Aufbereitung und Präsentation fachlicher Inhalte (D),
   nutzen das verfügbare Informatiksystem zur strukturierten Verwaltung von
    Dateien unter Berücksichtigung der Rechteverwaltung
    /Daten, zur Organisation von Arbeitsabläufen sowie zur Verteilung und
    Zusammenführung von Arbeitsanteilen (K),
   organisieren und koordinieren kooperatives und eigenverantwortliches Arbeiten (K),
   strukturieren den Arbeitsprozess, vereinbaren Schnittstellen und führen Ergebnisse
    zusammen (K),
   beurteilen Arbeitsorganisation, Arbeitsabläufe und Ergebnisse (K),
   präsentieren Arbeitsabläufe und -ergebnisse adressatengerecht (K).

Ebenso bieten fast alle Unterrichtsvorhaben, in denen Programme implementiert werden,
die Gelegenheit, die folgenden Kompetenzen zu erwerben bzw. zu vertiefen:

Schülerinnen und Schüler
   nutzen die Syntax und Semantik einer Programmiersprache bei der Implementierung und
    zur Analyse von Programmen (I),
   beurteilen die syntaktische Korrektheit und die Funktionalität von Programmen (A),
   interpretieren Fehlermeldungen und korrigieren den Quellcode (I),
   wenden eine didaktisch orientierte Entwicklungsumgebung (didaktisch orientierte
    Entwicklungsumgebungen) zur Demonstration, zum Entwurf, zur Implementierung und
    zum Test von Informatiksystemen an (I),
   entwickeln mit didaktisch orientierten Entwicklungsumgebungen einfache
    Benutzungsoberflächen zur Kommunikation mit einem Informatiksystem (M).

                                                                                          15
Unterrichtsvorhaben Q1-I

Thema: Prinzipielle Arbeitsweise eines Computers und maschinennahe Sprachen

Leitfragen: Was sind die strukturellen Hauptbestandteile eines Computers und wie kann man sich die Ausführung eines maschinenahen Programms
mit diesen Komponenten vorstellen? Welche Möglichkeiten bieten Informatiksysteme und wo liegen ihre Grenzen?

Zeitbedarf: 10 Stunden

Absprachen zur vorhabenbezogene Konkretisierung:
Anhand einer von-Neumann-Architektur und einem maschinennahen Programm wird die prinzipielle Arbeitsweise von Computern verdeutlicht.

Ausgehend von den prinzipiellen Grenzen endlicher Automaten liegt die Frage nach den Grenzen von Computern bzw. nach Grenzen der
Automatisierbarkeit nahe. Es werden Vor- und Nachteile der Grenzen der Automatisierbarkeit angesprochen und der Einsatz von
Informatiksystemen hinsichtlich prinzipieller Möglichkeiten und prinzipieller Grenzen beurteilt.

Lernmittel / Materialien:
   Arbeitsblätter in der moodle-Plattform
   geeigneter Modellrechner (z. B. Johnny, WinAli, Microprocessor Simulator, o. a.)

                                                                                                                                         16
Unterrichtssequenzen                                        zu entwickelnde Kompetenzen                     Beispiele, Medien,
                                                                                                            Materialien
1. Von-Neumann-Architektur und die Ausführung               Die Schülerinnen und Schüler                    geeigneter Modellrechner
maschinennaher Programme:                                    erläutern die Ausführung eines einfachen       Johnny
 prinzipieller Aufbau einer von Neumann-Architektur mit        maschinennahen Programms sowie die           WinAli
    CPU, Rechenwerk, Steuerwerk, Register und Hauptspeicher     Datenspeicherung auf einer „Von-             Microprocessor
 einige maschinennahe Befehlen und ihre Repräsentation in      Neumann-Architektur“ (A),                      Simulator
    einem Binär-Code, der in einem Register gespeichert      untersuchen und beurteilen Grenzen des
    werden kann                                                 Problemlösens mit Informatiksystemen (A).
 Analyse und Erläuterung der Funktionsweise eines
    einfachen maschinennahen Programms

                                                                                                                                       17
Unterrichtsvorhaben Q1-II

Thema: Rekursive Algorithmen und Backtracking in Anwendungskontexten

Leitfragen: Wie können komplexe, rekursiv definierte Probleme informatisch gelöst werden? Gibt es schnelle (rekursiv definierte) Sortier- und
Suchverfahren?

Zeitbedarf: 15/25 Stunden

Absprachen zur vorhabenbezogene Konkretisierung:
Ausgehend vom einem Problem wie z. B. "Türme von Hanoi" wird Rekursion als fundamentale Idee der Informatik zunächst im mathematischen,
danach aber auch im informatischen Zusammenhang angewendet. Dabei wird zwischen linearen und verzweigten Rekursionen unterschieden und
das Laufzeitverhalten bei hoher Rekursionstiefe analysiert.

Verschiedene NP-vollständige Probleme (wie z. B. Rucksack, n-Damen, Springer, Irrgarten, etc.) werden algorithmisch rekursiv formuliert und als
Backtracking-Algorithmus implementiert.

Bereits bekannte Such- und Sortierverfahren (z. B. Sortieren durch Einfügen, Sortieren durch Auswahl, Sequentielle Suche) werden rekursiv
formuliert und durch leistungsfähigere Verfahren (z. B. Quicksort, Mergesort, Heapsort, Binäre Suche) ergänzt. Die neuen Verfahren werden
implementiert.

Lernmittel / Materialien:
   Arbeitsblätter in der moodle-Plattform
   eine didaktische Entwicklungsumgebung (z. B. Java-Editor o. a.)

                                                                                                                                                18
Unterrichtssequenzen                                 zu entwickelnde Kompetenzen                             Beispiele, Medien, Materialien
1. Entwicklung der Rekursion als fundamentale Idee   Die Schülerinnen und Schüler                            Türme von Hanoi mit
der Informatik                                        analysieren und erläutern Algorithmen und             Schwerpunkt auf
 rekursive Formeln                                      Programme (A),                                       Zahl der
 rekursive Funktionen / Methoden                     modifizieren Algorithmen und Programme (I),              Versetzungsoperationen
 rekursive Programmierung                                                                                    Protokollierung der
                                                                                                                Versetzungen

2. Rekursion in mathematischen und informatischen    Die Schülerinnen und Schüler                               Fakultätsfunktion (lineare
Kontexten                                             analysieren und erläutern Algorithmen und                 Rekursion)
 Rekursion in mathematischen Kontexten                  Programme (A),                                         Fibonacci-Funktion
 Analyse und Darstellung des rekursiven Ablaufs      modifizieren Algorithmen und Programme (I),               (verzweigte Rekursion)
    einer Methode                                     stellen iterative und rekursive Algorithmen              ggT (verzweigte Rekursion)
 Analyse des Laufzeitverhaltens linearer und            umgangssprachlich und grafisch dar (D),                evtl. Fraktale (Kochkurve,
    verzweigter Rekursion                             testen Programme systematisch anhand von                  Sierpinskidreieck, etc.)
                                                         Beispielen und mit Hilfe von Testanwendungen (I).
                                                      untersuchen und beurteilen Grenzen des
                                                         Problemlösens mit Informatiksystemen (A).
3. NP-vollständige Probleme lösen mit Backtracking   Die Schülerinnen und Schüler                               Rucksackproblem
 Erarbeitung verschiedener NP-vollständiger          analysieren und erläutern Algorithmen und                Irrgartenproblem
    Probleme                                             Programme (A),                                         Projektarbeit zu einer
 Algorithmische Beschreibung einer Lösungsidee       modifizieren Algorithmen und Programme (I),               Problemstellung
 Implementierung eines Problems als                  stellen iterative und rekursive Algorithmen
    Backtrackingalgorithmus                              umgangssprachlich und grafisch dar (D),
                                                      entwickeln iterative und rekursive Algorithmen
                                                         unter Nutzung der Strategien „Modularisierung“
                                                         und „Teilen und Herrschen“ und "Backtracking"
                                                         (M)
                                                      testen Programme systematisch anhand von
                                                         Beispielen und mit Hilfe von Testanwendungen (I).
                                                      untersuchen und beurteilen Grenzen des
                                                         Problemlösens mit Informatiksystemen (A).

                                                                                                                                              19
4. Effiziente Sortierverfahren / Suchverfahren       Die Schülerinnen und Schüler                             Demonstrationsprogramm
 Wiederholung bereits bekannter Sortier- und         analysieren und erläutern Algorithmen und               zur Visualisierung von
    Suchverfahren als rekursiver Algorithmus             Programme (A),                                        Sortierverfahren
 Erarbeitung eines Sortierverfahrens der Laufzeit    modifizieren Algorithmen und Programme (I),            Quicksortvisualisierung zur
    O(n*log(n))                                       stellen iterative und rekursive Algorithmen             Erarbeitung der Idee
 Erarbeitung eines Suchverfahrens der Laufzeit          umgangssprachlich und grafisch dar (D),              Suchspiel zur Erarbeitung der
    O(log(n)).                                        entwickeln iterative und rekursive Algorithmen          Binären Suche
                                                         unter Nutzung der Strategien „Modularisierung“
                                                         und „Teilen und Herrschen“ und "Backtracking"
                                                         (M),
                                                      testen Programme systematisch anhand von
                                                         Beispielen und mit Hilfe von Testanwendungen (I).
                                                      implementieren und erläutern iterative und
                                                         rekursive Such- und Sortierverfahren
                                                         unterschiedlicher Komplexitätsklassen
                                                         (Speicherbedarf und Laufzeitverhalten) (I),
                                                      beurteilen die Effizienz von Algorithmen unter
                                                         Berücksichtigung des Speicherbedarfs und der
                                                         Zahl der Operationen (A),
                                                      untersuchen und beurteilen Grenzen des
                                                         Problemlösens mit Informatiksystemen (A).

                                                                                                                                           20
Unterrichtsvorhaben Q1-III

Thema: Modellierung und Implementierung dynamischer Listenstrukturen und deren Anwendungen

Leitfragen: Wie können beliebig viele linear angeordnete Daten im Anwendungskontext verwaltet werden?

Zeitbedarf: 25/30 Stunden

Absprachen zur vorhabenbezogene Konkretisierung:
Nach Analyse einer Problemstellung in einem geeigneten Anwendungskontext, in dem Daten nach dem Last-In-First-Out-Prinzip verwaltet
werden, werden der Aufbau von Stapeln am Beispiel dargestellt und die Operationen der Klasse Stack anhand der Abiturklasse erläutert.
Anschließend werden für die Anwendung notwendige Klassen modelliert und implementiert.

Anschließend wird die Anwendung modifiziert, um den Umgang mit der Datenstruktur zu üben. Anhand einer Anwendung, in der Daten nach dem
First-In-First-Out-Prinzip verwaltet werden, werden Unterschiede zwischen den Datenstrukturen Schlange und Stapel erarbeitet. Dabei werden
die Operationen der Datenstruktur Schlange thematisiert und die entsprechende Abiturklasse Queue verwendet.

Um einfacher an Objekte zu gelangen, die zwischen anderen gespeichert sind, wird die Klasse List gemäß der Abiturklasse eingeführt und in einem
Anwendungskontext verwendet.

(Je nach thematisierten Anwendungskontexten ist eine andere Reihenfolge bei der Behandlung der oben genannten Datenstrukturen möglich und
zulässig.)

In mindestens einem weiteren Anwendungskontext wird die Verwaltung von Daten in Schlangen, Stapeln oder Listen vertieft. Modellierungen
werden dabei in Entwurfs- und Implementationsdiagrammen dargestellt.

Lernmittel / Materialien:
   Arbeitsblätter in der moodle-Plattform
   eine didaktische Entwicklungsumgebung (z. B. Java-Editor o. a.)
   Zeigermodell
   Modellprogramm zur Visualisierung dynamischer Listenstrukturen

                                                                Seite 21 von 45
Unterrichtssequenzen                                 zu entwickelnde Kompetenzen                             Beispiele, Medien, Materialien
1. Die Datenstruktur Stapel im Anwendungskontext     Die Schülerinnen und Schüler                            Visualisierungsprogramm zu
unter Nutzung der Klasse Stack                        ermitteln bei der Analyse von Problemstellungen       dynamischen Datenstrukturen
 Analyse der Problemstellung, Ermittlung von            Objekte, ihre Eigenschaften, ihre Operationen und
    Objekten, ihren Eigenschaften und Operationen        ihre Beziehungen (M),
 Erarbeitung der Funktionalität der Klasse Stack     stellen lineare und nichtlineare Strukturen
 Modellierung und Implementierung der                   grafisch dar und erläutern ihren Aufbau (D),
    Anwendung unter Verwendung der Klasse Stack.      modellieren Klassen mit ihren Attributen,
 Implementierung der Klasse Stack                       Methoden und ihren Assoziationsbeziehungen
2. Die Datenstruktur Schlange im Anwendungskontext       unter Angabe von Multiplizitäten (M),               Visualisierungsprogramm zu
unter Nutzung der Klasse Queue                        ordnen Attributen, Parametern und Rückgaben           dynamischen Datenstrukturen
 Analyse der Problemstellung, Ermittlung von            von Methoden einfache Datentypen, Objekttypen
    Objekten, ihren Eigenschaften und Operationen        sowie lineare und nichtlineare Datensammlungen
 Erarbeitung der Funktionalität der Klasse Queue        zu (M),
 Modellierung und Implementierung der                ordnen Klassen, Attributen und Methoden ihre
    Anwendung unter Verwendung der Klasse Queue.         Sichtbarkeitsbereiche zu (M),
 Implementierung der Klasse Queue                    stellen die Kommunikation zwischen Objekten
3. Die Datenstruktur lineare Liste im                    grafisch dar (D),                                   Visualisierungsprogramm zu
Anwendungskontext unter Nutzung der Klasse List       stellen Klassen und ihre Beziehungen in               dynamischen Datenstrukturen
 Erarbeitung der Vorteile der Klasse List im            Diagrammen grafisch dar (D),                        Einfache Oberfläche zur
    Gegensatz zu den bereits bekannten linearen       dokumentieren Klassen (D),                            Visualisierung der linearen Liste,
    Strukturen                                        analysieren und erläutern objektorientierte           z. B. die Verwaltung einer
 Modellierung und Implementierung einer                 Modellierungen (A),                                 Namensliste
    kontextbezogenen Anwendung unter                  implementieren Klassen in einer
    Verwendung der Klasse List.                          Programmiersprache auch unter Nutzung
 Implementierung der Klasse List                        dokumentierter Klassenbibliotheken (I).
                                                      analysieren und erläutern Algorithmen und
                                                         Programme (A),
                                                      modifizieren Algorithmen und Programme (I),
                                                      stellen iterative und rekursive Algorithmen
                                                         umgangssprachlich und grafisch dar (D),
                                                      implementieren iterative und rekursive
                                                         Algorithmen auch unter Verwendung von
                                                         dynamischen Datenstrukturen (I),

                                                              Seite 22 von 45
  testen Programme systematisch anhand von
                                              Beispielen und mit Hilfe von Testanwendungen (I).
                                            erläutern Operationen dynamischer (linearer
                                              oder/und nicht-linearer) Datenstrukturen (A),
                                            implementieren Operationen dynamischer
                                              (linearer oder nicht-linearer) Datenstrukturen (I),
4. Vertiefung / Anwendung einer linearen   zusätzlich: Die Schülerinnen und Schüler               Umsetzung in einem größeren
Datenstruktur im Anwendungskontext.         modellieren abstrakte und nicht abstrakte Klassen Projekt
                                              unter Verwendung von Vererbung durch
                                              Spezialisieren und Generalisieren (M),
                                            verwenden bei der Modellierung geeigneter
                                              Problemstellungen Möglichkeiten der
                                              Polymorphie (M),

                                                   Seite 23 von 45
Unterrichtsvorhaben Q1-IV
Thema: Modellierung und Implementierung von Anwendungen mit dynamischen, nichtlinearen Datenstrukturen am Beispiel der Binärbäume

Leitfragen: Wie können Daten im Anwendungskontext mit Hilfe binärer Baumstrukturen verwaltet werden? Wie kann dabei der rekursive Aufbau
der Baumstruktur genutzt werden? Welche Vor- und Nachteile haben Suchbäume für die geordnete Verwaltung von Daten?

Zeitbedarf: 15/25 Stunden

Absprachen zur vorhabenbezogene Konkretisierung:
Anhand von Beispielen für Baumstrukturen werden grundlegende Begriffe eingeführt und der rekursive Aufbau binärer Bäume dargestellt.

Anschließend werden für eine Problemstellung in einem der Anwendungskontexte Klassen modelliert und implementiert. Dabei werden die
Operationen der Datenstruktur Binärbaum thematisiert und die entsprechende Klasse BinaryTree der Vorgaben für das Zentralabitur NRW
verwendet. Klassen und ihre Beziehungen werden in Entwurfs- und Implementationsdiagrammen dargestellt. Die Funktionsweise von Methoden
wird anhand grafischer Darstellungen von Binärbäumen erläutert.

Unter anderem sollen die verschiedenen Baumtraversierungen (Pre-, Post- und Inorder) implementiert werden. Unterschiede bezüglich der
Möglichkeit, den Baum anhand der Ausgabe der Bauminhalte via Pre-, In- oder Postorder-Traversierung zu rekonstruieren, werden dabei ebenfalls
angesprochen, indem die fehlende Umkehrbarkeit der Zuordnung Binärbaum => Inorder-Ausgabe an einem Beispiel verdeutlicht wird.

Eine Tiefensuche wird verwendet, um einen in der Baumstruktur gespeicherten Inhalt zu suchen.

Zu einer Problemstellung in einem entsprechenden Anwendungskontext werden die Operationen der Datenstruktur Suchbaum thematisiert und
unter der Verwendung der Klasse BinarySearchTree der Vorgaben für das Zentralabitur weitere Klassen oder Methoden in diesem Kontext
modelliert und implementiert. Die Suchbäume werden wie zuvor auch grafisch dargestellt.

Die Verwendung von binären Bäumen und Suchbäumen wird anhand weiterer Problemstellungen oder anderer Kontexten weiter geübt.

Lernmittel / Materialien:
   eine didaktische Entwicklungsumgebung (z. B. Java-Editor o. a.)
   Arbeitsblätter und Demonstrationsprogramme in der moodle-Plattform
   Modellprogramm zur Visualisierung dynamischer Listenstrukturen

                                                               Seite 24 von 45
Unterrichtssequenzen                                 zu entwickelnde Kompetenzen                                Beispiele, Medien, Materialien
1. Analyse von Baumstrukturen in verschiedenen       Die Schülerinnen und Schüler                                Demoprogramm und
Kontexten                                             ermitteln bei der Analyse von Problemstellungen             Arbeitsblätter zum Projekt
 Grundlegende Begriffe (Grad, Tiefe, Höhe, Blatt,       Objekte, ihre Eigenschaften, ihre Operationen und ihre    Akinator
    Inhalt, Teilbaum, Ebene, Vollständigkeit)            Beziehungen (M),
 Aufbau und Darstellung von binären Bäumen             stellen lineare und nichtlineare Strukturen grafisch dar
    anhand von Baumstrukturen in verschiedenen           und erläutern ihren Aufbau (D),
    Kontexten                                           modellieren Klassen mit ihren Attributen, Methoden
                                                         und ihren Assoziationsbeziehungen unter Angabe von
2. Die Datenstruktur Binärbaum im                                                                                      Arbeitsblätter zur
                                                         Multiplizitäten (M),
Anwendungskontext unter Nutzung der Klasse                                                                              Projektarbeit Akinator
                                                        modellieren abstrakte und nicht abstrakte Klassen
BinaryTree
                                                         unter Verwendung von Vererbung durch Spezialisieren
                                                                                                                       Traversierungsverfahren
 Analyse der Problemstellung, Ermittlung von            und Generalisieren (M),                                       Projektarbeit Morsebaum
    Objekten, ihren Eigenschaften und Operationen       ordnen Attributen, Parametern und Rückgaben von
    im Anwendungskontext                                 Methoden einfache Datentypen, Objekttypen
 Modellierung eines Entwurfsdiagramms und               sowie/oder lineare und nichtlineare
    Entwicklung eines Implementationsdiagramms           Datensammlungen zu (M),
 Erarbeitung der Klasse BinaryTree und                 verwenden bei der Modellierung geeigneter
    beispielhafte Anwendung der Operationen              Problemstellungen Möglichkeiten der Polymorphie
 Implementierung der Anwendung oder von Teilen          (M),
    der Anwendung                                       ordnen Klassen, Attributen und Methoden ihre
 Traversierung eines Binärbaums im Pre-, In- und        Sichtbarkeitsbereiche zu (M),
    Postorderdurchlauf                                  stellen Klassen und ihre Beziehungen in Diagrammen
 Implementierung der Standardoperationen der            grafisch dar (D),
    Klasse BinaryTree                                   dokumentieren Klassen (D),
3. Die Datenstruktur binärer Suchbaum im                analysieren und erläutern objektorientierte                   Arbeitsblätter zum binären
                                                         Modellierungen (A),
Anwendungskontext unter Verwendung der Klasse                                                                           Suchbaum
                                                        implementieren Klassen in einer Programmiersprache
BinarySearchTree                                                                                                       Arbeitsblätter zum
                                                         auch unter Nutzung dokumentierter
 Analyse der Problemstellung, Ermittlung von                                                                           Baumsortieren und zu
                                                         Klassenbibliotheken (I).
    Objekten, ihren Eigenschaften und Operationen                                                                       Traversierungsverfahren
                                                        analysieren und erläutern Algorithmen und
 Modellierung eines Entwurfsdiagramms und               Programme (A),
    Entwicklung eines Implementationsdiagramm,          modifizieren Algorithmen und Programme (I),
 grafische Darstellung eines binären Suchbaums
    und Erarbeitung der Struktureigenschaften

                                                               Seite 25 von 45
   Erarbeitung der Klasse BinarySearchTree und          stellen iterative und rekursive Algorithmen
    Einführung des Interface Item zur Realisierung        umgangssprachlich und grafisch dar (D),
    einer geeigneten Ordnungsrelation                    entwickeln iterative und rekursive Algorithmen unter
 Implementierung der Anwendung oder von Teilen           Nutzung der Strategien „Modularisierung“ und „Teilen
    der Anwendung inklusive einer sortierten              und Herrschen“ und „Backtracking“ (M),
    Ausgabe des Baums                                    implementieren iterative und rekursive Algorithmen
                                                          auch unter Verwendung von dynamischen
 Implementierung ausgewählter
                                                          Datenstrukturen (I),
    Standardoperationen der Klasse BinarySearchTree
                                                         testen Programme systematisch anhand von
4. Übung und Vertiefungen der Verwendung von
                                                          Beispielen und mit Hilfe von Testanwendungen (I).
                                                                                                                  Projektarbeiten zu einem der
Binärbäumen oder binären Suchbäumen anhand                                                                         Themen Termbäume,
                                                         erläutern Operationen dynamischer (linearer oder/und
weiterer Problemstellungen                                nicht-linearer) Datenstrukturen (A),                     Morsebäume,
                                                         implementieren Operationen dynamischer (linearer         Stichwortbaum, Ahnenbaum
                                                          oder nicht-linearer) Datenstrukturen (I),

                                                               Seite 26 von 45
Unterrichtsvorhaben Q1-V

Thema: Modellierung und Implementierung dynamischer nichtlinearer Datenstrukturen am Beispiel der Graphen

Leitfragen: Bei welchen Problemstellungen reichen die bekannten Datenstrukturen nicht aus? Welche Möglichkeiten gibt es, flexibel miteinander
verknüpfte Informationen zu verwalten? Wie hängen die Datenstrukturen Graph, Baum und Liste zusammen?

Zeitbedarf: 15 Stunden

Absprachen zur vorhabenbezogene Konkretisierung:
Nach Analyse einer Problemstellung in einem geeigneten Anwendungskontext (z. B. das Eulerkreisproblem), in dem Daten in Form eines Graphen
verwaltet werden, werden der Aufbau und die Darstellungsformen von Graphen am Beispiel dargestellt und ausgewählte Problemstellungen
exemplarisch analysiert.

Die Operationen der Klasse Graph werden erläutert und im Anwendungszusammenhang bei der Lösung grundlegender Probleme (wie z.B. der
Traversierung eines Graphen) genutzt.

Lernmittel / Materialien:
   Arbeitsblätter in der moodle-Plattform
   eine didaktische Entwicklungsumgebung (z. B. Java-Editor o. a.)

                                                                                                                                                27
Unterrichtssequenzen                           zu entwickelnde Kompetenzen                                  Beispiele, Medien, Materialien
1. Die Datenstruktur des Graphen im            Die Schülerinnen und Schüler                                 Eulerkreisproblem:
Anwendungskontext                               ermitteln bei der Analyse von Problemstellungen             Arbeitsblätter zum
 Grundbegriffe (Knoten, Kanten und anderes)       Objekte, ihre Eigenschaften, ihre Operationen und ihre       Eulerweg / Eulerkreis
 Darstellungsformen eines Graphen                 Beziehungen (M),                                          Visualisierungsprogramm
                                                stellen lineare und nichtlineare Strukturen grafisch dar       für Graphen
                                                   und erläutern ihren Aufbau (D),
                                                modellieren Klassen mit ihren Attributen, Methoden
                                                   und ihren Assoziationsbeziehungen unter Angabe von
                                                   Multiplizitäten (M),
                                                modellieren abstrakte und nicht abstrakte Klassen unter
                                                   Verwendung von Vererbung durch Spezialisieren und
                                                   Generalisieren (M),
                                                  ordnen Attributen, Parametern und Rückgaben von
                                                   Methoden einfache Datentypen, Objekttypen sowie
                                                   lineare und nichtlineare Datensammlungen zu (M),
                                                  verwenden bei der Modellierung geeigneter
                                                   Problemstellungen Möglichkeiten der Polymorphie (M),
                                                  ordnen Klassen, Attributen und Methoden ihre
                                                   Sichtbarkeitsbereiche zu (M),
                                                  stellen die Kommunikation zwischen Objekten grafisch
                                                   dar (D),
                                                  stellen Klassen und ihre Beziehungen in Diagrammen
                                                   grafisch dar (D),
                                                  dokumentieren Klassen (D),
                                                  analysieren und erläutern objektorientierte
                                                   Modellierungen (A),
                                                  implementieren Klassen in einer Programmiersprache
                                                   auch unter Nutzung dokumentierter
                                                   Klassenbibliotheken (I).

                                                                                                                                             28
    analysieren und erläutern Algorithmen und Programme
                                                  (A),
                                                 modifizieren Algorithmen und Programme (I),
                                                 stellen iterative und rekursive Algorithmen
                                                  umgangssprachlich und grafisch dar (D),
                                                 entwickeln iterative und rekursive Algorithmen unter
                                                  Nutzung der Strategien „Modularisierung“ und „Teilen und
                                                  Herrschen“ und „Backtracking“ (M),
                                                 implementieren iterative und rekursive Algorithmen
                                                  auch unter Verwendung von dynamischen
                                                  Datenstrukturen (I),
                                                 testen Programme systematisch anhand von Beispielen
                                                  und mit Hilfe von Testanwendungen (I).
                                                 erläutern Operationen dynamischer (linearer oder/und
                                                  nicht-linearer) Datenstrukturen (A),
2. Die Datenstruktur des Graphen im                                                                         Projektarbeit in einem
Anwendungskontext unter Nutzung der Klasse                                                                   größeren Kontext:
Graph                                                                                                         Navigationssystem
 Modellierung von Anwendungssituationen als                                                                  Weiterführung des
    Graph                                                                                                        Eulerkreisproblems
 Analyse der Problemstellung, Ermittlung von                                                                Arbeitsblätter in der moodle-
    Objekten, ihren Eigenschaften und                                                                        Plattform zu:
    Operationen                                                                                               Tiefensuche / Breitensuche
 Erarbeitung der Funktionalität der Klasse                                                                   kürzeste Wege mit Dijkstra
    Graph                                                                                                    mögliche Vertiefungen:
 Modellierung und Implementierung                                                                            Traveling Salesman Problem
    verschiedener Problemstellungen unter                                                                     minimale Spannbäume
    Verwendung der Klasse Graph.

                                                                                                                                             29
Unterrichtsvorhaben Q1-VI/Q1-V

Thema: Modellierung und Nutzung relationaler Datenbanken in Anwendungskontexten

Leitfragen: Wie können Fragestellungen mit Hilfe einer Datenbank beantwortet werden? Wie entwickelt man selbst eine Datenbank für einen
Anwendungskontext?

Zeitbedarf: 20/30 Stunden

Absprachen zur vorhabenbezogene Konkretisierung:
Ausgehend von einer konkreten Anwendungssituation entwickeln die Schülerinnen und Schüler Ideen zur Modellierung von Daten und erkennen
die Vorzüge von Datenbanksystemen.

In weiteren Anwendungskontexten müssen Datenbanken entwickelt werden, um Daten zu speichern und Informationen für die Beantwortung von
möglicherweise auftretenden Fragen zur Verfügung zu stellen. Dafür ermitteln Schülerinnen und Schüler in den Anwendungssituationen Entitäten,
zugehörige Attribute, Relationen und Kardinalitäten und stellen diese in Entity-Relationship-Modellen dar. Entity-Relationship-Modelle werden
interpretiert und erläutert, modifiziert und in das Relationale Modell überführt.

An einem Beispiel wird verdeutlicht, dass in Datenbanken Redundanzen unerwünscht sind und Konsistenz gewährleistet sein sollte. Die 1. bis 3.
Normalform wird als Gütekriterium für Datenbankentwürfe eingeführt. Datenbankschemata werden hinsichtlich der 1. bis 3. Normalform
untersucht und (soweit nötig) normalisiert.

Ausgehend von einer vorhandenen Datenbasis, für die eine Datenbank angelegt und mit den Daten gefüllt wird, entwickeln Schülerinnen und
Schüler für sie relevante Fragestellungen, die mit dem vorhandenen Datenbestand beantwortet werden sollen. Zur Beantwortung dieser
Fragestellungen wird die vorgegebene Datenbank von den Schülerinnen und Schülern analysiert und die notwendigen Grundbegriffe für
Datenbanksysteme sowie die erforderlichen SQL-Abfragen werden erarbeitet.

Mit Hilfe von SQL-Anweisungen können anschließend im Kontext relevante Informationen aus der Datenbank extrahiert werden. Die Operationen
der Relationenalgebra werden mit SQL-Abfragen simuliert.

                                                                Seite 30 von 45
Anhand von Fallbeispielen werden Probleme bei der Nutzung von Datenbanksystemen aufgezeigt und im Hinblick auf gesellschaftliche
Auswirkungen diskutiert.

(Die exakte Abfolge der Teilvorhaben sowie die Verzahnung theoretischer und praktischer Anteile kann hierbei je nach Anwendungskontext
flexibel angepasst werden.)

Lernmittel / Materialien:
   Arbeitsblätter und Demonstrationsprogramme in der moodle-Plattform
   Datenbankserver (z. B. XAMPP)
   SQL-Tutorial (z. B. die Seite SQL-Zoo, VideoCenter-Datenbank)

                                                              Seite 31 von 45
Unterrichtssequenzen                                zu entwickelnde Kompetenzen                            Beispiele, Medien, Materialien
1. Modellierung von relationalen Datenbanken        Die Schülerinnen und Schüler                            Arbeitsblätter zur Einführung in
 Entity-Relationship-Diagramm:                      ermitteln für anwendungsbezogene                        Datenbanken in der moodle-
    Ermittlung von Entitäten, zugehörigen               Problemstellungen Entitäten, zugehörige Attribute,    Plattform
    Attributen, Relationen und Kardinalitäten in        Relationen und Kardinalitäten (M),
    Anwendungssituationen und Modellierung             stellen Entitäten mit ihren Attributen und die
    eines Datenbankentwurfs in Form eines Entity-       Beziehungen zwischen Entitäten mit Kardinalitäten
    Relationship-Diagramms                              in einem Entity-Relationship-Diagramm grafisch dar
                                                        (D),
    Erläuterung und Modifizierung einer
    Datenbankmodellierung                              modifizieren eine Datenbankmodellierung (M),
 Entwicklung einer Datenbank aus einem                modellieren zu einem Entity-Relationship-
                                                        Diagramm ein relationales Datenbankschema (M),
    Datenbankentwurf:
                                                       bestimmen Primär- und Sekundärschlüssel (M),
    Modellierung eines relationalen
                                                       analysieren und erläutern eine
    Datenbankschematas zu einem Entity-
                                                        Datenbankmodellierung (A),
    Relationship-Diagramm inklusive der
                                                       erläutern die Eigenschaften normalisierter
    Bestimmung von Primär- und
                                                        Datenbankschemata (A),
    Sekundärschlüsseln
                                                       überprüfen Datenbankschemata auf vorgegebene
 Redundanz, Konsistenz und Normalformen:               Normalisierungseigenschaften (D),
    Untersuchung einer Datenbank hinsichtlich          überführen Datenbankschemata in die 1. bis 3.
    Konsistenz und Redundanz in einer                   Normalform (M).
    Anwendungssituation.
    Überprüfung von Datenbankschemata
    hinsichtlich der 1. bis 3. Normalform und
    Normalisierung (um Redundanzen zu
    vermeiden und Konsistenz zu gewährleisten)
2. Nutzung von relationalen Datenbanken             Die Schülerinnen und Schüler                            Arbeitsblätter zur Einführung in
 Aufbau von Datenbanken und Grundbegriffe:          modifizieren eine Datenbankmodellierung (M),           SQL in der moodle-Plattform
    Entwicklung von Fragestellungen zur              bestimmen Primär- und Sekundärschlüssel (M),          Tutorial der Seite SQL-Zoo
    vorhandenen Datenbank                            implementieren ein relationales Datenbankschema        (http://sqlzoo.net/wiki/Main_Page)
    Analyse der Struktur der vorgegebenen               als Datenbank (I),                                  VideoCenter-Datenbank

                                                                 Seite 32 von 45
Datenbank und Erarbeitung der Begriffe                analysieren und erläutern eine
    Tabelle, Attribut, Datensatz, Datentyp,                Datenbankmodellierung (A),
    Primärschlüssel, Fremdschlüssel,                      ermitteln Ergebnisse von Datenbankabfragen über
    Datenbankschema                                        mehrere verknüpfte Tabellen (D),
 SQL-Abfragen:                                           analysieren und erläutern die Syntax und Semantik
    Analyse vorgegebener SQL-Abfragen und                  einer Datenbankabfrage (A),
    Erarbeitung der Sprachelemente von SQL                verwenden die Syntax und Semantik einer
    (SELECT (DISTINCT) …FROM, WHERE, AND, OR,              Datenbankabfragesprache, um Informationen aus
    NOT) auf einer Tabelle                                 einen Datenbanksystem zu extrahieren (I).
    Analyse und Erarbeitung von SQL-Abfragen auf          erläutern Eigenschaften und Aufbau von
                                                           Datenbanksystemen unter dem Aspekt der sicheren
    einer und mehrerer Tabelle zur Beantwortung
                                                           Nutzung (A),
    der Fragestellungen (JOIN, UNION, AS, GROUP
    BY,ORDER BY, ASC, DESC, COUNT, MAX, MIN,
    SUM, Arithmetische Operatoren: +, -, *, /, (…),
    Vergleichsoperatoren: =, , >, =,
Sie können auch lesen