Lehrplan PLUS

Direkt zur Hauptnavigation springen, zur Servicenavigation springen, zur Seitennavigation springen, zu den Serviceboxen springen, zum Inhalt springen

Angewandte Informatik 12

Der angegebene Fachlehrplan wird derzeit überarbeitet; die überarbeitete Fassung wird nach Abschluss der Anpassung des LehrplanPLUS an das neunjährige Gymnasium veröffentlicht.

Die Lernbereiche sind von der Lehrkraft so zu wählen, dass insgesamt 42 Stunden abgedeckt sind.

InfA12 Lernbereich 1: Formale Sprachen und endliche Automaten (ca. 14 Std.)
Abschnitt zur PDF-Sammlung hinzufügen

Kompetenzerwartungen

Die Schülerinnen und Schüler ...

  • entwickeln formale Sprachen zu Beispielen aus dem Alltag (z. B. Autokennzeichen, E-Mail-Adressen oder Gleitkommazahlen), um ein Verständnis für die Notwendigkeit von klaren Regeln bei der Definition dieser Sprachen zu gewinnen und damit Mehrdeutigkeiten, wie sie in natürlichen Sprachen vorkommen, zu vermeiden.
  • definieren formale Sprachen durch Grammatiken und verwenden zur Darstellung der Produktionsregeln insbesondere die Erweiterte Backus-Naur-Form (EBNF).
  • entwerfen zur formalen Beschreibung von regulären Sprachen endliche erkennende Automaten und testen ihr Modell (ggf. unter Verwendung eines adäquaten Simulationssystems).
  • erläutern an selbst gewählten Beispielen, dass es Sprachen gibt, die nicht regulär sind, und erkennen daran, dass es weitere Sprachkategorien in der Informatik gibt. Damit wird den Schülerinnen und Schülern bewusst, dass für die automatisierte Verarbeitung von nicht regulären Sprachen, wie z. B. höheren Programmiersprachen, das Modell des endlichen Automaten nicht ausreicht und weitere Modellkonzepte notwendig sind.
Inhalte zu den Kompetenzen:
  • Formale Sprache als Menge von Zeichenketten über einem Alphabet: Zeichen, Zeichenvorrat (Alphabet), Wort (Zeichenkette), Syntax, Semantik
  • Grammatik: Terminal, Nichtterminal, Produktionsregel, Startsymbol
  • Notation formaler Sprachen: Erweiterte Backus-Naur-Form (EBNF)
  • Ableitung eines Wortes einer formalen Sprache als Folge von Regelanwendungen
  • erkennender endlicher Automat: Zustandsmenge, Eingabealphabet, Zustandsübergang, Startzustand, Endzustand, Fangzustand (Fehlerzustand); reguläre Sprache
  • Fachbegriffe: formale Sprache, Alphabet, Grammatik, Terminal, Nichtterminal, Produktionsregel, Startsymbol, reguläre Sprache, Ableitung, Erweiterte Backus-Naur-Form (EBNF), erkennender endlicher Automat, deterministischer endlicher Automat, Eingabealphabet, Startzustand, Endzustand, Fangzustand (Fehlerzustand), Zustandsübergang, Syntax, Semantik

InfA12 Lernbereich 2: Funktionsweise eines Rechners (ca. 14 Std.)
Abschnitt zur PDF-Sammlung hinzufügen

Kompetenzerwartungen

Die Schülerinnen und Schüler ...

  • beschreiben, orientiert am Von-Neumann-Modell, den schematischen Aufbau sowie die grundsätzliche Funktionsweise eines Computersystems und erläutern die Bedeutung des Von-Neumann-Modells in diesem Kontext.
  • stellen natürliche Zahlen im Binär- und Hexadezimalsystem dar und führen entsprechende Umrechnungen durch. Sie bauen damit ein Grundverständnis auf, wie Informationen in einem Speicher abgelegt und wie verschiedene hardwarenahe Repräsentationen (z. B. die MAC-Adresse oder die RGB-Darstellung von Farben) interpretiert werden können.
  • setzen mithilfe einer Registermaschinensimulation auf Assemblerebene einfache Algorithmen (auch mit ausgewählten Kontrollstrukturen in einfachen Fällen) um und testen diese Programme. Sie erhalten so ein Verständnis dafür, wie Programme, die mit höheren Programmiersprachen verfasst sind, auf maschinennaher Ebene repräsentiert werden.
  • erläutern, z. B. unter Betrachtung der aktuellen Speicherbelegung, die prinzipielle Abarbeitung von Programmen bei einer Registermaschine. Sie vertiefen dabei ihr Verständnis über die grundsätzliche Funktionsweise eines Rechners.
Inhalte zu den Kompetenzen:
  • Von-Neumann-Modell als grundlegendes Modell für moderne Rechner; Prozessor (Rechenwerk, Steuerwerk), Speicher (u. a. Abgrenzung Arbeits- versus Permanentspeicher), Ein- und Ausgabeeinheit, Bussystem
  • Binär- bzw. Hexadezimalsystem als Grundlage der Codierung von Information in einem Speicher: Bit, Byte, Binär- bzw. Hexadezimalcodierung natürlicher Zahlen, Stellenwertsystem
  • einfaches Modell einer (auf der von-Neumann-Architektur basierenden) Registermaschine: Akkumulator, Befehlsregister, Befehlszähler, Statusregister, Befehlszyklus
  • algorithmische Grundbausteine auf Assemblerebene: Sequenz und z. B. bedingte Anweisung oder Wiederholung
  • Fachbegriffe: Binärsystem, Hexadezimalsystem, Bit, Byte, Von-Neumann-Modell, Prozessor, Speicher, Ein- und Ausgabeeinheit, Bussystem, Registermaschine, Akkumulator, Befehlsregister, Befehlszähler, Statusregister, Befehlszyklus

InfA12 Lernbereich 3: Modellierung nebenläufiger Prozesse (ca. 14 Std.)
Abschnitt zur PDF-Sammlung hinzufügen

Kompetenzerwartungen

Die Schülerinnen und Schüler ...

  • analysieren und bewerten nebenläufige Prozesse im Hinblick auf ihren grundsätzlichen Ablauf und auf die Nutzung gemeinsamer Ressourcen; sie erkennen dabei insbesondere, dass der gemeinsame Zugriff auf Ressourcen durch Synchronisation geregelt werden muss.
  • untersuchen anhand entsprechender Petrinetze Modelle nebenläufiger Prozesse hinsichtlich Konflikt- und Verklemmungssituationen und lösen diese in einfachen Fällen durch geeignete Modifikationen.
  • modellieren mithilfe von Petrinetzen typische nebenläufige Szenarien (z. B. Geschäftsabläufe, Lagerverwaltung mit mehreren Lieferanten, Steuerung von Roboteranlagen, Verkehrsregelung an Straßenkreuzungen). Dadurch gewinnen sie ein vertieftes Verständnis dafür, dass derartige reale Vorgänge – beispielsweise aus Effizienzgründen – möglichst in parallel ablaufende Prozesse zerlegt werden, die aber insbesondere bei Nutzung gemeinsamer Ressourcen koordiniert werden müssen.
Inhalte zu den Kompetenzen:
  • Prozess, Nebenläufigkeit, Synchronisation, Verklemmung
  • Petrinetz (Stellen-Transitions-Netz) zur Analyse und Modellierung einfacher nebenläufiger Systeme bzw. Vorgänge: Stelle, Transition, Marke, Kapazität
  • Klassische Probleme der Prozesssynchronisation: Erzeuger-Verbraucher-Problem, Leser-Schreiber-Problem
  • Fachbegriffe: nebenläufige Prozesse, Synchronisation, Verklemmung, Erzeuger-Verbraucher-Problem, Leser-Schreiber-Problem, Petrinetz (Stellen-Transitions-Netz), Stelle, Transition, Marke, Kapazität

InfA12 Lernbereich 4: Funktionale Programmierung und Rekursion (ca. 14 Std.)
Abschnitt zur PDF-Sammlung hinzufügen

Kompetenzerwartungen

Die Schülerinnen und Schüler ...

  • modellieren – etwa mithilfe von Datenflussdiagrammen – einfache nichtrekursive Problemstellungen (z. B. Berechnung von mathematischen Termen, Bestimmung der größeren von zwei vorgegebenen Zahlen) und implementieren diese Modelle in einer funktionalen Programmiersprache, ggf. unter Ausnutzung der von der Programmiersprache bereits zur Verfügung gestellten Funktionsdefinitionen.
  • entwickeln einfache rekursive Algorithmen (z. B. Berechnung der Fakultät einer natürlichen Zahl, Bestimmung der größten Zahl aus einer Menge vorgegebener Zahlen) und implementieren diese in einer funktionalen Programmiersprache.
  • verwenden bei der Lösung von überschaubaren Problemstellungen (z. B. Einfügen eines Elements in eine Liste) mithilfe von funktionalen Programmen vordefinierte rekursive Datenstrukturen und Funktionen.
Inhalte zu den Kompetenzen:
  • funktionale Programmiersprache: funktionales Programm als Sammlung von Funktionsdefinitionen
  • Funktionsdefinition, bedingter Ausdruck, rekursiver Funktionsaufruf im Kontext funktionaler Programmierung, rekursive (lineare) Datenstruktur
  • Anwendung rekursiver Datenstrukturen bei Standardproblemen: Einfügen, Suchen, Löschen
  • Fachbegriffe: funktionale Programmiersprache, (rekursive) Funktion, bedingter Ausdruck, lineare und nichtlineare Rekursion, rekursive (lineare) Datenstruktur

InfA12 Lernbereich 5: Objektorientierte Programmierung (ca. 28 Std.)
Abschnitt zur PDF-Sammlung hinzufügen

Kompetenzerwartungen

Die Schülerinnen und Schüler ...

  • 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 grafisch dar, um anschließend die Klassen mit einer objektorientierten Sprache implementieren zu können.
  • implementieren den Rahmen einer Klasse und deklarieren die zugehörigen Attribute.
  • verwenden an geeigneter Stelle bei der Implementierung Wertzuweisungen, um Attributwerte ändern zu können und interpretieren diese als Zustandsänderung des zugehörigen Objekts. Dabei gewährleisten sie den kontrollierten Zugriff auf Attribute und verstehen dadurch die Grundidee der Datenkapselung.
  • deklarieren in den objektorientierten Modellen bzw. Programmen Methoden mit sinnvollen Signaturen.
  • formulieren zu überschaubaren ablauforientierten Problemstellungen (z. B. Ausgabe beim Geldautomaten) unter Verwendung von Kontrollstrukturen geeignete Algorithmen und notieren diese fachgerecht mithilfe von Pseudocode oder geeigneten grafischen Darstellungen.
  • implementieren Methoden auf der Grundlage gegebener Algorithmen objektorientiert, wobei sie sich des Unterschiedes zwischen Methodendefinition und Methodenaufruf bewusst sind.
  • analysieren und modellieren das Kommunikationsverhalten innerhalb eines Systems (beispielsweise einer Autovermietung) und erkennen, dass wesentliche Abläufe eines Systems auf der Kommunikation zwischen den beteiligten Objekten basieren.
  • implementieren die im Klassendiagramm festgelegten Beziehungen sachgerecht durch Referenzattribute, um während der Laufzeit des Programms die Kommunikation zwischen den entsprechenden Objekten durch den Aufruf geeigneter Methoden zu ermöglichen.
Inhalte zu den Kompetenzen:
  • Objektorientierte Konzepte: u. a. Objekt, Klasse, Attribut, Attributwert, Methode
  • Variablenkonzept: Übergabeparameter und lokale Variable bei der Definition von Methoden, Deklaration von Attributen
  • Wertzuweisung als Möglichkeit des direkten Zugriffs zur Änderung von Variablenwerten
  • Datenkapselung: Grundidee am Beispiel des kontrollierten Zugriffs auf Attribute
  • Standardmethoden zum Geben und Setzen von Attributwerten, Signatur einer Methode, Methodenkopf, Methodenrumpf, Methodendefinition versus Methodenaufruf, Konstruktor als spezielle Methode
  • Algorithmus: Repräsentation durch Pseudocode und grafische Darstellung
  • Datentypen: ganze Zahlen, Fließkommazahlen, Wahrheitswerte, Zeichen, Zeichenketten
  • Interpretation von Klassen als Datentypen
  • Umsetzung von 1:1-Beziehungen zwischen Klassen, Referenzattribut zur Implementierung einer Beziehung, Referenz auf ein Objekt
  • Kommunikation zwischen Objekten durch Methodenaufrufe
  • Fachbegriffe: Übergabeparameter, lokale Variable, Wertzuweisung, Konstruktor, Signatur, Methodenkopf, Methodenrumpf, Datenkapselung, Referenz, Referenzattribut