Logo Qualitäts- und UnterstützungsAgentur

Startseite Bildungsportal NRW

Orientierungsbereich (Sprungmarken)

UV 10.3 Vom Problem zum Modell - Computerprogramme mit System entwickeln

Leitfragen:
  • Wie ist die die im Unterricht genutzte textbasierte Programmierumgebung aufgebaut?
  • Welche Schritte sollten bei der Programmierung eingehalten werden?
  • Wie kann man testen, ob man eine korrekte Aufgabenlösung erzielt hat?
Ausschärfung der Inhaltsschwerpunkte:
  • Algorithmusbegriff, algorithmische Eigenschaften
  • Bezug zur Objektorientierung herstellen
  • Objekte mittels Klassen- und Objektdiagramme darstellen
  • vorgegebene Methoden nutzen
  • Anweisungen, Prozeduren und Sequenzen identifizieren
  • Struktogramme interpretieren und erstellen
  • Programmierung von Bedingungen, Schleifen, Verzweigungen und eigenen Anweisungen
  • Komplexere Algorithmen in mehrere Operationen zerlegen
  • Algorithmen hinsichtlich ihrer Effizienz und Lösung der Problemstellung prüfen
  • Analyse von Programmen

Vorhabenbezogene Konkretisierung:

In diesem Unterrichtsvorhaben erlernen die Schülerinnen und Schüler Grundlagen des Programmierens und der Algorithmik auf der Basis einer textbasierten Programmiersprache, die für informatiknahe Berufe größere Praxisrelevanz hat. Zum Einstieg in eine solche Programmierumgebung hat sich die Fachkonferenz nach Rücksprache mit dem Schulträger auf den Einsatz der Programmierumgebung Robot Karol geeinigt.

Die Programmierumgebung Robot Karol gehört zur Gruppe der “Mini-Languages”. Dies sind Programmiersprachen, die bewusst über einen kleinen, übersichtlichen Sprachumfang verfügen. Die vereinfachte Sprache und die direkte Visualisierung des Programmcodes erleichtern den Einstieg in die Algorithmik.

Das Unterrichtsvorhaben gliedert sich in vier aufeinander aufbauende Unterrichtsbausteine:

  • Einführung in den Algorithmusbegriff: Hierbei sollen die algorithmische Eigenschaften (Endlichkeit der Beschreibung, Eindeutigkeit, Terminierung) mittels Beispielen aus der Lebenswelt der Schülerinnen und Schüler eingeführt und überprüft werden.
  • Vorstellung der Programmierumgebung (hier: Robot Karol): In einer kurzen Unterrichtssequenz sollen sich die Schülerinnen und Schüler mit den verschiedenen Bestandteilen und Möglichkeiten der Programmierumgebung vertraut machen. Die Schülerinnen und Schüler erstellen erste einfache Programmcodes. Hierbei lernen sie den formalen Rahmen der Programmierung kennen und korrigieren die Programmcodes mithilfe der ausgegebenen Fehlermeldungen. Sie identifizieren die Objekte, deren Attribute und Methoden und stellen die Ergebnisse in Form von Klassen- bzw. Objektdiagrammen dar.
  • Lineare Programmstrukturen: In diesem Unterrichtsbaustein sollen die Schülerinnen und Schüler vorgegebene lineare Algorithmen beschreiben und mittels Struktogrammen darstellen. Vertiefend werden hier die Begriffe Anweisungen, Prozeduren und Sequenzen eingeführt. Abschließend setzten die Schülerinnen und Schüler ihr neu erworbenes Wissen in eigenen kleinen Programmen um, korrigieren Fehler mithilfe der Fehlermeldungen und erstellen passende Struktogramme
  • Komplexere Programmstrukturen: Dieser Unterrichtsbaustein beansprucht den größten zeitlichen Umfang. Die Schülerinnen und Schüler interpretieren komplexere Programmcodes und Struktogramme. Sie entwerfen und testen Programmcodes mit Schleifen, Verzweigungen, Bedingungen und eigenen Anweisungen. Abschließend stellen sie diese Programme mittels geeigneter Struktogrammen dar. Gruppenteilig werden komplexere Algorithmen bearbeitet und dabei die Vorteile der Zerlegung erarbeitet.

Da sich zur Umsetzung dieses Unterrichtsvorhabens auch andere Programmierumgebungen anbieten, bleibt es der Lehrkraft freigestellt eine andere Umgebung auszuwählen. Der Einsatz und die nötigen Installationen im Schulnetzwerk bedürfen aber zwingend einer Absprache mit der Fachkonferenz und dem Schulträger.

Als Fortführung für interessierte Schülerinnen und Schüler am Ende der Klasse 10 bietet sich ein Projekt zur Programmiersprache Java mit Java Karol an.

Zeitbedarf: 21 Std.

Sequenzierung des Unterrichtsvorhabens:

Algorithmusbegriff:

  • Handlungsabläufe aus der Lebenswelt der Schülerinnen und Schüler sammeln und beschreiben.
  • Durch Analyse ausgewählter Algorithmen grundlegende Strukturen erkennen.
  • Präzisierung des Algorithmusbegriffes.
  • Entwicklung einfacher Handlungsvorschriften zur Lösung alltagsbezogener Problemstellungen.

Die Schülerinnen und Schüler

  • überprüfen algorithmische Eigenschaften (Endlichkeit der Beschreibung, Eindeutigkeit, Terminierung) in Handlungsvorschriften (IF2, A),

Material:

UnterrichtssequenzenZu entwickelnde (inhaltsfeldbezogene konkretisierte) KompetenzenVorhabenbezogene Absprachen / Beispiele, Medien, Materialien
Vorstellung der Programmierumgebung (Robot Karol):
  • Den Aufbau der Programmieroberfläche erforschen.
  • Bezug zur Objektorientierung herstellen.
  • Objekte identifizieren.
  • Darstellung als Objekt- und Klassendiagramme.
Die Schülerinnen und Schüler
  • identifizieren im Anwendungskontext Objekte, benennen deren Eigenschaften sowie deren Aufgaben und stellen diese in einer geeigneten Form dar (IF1, DI),
  • stellen die Merkmale als Attribute und Methoden in einem Klassendiagramm dar (IF1, DI).

Programmdownload und Unterrichtsmaterial: https://www.mebis.bayern.de/karol/

Als alternative Programmierumgebungen zur Durchführung dieses Unterrichtsvorhabens bieten sich Scratch , EOS oder Python an.

Lineare Programmstrukturen:
  • Erarbeitung der vorhandenen Methoden in kleinen Programmen.
  • Vorgegebene Algorithmen mit eigenen Worten beschreiben.
  • Anweisungen, Prozeduren und Sequenzen identifizieren.
  • Darstellung der Programmcodes als Struktogramm.
  • Interpretation verschiedener Struktogramme.
  • Umsetzung von Struktogrammen in Programmcodes.
Die Schülerinnen und Schüler
  • codieren und decodieren Daten mithilfe eines vorgegebenen Verfahrens oder im Rahmen einer Anwendung (IF1, MI),
  • Interpretieren Daten in unterschiedlichen Darstellungsformen hinsichtlich der dargestellten Information (IF1, DI),
  • setzen einen Algorithmus, der in einer formalen Darstellung vorliegt, in eine Programmiersprache um (IF2, MI).
Komplexere Programmstrukturen:
  • Anweisung, Sequenz, Schleife und Verzweigung als elementare Kontrollstrukturen.
  • Erweiterung der Struktogramme durch die Elemente Anweisung, Sequenz, Schleife und Verzweigung
  • Entwurf eines Algorithmus unter zielgerichteter Verwendung der elementaren Kontrollstrukturen.
  • Programmierung von Bedingungen (Wenn Dann …, Solange bis …)
  • Komplexere Algorithmen in mehrere Operationen zerlegen, um z. B. Teillösungen wiederzuverwenden.
  • Überprüfung, ob eine Implementierung die Problemstellung löst.
  • Vergleichen von Algorithmen hinsichtlich ihrer Effizienz.
Die Schülerinnen und Schüler
  • kommentieren, modifizieren und ergänzen Quelltexte von Programmen nach Vorgaben (IF2, MI),
  • stellen Algorithmen in verschiedenen Repräsentationen dar (IF2, DI),
  • erläutern wiederkehrende Teilalgorithmen in verschiedenen Anwendungsgebieten (IF2, A),
  • entwerfen, implementieren und testen Algorithmen auch unter Verwendung des Variablenkonzeptes (IF2, MI),
  • beurteilen die Problemangemessenheit verwendeter Algorithmen (IF2, A),
  • interpretieren Fehlermeldungen bei der Arbeit mit Informatiksystemen und nutzen sie produktiv (IF2, MI).
Lernzielkontrolle: Dokumentation und Vorstellung der Projektarbeit, Klassenarbeit
Zum Seitenanfang

© 2020 Qualitäts- und UnterstützungsAgentur - Landesinstitut für Schule - Letzte Änderung: 25.09.2016