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.
Lernziele
- 1Erklären Sie, warum die Wiederverwendung von Code durch Funktionen die Effizienz von Programmen erhöht.
- 2Analysieren Sie ein gegebenes Programm und identifizieren Sie wiederkehrende Aufgaben, die in Funktionen ausgelagert werden können.
- 3Entwickeln Sie ein einfaches Programm, das mindestens eine eigene Funktion zur Lösung einer Teilaufgabe verwendet.
- 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 →
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
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
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
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
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
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
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: _____.'
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.'
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
| Funktion | Ein 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. |
| Aufruf | Der 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. |
| Parameter | Werte, die einer Funktion beim Aufruf übergeben werden, um ihr Verhalten zu steuern oder ihr spezifische Daten für die Ausführung zu liefern. |
| Rückgabewert | Der 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. |
Vorgeschlagene Methoden
Planungsvorlagen für Digitale Welten Entdecken: Informatik Starter
Mehr in Erste Schritte in der Programmierung
Sequenzen und Schleifen: Wiederholungen nutzen
Die Schülerinnen und Schüler nutzen Sequenzen und Schleifen in blockbasierter Programmierung zur Effizienzsteigerung.
3 methodologies
Ereignissteuerung: Interaktive Programme
Die Schülerinnen und Schüler programmieren Interaktionen zwischen Nutzer und Software durch Ereignissteuerung.
3 methodologies
Variablen: Werte speichern und nutzen
Die Schülerinnen und Schüler lernen Variablen als Speicherorte für Werte kennen und wenden sie in einfachen Programmen an.
3 methodologies
Bedingte Anweisungen: Wenn-Dann-Sonst
Die Schülerinnen und Schüler implementieren bedingte Anweisungen, um Programme auf unterschiedliche Situationen reagieren zu lassen.
3 methodologies
Einfache Spiele programmieren
Die Schülerinnen und Schüler wenden die gelernten Programmierkonzepte an, um ein einfaches interaktives Spiel zu entwickeln.
3 methodologies
Bereit, Funktionen und Prozeduren: Code wiederverwenden zu unterrichten?
Erstellen Sie eine vollständige Mission mit allem, was Sie brauchen
Mission erstellen