Skip to content

Funktionen und Prozeduren: Code wiederverwendenAktivitäten & Unterrichtsstrategien

Aktives Zerlegen und Strukturieren von Code fördert das algorithmische Denken, weil Schülerinnen und Schüler direkt erleben, wie Wiederverwendung Code effizienter und verständlicher macht. Durch konkrete Beispiele aus Scratch wird das abstrakte Konzept der Funktionen greifbar und anwendbar.

Klasse 5Digitale Welten Entdecken: Informatik Starter4 Aktivitäten15 Min.30 Min.

Lernziele

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

Möchten Sie einen vollständigen Unterrichtsentwurf mit diesen Lernzielen? Mission erstellen

20 Min.·Partnerarbeit

Paararbeit: Funktion für Figurbewegung

Schüler erstellen in Scratch eine Funktion, die eine Figur in eine Richtung bewegt. Sie testen sie in einem einfachen Labyrinth und passen Parameter an. Danach rufen sie die Funktion mehrmals auf.

Vorbereitung & Details

Erklären Sie den Vorteil der Verwendung von Funktionen oder Prozeduren in der Programmierung.

Moderationstipp: Bei der Paararbeit zur Figurbewegung achten Sie darauf, dass beide Partner abwechselnd die Rolle des Programmierers und des Erklärers einnehmen, um das gemeinsame Verständnis zu sichern.

Setup: Flexible Sitzordnung für Gruppenwechsel

Materials: Informationstexte für die Expertengruppen, Notizvorlagen, Strukturdiagramm für die Zusammenfassung

VerstehenAnalysierenBewertenBeziehungsfähigkeitSelbststeuerung
30 Min.·Kleingruppen

Kleingruppen: Aufgabe zerlegen

Gruppen zerlegen eine komplexe Aufgabe wie ein Spiel in Schritte und kapseln wiederkehrende Teile in Prozeduren. Sie bauen ein Programm und präsentieren es. Reflexion über Vereinfachung folgt.

Vorbereitung & Details

Analysieren Sie, wie Funktionen zur Strukturierung und Vereinfachung von Code beitragen.

Moderationstipp: Bei der Aufgabezerlegung in Kleingruppen geben Sie gezielt Hilfestellung, wenn Schülerinnen und Schüler die Schritte nicht in sinnvolle Teilaufgaben unterteilen können.

Setup: Flexible Sitzordnung für Gruppenwechsel

Materials: Informationstexte für die Expertengruppen, Notizvorlagen, Strukturdiagramm für die Zusammenfassung

VerstehenAnalysierenBewertenBeziehungsfähigkeitSelbststeuerung
15 Min.·Einzelarbeit

Individuell: Eigene Funktion entwickeln

Jeder Schüler schreibt eine Funktion für ein Muster, z. B. Sternzeichnen. Sie integrieren sie in ein größeres Programm und dokumentieren den Vorteil.

Vorbereitung & Details

Entwickeln Sie ein Programm, das eine wiederkehrende Aufgabe in einer eigenen Funktion kapselt.

Moderationstipp: Fordern Sie bei der individuellen Funktionsentwicklung die Schüler auf, ihre Lösung zunächst mit einem Partner zu besprechen, bevor sie den Code implementieren.

Setup: Flexible Sitzordnung für Gruppenwechsel

Materials: Informationstexte für die Expertengruppen, Notizvorlagen, Strukturdiagramm für die Zusammenfassung

VerstehenAnalysierenBewertenBeziehungsfähigkeitSelbststeuerung
25 Min.·Ganze Klasse

Ganzer Unterricht: Code-Vergleich

Klasse vergleicht ein Programm mit und ohne Funktionen. Gemeinsam identifizieren sie Vorteile und bauen ein Beispiel aus.

Vorbereitung & Details

Erklären Sie den Vorteil der Verwendung von Funktionen oder Prozeduren in der Programmierung.

Moderationstipp: Beim Code-Vergleich moderieren Sie die Diskussion so, dass die Klasse aktiv Unterschiede zwischen den Lösungen benennt und gemeinsam die beste Struktur herausarbeitet.

Setup: Flexible Sitzordnung für Gruppenwechsel

Materials: Informationstexte für die Expertengruppen, Notizvorlagen, Strukturdiagramm für die Zusammenfassung

VerstehenAnalysierenBewertenBeziehungsfähigkeitSelbststeuerung

Dieses Thema unterrichten

Erfahrene Lehrkräfte beginnen mit visuellen Beispielen aus Scratch, weil Block-basierte Umgebungen das Konzept der Funktionen als 'Baukästen' veranschaulichen. Vermeiden Sie es, Funktionen zu früh mit Parametern zu überfrachten, sondern starten Sie mit einfachen, parameterfreien Prozeduren. Forschung zeigt, dass Schülerinnen und Schüler das Prinzip der Wiederverwendung besser verstehen, wenn sie selbst die Redundanz in unstrukturiertem Code erleben.

Was Sie erwartet

Am Ende können die Schülerinnen und Schüler wiederholte Code-Abläufe identifizieren und in wiederverwendbare Funktionen oder Prozeduren auslagern. Sie erkennen den Nutzen von Parametern und benennen konkrete Vorteile wie Kürze, Lesbarkeit und Wartbarkeit des Codes.

Diese Aktivitäten sind ein Ausgangspunkt. Die vollständige Mission ist das Erlebnis.

  • Vollständiges Moderationsskript mit Lehrkraft-Dialogen
  • Druckfertige Schülermaterialien, bereit für den Unterricht
  • Differenzierungsstrategien für jeden Lerntyp
Mission erstellen

Vorsicht vor diesen Fehlvorstellungen

Häufige FehlvorstellungWährend der Paararbeit zur Figurbewegung beobachten Sie, wie Schüler die repetitive Aufgabe in Scratch als einfache Wiederholungsschleife lösen, ohne die Notwendigkeit einer Funktion zu erkennen.

Was Sie stattdessen lehren sollten

Lenken Sie die Aufmerksamkeit auf den Code-Block, indem Sie fragen: 'Wie oft müssten wir diesen Block kopieren, wenn die Figur 20 Mal dieselbe Bewegung ausführen soll?' Vergleichen Sie dann die Lösung mit einer Funktion.

Häufige FehlvorstellungWährend der Kleingruppenarbeit zur Aufgabezerlegung kopieren Schüler Code-Abschnitte, statt sie in eine Funktion auszulagern.

Was Sie stattdessen lehren sollten

Zeigen Sie auf den kopierten Code und fragen Sie: 'Was passiert, wenn wir die Bewegung der Figur ändern wollen? Müssen wir dann jeden kopierten Block einzeln anpassen?' Fordern Sie die Gruppe auf, stattdessen eine Funktion zu erstellen.

Häufige FehlvorstellungWährend der individuellen Funktionsentwicklung argumentieren Schüler, dass Prozeduren das Programmverhalten nicht verändern.

Was Sie stattdessen lehren sollten

Fordern Sie den Schüler auf, sein Programm mit und ohne die erstellte Prozedur laufen zu lassen. Fragen Sie: 'Siehst du einen Unterschied in der Ausführung? Was ist einfacher zu ändern: der ursprüngliche Code oder die Funktion?'

Ideen zur Lernstandserhebung

Lernstandskontrolle

Nach der Paararbeit zur Figurbewegung geben Sie jedem Schüler ein Blatt mit einem Scratch-Programm, das eine Figur 10 Mal dieselbe Bewegung ausführt. Die Schüler erstellen eine Funktion, die diese Bewegung kapselt, und schreiben das Programm so um, dass es die Funktion nur einmal aufruft. Notieren Sie auf dem Ticket: 'Meine Funktion heißt: _____. Sie macht: _____.'

Kurze Überprüfung

Während der Kleingruppenarbeit zur Aufgabezerlegung zeigen Sie ein kurzes Scratch-Programm, das ein Quadrat ohne Funktionen zeichnet. Fragen Sie die Klasse: '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

Nach der individuellen Funktionsentwicklung 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 und diskutieren Sie die Vorteile der Wiederverwendbarkeit.

Erweiterungen & Unterstützung

  • Fordern Sie schnelle Schüler auf, ihre Funktion mit Parametern zu erweitern, die die Bewegungsrichtung und -dauer der Figur steuern.
  • Für Schüler mit Schwierigkeiten bereiten Sie vorbereitete Code-Schnipsel vor, in denen die repetitive Aufgabe bereits markiert ist, um den Einstieg zu erleichtern.
  • Vertiefen Sie das Thema, indem Sie die Klasse eine komplexere Aufgabe (z.B. ein Labyrinth) in Funktionen zerlegen und die Lösungen anschließend in einer Galerie präsentieren lassen.

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.

Bereit, Funktionen und Prozeduren: Code wiederverwenden zu unterrichten?

Erstellen Sie eine vollständige Mission mit allem, was Sie brauchen

Mission erstellen