Prüfungsteilnehmer Prüfungstermin Einzelprüfungsnummer Kennwort: Frühj ahr 66118 Arbeitsplatz-Nr.: 2 02 1 Erste Staatsprüfung für ein Lehramt an öffentlichen Schulen — Prüfungsaufgaben — Fach: Informatik (vertieft studiert) Einzelprüfung: Fachdidaktik Anzahl der gestellten Themen (Aufgaben): 3 Anzahl der Druckseiten dieser Vorlage: 7 Bitte wenden! Frühjahr 2021 Einzelprüfungsnummer 66118 Seite 2 Thema Nr. 1 Stichworte: Formale Sprachen, Fehler in Schülerlösungen, endliche Automaten, Hefteintrag Der aktuell gültige Lehrplan für die 12. Jahrgangsstufe des bayerischen Gymnasiums (G8) nennt im Zusammenhang mit dem Thema „Formale Sprachen“ zahlreiche Inhalte, unter anderem: e einfache Beispiele für formale Sprachen über einem Alphabet; Zeichen, Zeichenvorrat (Alphabet), Zeichenkette e Unterscheidung zwischen Syntax und Semantik e syntaktischer Aufbau einer formalen Sprache: Grammatik (Terminal, Nichtterminal, Produktion, Startsymbol) e Notation formaler Sprachen: Syntaxdiagramm, einfache Textnotation (z. B. Backus-Naur-Form) e erkennender, endlicher Automat als geeignetes Werkzeug zur Syntaxprüfung für reguläre Sprachen; Implementierung eines erkennenden Automaten Aufgabe 1. Eine formale Sprache, die beispielhaft im Unterricht untersucht werden kann, ist die formale Sprache der ganzen Zahlen {... , -2, -1,0, 1,2, ...}. a) Geben Sie eine Grammatik an, welche diese Sprache erzeugt. b) Beschreiben Sie zwei mögliche Fehler, die Lernende bei der Formulierung dieser Grammatik machen könnten! Erwartet wird eine Beschreibung von Fehlern, die auf Verständnisschwierigkeiten hindeuten könnten. Geben Sie zu jedem beschriebenen Fehler einen aussagekräftigen Kommentar, der für Lernende klärt, was warum falsch ist und Ihnen als Lehrperson hilft, über die Fehlerursachen zu reflektieren. 2. Erstellen Sie zum zweiten Punkt der oben zitierten Inhalte „Unterscheidung zwischen Syntax und Semantik“ einen passenden Tafelanschrieb. Beziehen Sie sich dabei auch auf Aspekte der Syntax und Semantik einer (einfachen) Programmiersprache. 3. In einigen Textverarbeitungsprogrammen werden endliche Automaten verwendet, um nach Zeichenketten innerhalb eines Textes zu suchen. Dazu wird zunächst zu einer gesuchten Zeichenkette ein endlicher Automat generiert. Nehmen Sie der Einfachheit halber an, es liegt ein Text vor, der nur aus den Zeichen 0 und 1 besteht. a) Geben Sie exemplarisch einen deterministischen, endlichen Automaten an, der ein Vorkommen des Musters 10101 in einem Text findet. Versuchen Sie, mit möglichst wenigen Zuständen auszukommen und achten Sie darauf, dass der Automat tatsächlich alle Texte erkennt, in denen das Muster mindestens einmal vorkommt. Fortsetzung nächste Seite! Frühjahr 2021 Einzelprüfungsnummer 66118 Seite 3 b) Eine Schülerin oder ein Schüler fragt, ob man ein Muster in einem Text nicht auch finden kann, ohne einen endlichen Automaten zu entwerfen. Geben Sie eine umgangssprachliche, aber ausreichend präzise Beschreibung an, die die Idee eines möglichen, ganz einfachen („naiven“) Algorithmus gut herausarbeitet und somit die Frage mit „ja“ beantwortet! Sie können Ihre umgangssprachliche Beschreibung auch mit einigen Skizzen illustrieren. c) Nennen und erläutern Sie einen Vorteil der Verwendung eines endlichen Automaten zur Mustererkennung im Vergleich zu Ihrem „naiven“ Verfahren aus Teilaufgabe b). 4. Formulieren Sie abschließend drei Kompetenzerwartungen die Teil einer kompetenzorientierten Version des Lehrplanabschnitts „Formale Sprachen“ sein könnten. Begründen Sie kurz fachdidaktisch, warum Ihnen diese Kompetenzerwartungen wichtig sind. Frühjahr 2021 Einzelprüfungsnummer 66118 Seite 4 Thema Nr. 2 Stichworte: Modellierung, Programmierung, Fundamentale Ideen, Werkzeuge, Algorithmen Im LehrplanPLUS finden Sie für den ,,Lernbereich 3: Grundlagen der objektorientierten Modellierung und Programmierung (ca. 26 Stunden)“ für die 9. Jahrgangsstufe folgenden Text: Kompetenzerwartungen: Die Schülerinnen und Schüler... e analysieren Objekte aus ihrer Erfahrungswelt (z. B. Fahrzeuge, Personen) hinsichtlich ihrer Eigenschaften (Attribute) und Fähigkeiten (Methoden) und abstrahieren sie zu Klassen. Sie stellen Objekte und Klassen als Grundlage einer möglichen Implementierung grafisch dar. e deklarieren eine Klasse sowie die zugehörigen Attribute und Methoden in einer objektorientierten Programmiersprache. e verwenden bei der Implementierung Wertzuweisungen, um Attributwerte zu ändern, und interpretieren diese als Zustandsänderung des zugehörigen Objekts. e formulieren unter Verwendung der Kontrollstrukturen Algorithmen zu geeigneten Problemstellungen, u. a. durch grafische Darstellungen. e implementieren Methoden auf der Grundlage gegebener Algorithmen objektorientiert, wobei sie sich des Unterschiedes zwischen Methodendefinition und Methodenaufruf bewusst sind. Dabei nutzen sie ggf. auch Methoden anderer Klassen. e analysieren, interpretieren und modifizieren Algorithmen, wodurch sie die Fähigkeit erlangen, fremde Programme flexibel einzusetzen und kritisch zu bewerten. e modellieren durch Klassendiagramme einfache Generalisierungshierarchien zu geeigneten Strukturen aus ihrer Erfahrungswelt. e implementieren mithilfe einer objektorientierten Sprache einfache Generalisierungshierarchien; dabei nutzen sie das Konzept der Vererbung sowie die Möglichkeit, Methoden zu überschreiben Inhalte zu den Kompetenzen: e objektorientierte Konzepte, u. a. Objekt, Klasse, Attribut, Attributwert, Methode e Variablenkonzept; Arten von Variablen: Parameter, lokale Variable und Attribute; Übergabewert e \Wertzuweisung zur Änderung von Variablenwerten e Methoden: Methodenkopf, Methodenrumpf, Methodendefinition, Methodenaufruf, Übergabewert, Rückgabewert; Konstruktor als spezielle Methode; Standardmethoden zum Geben und Setzen von Attributwerten e Algorithmus: Strukturelemente, grafische Darstellung, Pseudocode e Datentypen: ganze Zahlen, Gleitkommazahlen, Wahrheitswerte, Zeichen, Zeichenketten e Generalisierung und Spezialisierung: Ober- und Unterklasse, Vererbung von Attributen und Methoden an Unterklassen, Überschreiben von Methoden e Fachbegriffe: Parameter, Übergabewert, Rückgabewert, lokale Variable, Wertzuweisung, Konstruktor, Methodenkopf, Methodenrumpf, Vererbung, Generalisierung, Spezialisierung, Oberklasse, Unterklasse Fortsetzung nächste Seite! Frühjahr 2021 Einzelprüfungsnummer 66118 Seite 5 Aufgabe 1. In obigem Lehrplanabschnitt wird mehrfach „Modellierung“ und „Programmierung“ genannt. a) Grenzen Sie die beiden Begriffe gegeneinander ab und begründen Sie, weshalb man beides im Informatikunterricht benötigt. b) Erläutern Sie das Konzept der „Fundamentalen Ideen“ nach Schwill! Nehmen Sie dabei Bezug auf „Modellierung“ und „Programmierung“. 2. Im Informatikunterricht ist sowohl der Einsatz einer blockbasierten als auch einer textbasierten Sprache denkbar. a) Gehen Sie jeweils auf Vor- und Nachteile der beiden Möglichkeiten anhand konkreter Beispiele ein. b) Entscheiden Sie dann begründet, welche Wahl Sie in der 9. Jahrgangsstufe treffen würden. 3. Im zitierten Lehrplanabschnitt ist die Verwendung von Kontrollstrukturen zur Formulierung von Algorithmen vorgesehen. Es gibt aber keine konkrete Auflistung, welche Kontrollstrukturen besprochen werden sollen. a) Geben Sie einen kurzen Überblick über die Kontrollstrukturen imperativer bzw. objektorientierter Programmiersprachen an, die hier fachlich in Frage kommen könnten. b) Im Hinblick darauf, dass für den gesamten Lehrplanabschnitt 26 Unterrichtsstunden zur Verfügung stehen, kann es notwendig sein, sich auf wenige Kontrollstrukturen beschränken zu müssen. Entscheiden Sie, welche Kontrollstrukturen Sie wählen würden und erklären Sie, in welcher Reihenfolge Sie diese in der 9. Jahrgangsstufe einführen würden! Begründen Sie Ihre Ausführungen. 4. Erstellen Sie für den zitierten Lehrplanabschnitt einen Sequenzplan mit 13 Doppelstunden! Geben Sie für jede dieser Doppelstunden eine kurze, nachvollziehbare Beschreibung der jeweiligen Zielsetzung an. 5. Erstellen Sie eine Feinplanung für eine Doppelstunde zur bedingten Wiederholung unter Verwendung der von Ihnen in Aufgabe 2b) gewählten Art der Programmiersprache. a) Legen Sie zunächst drei beobachtbare Lernziele fest. b) Skizzieren Sie eine Einführungsaufgabe, die die Schülerinnen und Schüler zu diesem Thema bearbeiten sollen. c) Erläutern Sie anschließend den Unterrichtsfortgang nachvollziehbar (textuelle Beschreibung). Begründen Sie dabei Ihre fachdidaktischen Entscheidungen und gruppieren Sie Ihren Text nach Unterrichtsphasen. Frühjahr 2021 Einzelprüfungsnummer 66118 Seite 6 Thema Nr. 3 Der LehrplanPLUS der 7. Jahrgangsstufe (Natur und Technik) des neunjährigen Gymnasiums enthält den folgenden Lehrplanpunkt: NT7 2.3 Beschreibung von Abläufen durch Algorithmen (ca. 11 Std.) Kompetenzerwartungen Die Schülerinnen und Schüler ... e analysieren und strukturieren geeignete Problemstellungen u. a. aus ihrer Erfahrungswelt (z. B. Bedienung eines Geräts), entwickeln Algorithmen zu deren Lösung und beschreiben diese unter effizienter Verwendung von Kontrollstrukturen. e setzen unter sinnvoller Nutzung algorithmischer Bausteine einfache Algorithmen mithilfe geeigneter Programmierwerkzeuge um. Inhalte zu den Kompetenzen: e Algorithmus: Definition des Begriffs, Strukturelemente (Anweisung, Sequenz, ein- und zweiseitig bedingte Anweisung, Wiederholung mit fester Anzahl, Wiederholung mit Bedingung) e Fachbegriffe: Algorithmus, Anweisung, Sequenz, ein- und zweiseitig bedingte Anweisung, Wiederholung mit fester Anzahl, Wiederholung mit Bedingung Aufgabe Gehen Sie bei den folgenden Aufgaben von folgendem Szenario aus: Ihrer Schule wurde eine Sachspende über einen Klassensatz programmierbare Roboter angeboten. Dabei handelt es sich um fertig montierte, fahrbare Kleinroboter mit je zwei Abstandssensoren (siehe Abbildung). Der Roboter verfügt über zwei unabhängige Motoren, deren Geschwindigkeit gesteuert werden kann. Kurven können gefahren werden, indem die Motoren unterschiedlich schnell laufen. Zur Programmierung steht eine einfache Umgebung zur Verfügung. 77 1. Der oben zitierte Lehrplanpunkt wird oftmals anhand einer Software mit einem simulierten, steuerbaren Roboter — z.B. Robot Karol — unterrichtet. Diskutieren Sie Unterschiede zwischen dieser Simulation und dem Einsatz der beschriebenen realen Roboter aus fachdidaktischer Sicht. Beschreiben Sie, welchen Ansprüchen die Programmierumgebung genügen sollte, damit ein Unterrichtseinsatz in Natur und Technik zu obigem Lehrplanpunkt möglich und sinnvoll ist. Fortsetzung nächste Seite! Frühjahr 2021 Einzelprüfungsnummer 66118 Seite 7 2. Geben Sie eine Grobplanung der Unterrichtssequenz für oben zitierten Lehrplanpunkt unter Nutzung der realen Roboter an. Gehen Sie dabei von insgesamt sechs Doppelstunden aus! Nennen Sie für jede Stunde ein beobachtbares Feinziel. 3. Entwerfen Sie einen schriftlichen Leistungsnachweis mit Lösungsskizze für eine Bearbeitungszeit von 20 Minuten. Geben Sie an, an welcher Stelle der Unterrichtssequenz Sie ihn einsetzen würden. 4. Geben Sie für den Einstieg in die Unterrichtssequenz (erste Doppelstunde) eine Feinplanung an. Beschreiben Sie dabei den geplanten Ablauf detailliert und skizzieren Sie Tafelbilder, Hefteinträge, Arbeitsblätter o. Ä. (ggf. mit einer Musterlösung). 5. Geben Sie weitere Stellen des bayerischen Lehrplans für das Fach Informatik am neunjährigen Gymnasium (NTG) an, an denen Roboter dieser oder ähnlicher Art sinnvoll eingesetzt werden könnten. Bewerten Sie in jedem Fall knapp, ob die eingangs beschriebenen Roboter dafür geeignet wären und nennen Sie ggf. Alternativen.