Zum Inhalt springen
Informatik · Klasse 5 · Erste Schritte in der Programmierung · 1. Halbjahr

Funktionen und Prozeduren: Code wiederverwenden

Die Schülerinnen und Schüler zerlegen komplexe Aufgaben in kleinere, wiederverwendbare Funktionen oder Prozeduren.

KMK BildungsstandardsKMK: Sekundarstufe I - AlgorithmenKMK: Sekundarstufe I - Problemlösen

Über dieses Thema

In diesem Thema lernen Schülerinnen und Schüler in Klasse 5, komplexe Programmieraufgaben in kleinere, wiederverwendbare Funktionen oder Prozeduren zu zerlegen. Sie verstehen, dass Funktionen Codeblöcke kapseln, die bei Bedarf aufgerufen werden können. Dadurch wird Programmcode strukturiert, kürzer und wartbarer. Beispiele aus Scratch oder Block-basierten Programmierumgebungen zeigen, wie eine wiederkehrende Aufgabe, wie das Bewegen einer Figur, in eine Funktion gepackt wird.

Die Vorteile liegen in der Reduzierung von Redundanzen und der leichteren Fehlerbehebung. Schüler analysieren bestehende Programme und entwickeln eigene, indem sie Aufgaben zerlegen. Die Key Questions fördern das Erklären von Vorteilen, die Analyse der Strukturierung und das praktische Entwickeln von Funktionen, passend zu den KMK-Standards für Algorithmen und Problemlösen.

Aktives Lernen ist hier besonders wirksam, da Schüler durch eigenes Experimentieren und Iterieren die Vorteile von Funktionen hautnah erleben. Sie entdecken Fehler in kopiertem Code und lernen, wie Funktionen Zeit sparen und Programme übersichtlicher machen.

Leitfragen

  1. Erklären Sie den Vorteil der Verwendung von Funktionen oder Prozeduren in der Programmierung.
  2. Analysieren Sie, wie Funktionen zur Strukturierung und Vereinfachung von Code beitragen.
  3. Entwickeln Sie ein Programm, das eine wiederkehrende Aufgabe in einer eigenen Funktion kapselt.

Lernziele

  • Erklären Sie, warum die Wiederverwendung von Code durch Funktionen die Effizienz von Programmen erhöht.
  • Analysieren Sie ein gegebenes Programm und identifizieren Sie wiederkehrende Aufgaben, die in Funktionen ausgelagert werden können.
  • Entwickeln Sie ein einfaches Programm, das mindestens eine eigene Funktion zur Lösung einer Teilaufgabe verwendet.
  • Vergleichen Sie zwei Programmversionen: eine ohne und eine mit Funktionen für eine wiederkehrende Aufgabe, und bewerten Sie deren Lesbarkeit.

Bevor es losgeht

Grundlagen der sequenziellen Programmierung

Warum: Schüler müssen verstehen, wie Befehle nacheinander ausgeführt werden, bevor sie lernen, Code in wiederverwendbare Blöcke zu organisieren.

Einfache Kontrollstrukturen (Schleifen)

Warum: Das Verständnis von Schleifen hilft Schülern zu erkennen, wo Code wiederholt wird und somit für die Kapselung in Funktionen geeignet ist.

Schlüsselvokabular

FunktionEin benannter Codeblock, der eine bestimmte Aufgabe ausführt und bei Bedarf mehrmals aufgerufen werden kann. Funktionen helfen, Code zu organisieren und Wiederholungen zu vermeiden.
ProzedurÄhnlich einer Funktion, aber oft ohne einen Rückgabewert. Sie führt eine Abfolge von Befehlen aus, wenn sie aufgerufen wird, und wird zur Strukturierung von Code verwendet.
AufrufDer Vorgang, bei dem eine Funktion oder Prozedur im Programmcode ausgeführt wird. Durch den Aufruf springt das Programm zur Definition der Funktion und führt deren Befehle aus.
ParameterWerte, die einer Funktion beim Aufruf übergeben werden, um ihr Verhalten zu steuern oder ihr spezifische Daten für die Ausführung zu liefern.
RückgabewertDer Wert, den eine Funktion nach ihrer Ausführung an die Stelle im Programm zurückgibt, von der sie aufgerufen wurde. Dies ermöglicht die Weiterverarbeitung von Ergebnissen.

Vorsicht vor diesen Fehlvorstellungen

Häufige FehlvorstellungFunktionen sind nur für lange Programme nötig.

Was Sie stattdessen lehren sollten

Funktionen helfen schon bei einfachen, wiederholten Aufgaben, machen Code kürzer und leichter verständlich.

Häufige FehlvorstellungKopieren von Code ist dasselbe wie eine Funktion.

Was Sie stattdessen lehren sollten

Kopieren führt zu Redundanzen und schwieriger Wartung, Funktionen erlauben Wiederverwendung mit Parametern.

Häufige FehlvorstellungProzeduren ändern nichts am Programmverhalten.

Was Sie stattdessen lehren sollten

Prozeduren strukturieren Code und erleichtern Änderungen an wiederkehrenden Teilen.

Ideen für aktives Lernen

Alle Aktivitäten ansehen

Bezüge zur Lebenswelt

  • Softwareentwickler bei der Firma 'Lego Education' nutzen Funktionen und Prozeduren, um die komplexen Anleitungen für Programmier-Roboter in überschaubare, wiederverwendbare Bausteine zu zerlegen. Dies ermöglicht es Kindern, Schritt für Schritt zu lernen, wie man Roboter programmiert, ohne von der Gesamtlänge des Codes überwältigt zu werden.
  • Webdesigner erstellen interaktive Elemente für Websites, wie z.B. Bildergalerien oder animierte Menüs. Sie verwenden Funktionen, um Code für wiederkehrende Aktionen wie das Anzeigen oder Ausblenden von Elementen zu schreiben, was die Website schneller lädt und einfacher zu aktualisieren ist.

Ideen zur Lernstandserhebung

Lernstandskontrolle

Geben Sie jedem Schüler ein Blatt mit einem einfachen Programm (z.B. in Scratch), das eine Figur mehrmals dieselbe Bewegung ausführen lässt. Bitten Sie die Schüler, eine Funktion zu erstellen, die diese Bewegung kapselt, und das Programm so umzuschreiben, dass es die Funktion nur einmal aufruft. Notieren Sie auf dem Ticket: 'Meine Funktion heißt: _____. Sie macht: _____.'

Kurze Überprüfung

Zeigen Sie ein kurzes Programmfragment, das eine einfache, sich wiederholende Aufgabe (z.B. das Zeichnen eines Quadrats) ohne Funktionen darstellt. Fragen Sie: 'Wie könnten wir diesen Code kürzer und besser lesbar machen, indem wir eine Funktion verwenden? Nennt die Schritte, die wir dafür brauchen.'

Diskussionsfrage

Stellen Sie die Frage: 'Stellen Sie sich vor, Sie bauen ein sehr großes Haus aus Legosteinen. Warum wäre es sinnvoll, die Anleitung für das Bauen einer Mauer als einen eigenen Schritt (eine Funktion) zu definieren, anstatt jedes Mal neu zu überlegen, wie man eine Mauer baut?' Sammeln Sie die Antworten der Schüler und diskutieren Sie die Vorteile der Wiederverwendbarkeit.

Häufig gestellte Fragen

Warum sind Funktionen in der Programmierung vorteilhaft?
Funktionen kapseln Codeblöcke, die wiederverwendet werden können, und reduzieren Redundanzen. Sie machen Programme übersichtlicher, kürzer und wartbarer. Schüler lernen, komplexe Aufgaben zu zerlegen, was Problemlösen schult und zu den KMK-Standards passt. In der Praxis sparen sie Zeit beim Debuggen und Erweitern.
Wie unterstützt aktives Lernen dieses Thema?
Aktives Lernen lässt Schüler Funktionen selbst bauen und testen, was den Vorteil der Wiederverwendbarkeit erlebbar macht. Durch Experimentieren entdecken sie, wie Code ohne Funktionen fehleranfällig wird. Paar- oder Gruppenarbeit fördert Diskussionen über Strukturierung. Das stärkt Verständnis und Motivation nachhaltig, wie Studien zu konstruktivistischem Lernen zeigen.
Welche Tools eignen sich für Klasse 5?
Block-basierte Umgebungen wie Scratch oder Code.org sind ideal, da sie Syntaxfehler vermeiden. Sie visualisieren Funktionsaufrufe und Parameter. Lehrer können Vorlagen bereitstellen, um den Einstieg zu erleichtern. Ergänzend eignen sich Unplugged-Aktivitäten wie Karten sortieren.
Wie bewerte ich Lernerfolge?
Beobachten Sie, ob Schüler Aufgaben zerlegen und Funktionen korrekt aufrufen. Rubriken prüfen Wiederverwendung, Parameter und Reflexion. Portfolios mit Vorher-Nachher-Code zeigen Fortschritt. Key Questions dienen als Leitfäden für mündliche Erklärungen.

Planungsvorlagen für Informatik