Rhein-Sieg-Gymnasium Sankt Augustin - Schulinterner Lehrplan für die gymnasiale Oberstufe Informatik
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
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