Programming for prospective educators (using Scratch): Unterschied zwischen den Versionen

Aus ZUM-Unterrichten
Markierung: 2017-Quelltext-Bearbeitung
Markierung: 2017-Quelltext-Bearbeitung
Zeile 59: Zeile 59:
=='''unit 4'''==  
=='''unit 4'''==  


Im Teilmodul 4 setzen sich die SuS mit der Simulation eines Rasenmähroboters auseinander. Dabei stützen sie sich auf das Block-Konzept, das ihre Arbeit wesentlich erleichtert und das Programm übersichtlicher macht. Anhand dieses Beispiels reflektieren die SuS die Problematik der Determiniertheit und Korrektheit von programmierten Problemlösungen.  
In '''unit 4''', the students deal with the simulation of a robotic lawnmower. They rely on the block concept, which makes their work much easier and provides a clearer outline of the program. Using this example, the students reflect on the problem of the determinacy and correctness of programmed solutions to problems.


{{Box|Ziele Teilmodul 4|* Die SuS verstehen eine Simulation als Möglichkeit für das Suchen nach einer Problemlösung.
{{Box|Objectives unit 4|* The students understand a simulation as a way of searching a solution for a problem.


Sie analysieren und testen das zur Verfügung gestellte Beispiel der Simulation eines Rasenmäher-Roboters.
* They analyse and test the provided example of the simulation of a robotic lawnmower.


Die SuS ergänzen das Simulationsbeispiel mit einem selbst entwickelten Algorithmus.
* The students supplement the simulation example with an algorithm that they develop on their own.


Sie verstehen das Blockkonzept zur übersichtlichen Gliederung von Programmen.|Kurzinfo }}  
* They understand the block concept as a means to outline programs clearly.|Kurzinfo }}  


[[ProgrammierenITBO-Teilmodul-4|zum Teilmodul 4]] [[Datei:Icon_Noun-internal-link-4974682.svg|verweis=ProgrammierenITBO-Teilmodul-4|30x30px]]
[[ITBO-Programming-part-4|jump to unit 4]] [[Datei:Icon_Noun-internal-link-4974682.svg|verweis=ITBO-Programming-part-4|30x30px]]


=='''Unterrichtsverlauf'''==  
=='''Unterrichtsverlauf'''==  

Version vom 25. Juli 2023, 09:29 Uhr

| unit 1 → | unit 2 → | unit 3 → | unit 4 → |


Deutschsprachige Originalversion: Programmieren für angehende Pädagog:innen (mit Hilfe von Scratch) →


Introduction

This course has been developed for students of Swiss specialised upper secondary schools in the occupational field of education (=pedagogy), subsequently abbreviated as «SSC-P».

The course comprises four units of 2 lessons each. For each unit, instructions are available for the students and a handout for the teacher. In addition, the templates and sample solutions for the programming tasks are published in studio ITBO Programming on the Scratch portal.

unit 1

In unit 1, the students will get to know the programming environment of Scratch and the basics of programming by means of a sample project. They will implement a matchstick puzzle (model construction). Without too many theoretical considerations, the students will learn basic concepts of "professional" programming (object and event orientation, process communication). Additionally, the students will get acquainted with a Scratch-extension (text-to-speech).

Objectives unit 1
  • The students get to know the Scratch programming environment and how to use it in order to create and manage their own programming projects.
  • They learn the basic elements of the Scratch programming language and use them to "write" their first simple programs.
  • The students reflect on their experiences with programming.
  • They also learn (without too many theoretical considerations) basic concepts of "professional" programming (object and event orientation, process communication).

jump to unit 1 Icon Noun-internal-link-4974682.svg


unit 2

Unit 2 focuses on the concept of turtle graphics and the use of Scratch in primary school. Using the example of "properties of regular polygons", the students can experience exploratory learning with turtle graphics for themselves. In addition, the students learn about and apply the essential "basic building blocks" of programs (sequence, repetition, conditional execution, variables).

Objectives unit 2
  • The students get more familiar with Scratch.
  • They learn about and apply the "basic building blocks" of programs (sequence, repetition, conditional execution, variables).
  • The students understand the concept of turtle graphics for the exploratory learning in primary school.
  • They deal with the programming of turtle graphics by means of a concrete example.

jump to unit 2 Icon Noun-internal-link-4974682.svg


unit 3

Unit 3 introduces the students to the design and programming of multimedia stories / animations in Scratch.

Objectives unit 3
  • The students analyse a simple interactive, multimedia "story". They complete the "story" with an additional scene.
  • The students learn how to design and create "scenes" and "scene changes".
  • They learn how to design and implement animations.

jump to unit 3 Icon Noun-internal-link-4974682.svg

unit 4

In unit 4, the students deal with the simulation of a robotic lawnmower. They rely on the block concept, which makes their work much easier and provides a clearer outline of the program. Using this example, the students reflect on the problem of the determinacy and correctness of programmed solutions to problems.

Objectives unit 4
  • The students understand a simulation as a way of searching a solution for a problem.
  • They analyse and test the provided example of the simulation of a robotic lawnmower.
  • The students supplement the simulation example with an algorithm that they develop on their own.
  • They understand the block concept as a means to outline programs clearly.

jump to unit 4 Icon Noun-internal-link-4974682.svg

Unterrichtsverlauf

Die SuS werden für den Unterricht ganz unterschiedliche Vorkenntnisse mitbringen und unterschiedliches Interesse am Programmieren zeigen. Einige Schüler:innen werden erklären, dass sie schon programmieren können. Andere werden skeptisch sein, ob sie das je lernen werden und ob sie das überhaupt brauchen.

Wenn die hohen Erwartungen an das Programmieren in der Schule (… logisches und kritisches Denken, Kreativität, Teamarbeit, ...) erfüllt werden sollen, müssen sich die SuS auf ihre je eigene Art mit den Inhalten des Moduls Programmieren auseinander setzen können.

Zu jedem Teilmodul gibt es eine Anleitung, mit der die SuS in Gruppen (idealerweise Zweier-, nötigenfalls Dreiergruppen) selbständig arbeiten können (student edition). Die Lehrpersonen finden so Zeit, sich intensiver mit den Schülerinnen und Schülern zu befassen, die schon Erfahrung mitbringen oder dem Programmieren skeptisch gegenüber stehen. Dazu steht den Lehrpersonen zu jedem Teilmodul ein Begleitdokument zur Verfügung (teacher edition). Die skeptischen Schüler:innen so zu unterstützen, dass sie ihre Vorbehalte als Ansporn empfinden, und die erfahrenen Schüler:innen zur (selbst-) kritischen Auseinandersetzung mit den Inhalten der Teilmodule (oder wenigstens der Teilmodule 2 und 3) zu motivieren, wären erstrebenswerte Ziele.

Eine formative Lernkontrolle macht unter diesen Umständen keinen Sinn. Hingegen würde ein kollaborativer Texteditor (z.B. https://edupad.ch) den SuS ermöglichen, ihre Fragen und Kommentare zu den Aufgaben und Reflexionen laufend zu notieren und untereinander zu diskutieren. Bei Bedarf könnte die Lehrperson verlangen, dass alle SuS mindestens drei relevante Fragen und/oder Kommentare einbringen müssen.


Zeitbedarf

Für die vier Teilmodule ist ein Zeitbedarf von je 2 Lektionen vorgesehen. Die Teile 1 und 2 bilden eine Einheit; deren Bearbeitung nimmt je nach Klasse vielleicht doch etwas mehr Zeit in Anspruch. In diesem Fall müsste eventuell auf Teilmodul 4 verzichtet werden.


Disposition


Warum programmieren?

Programmieren ist eine Tätigkeit, deren Ergebnis ein Computer-Programm ist. Das Faszinierende daran ist die Vielfalt an unterschiedlichen Aufgaben, die mit solchen Programmen gelöst werden können.

Warum sollen die angehenden Lehrpersonen programmieren lernen? Es gibt zahlreiche Quellen, die Antworten auf diese Frage liefern, zum Beispiel:

Zitat
Programmieren [ist] so wichtig wie schreiben und lesen. Quelle: https://www.fritzundfraenzi.ch/gesellschaft/programmieren-so-wichtig-wie-schreiben-und-lesen/

Beat Döbeli Honegger (Fachkern Medien und Informatik an der Pädagogischen Hochschule Luzern) gibt im Beitrag «Warum Informatik in der Schule?» eine differenziertere Antwort, indem er Informatik mit neun Argumenten zur Allgemeinbildung zählt:

Zitat
  • Konstruktionismus-Argument ("Der Computer als Schüler:in")

Wissenschaftsargument ("Informatik gehört zur Allgemeinbildung, weil Informatik mit Simulation ein drittes Standbein in die Wissenschaft gebracht hat.")

Denkobjektargument ("Der Computer als Denkobjekt")

Problemlöseargument ("Informatikkenntnisse helfen auch beim Lösen von Problemen ausserhalb der Informatik.")

Welterklärungsargument ("Um die heutige Informationsgesellschaft verstehen und erklären zu können, sind Informatikkenntnisse notwendig.")

Konzeptwissenargument ("Informatikkenntnisse helfen, die Nutzung von ICT besser zu verstehen.")

Arbeitstechnikargument ("Mit Informatik lässt sich das präzise Planen, Arbeiten und Kommunizieren im Team üben.")

Motivations-/Interesseargument ("Mit Informatik lassen sich Schülerinnen und Schüler mit technischem Interesse ansprechen.")

Berufswahl-Argument.

Programmieren ist ein Teilaspekt der Informatik. Das Modul «Programmieren» an der FMS Berufsfeld Pädagogik beschränkt sich auf folgende Ziele:


  1. Die Schülerinnen und Schüler der FMS Berufsfeld Pädagogik (kurz «SuS») werden später als Primarlehrpersonen eigene Ideen für den Unterricht entwickeln, wie Computerprogramme ihre Schülerinnen und Schüler beim Lernen unterstützen könnten. Sie sollen deshalb entsprechende Apps auch selbst programmieren können (z.B. ein mit der Zeit wachsendes Verzeichnis der Wörter, welche die Kinder in ihren eigenen Texten verwenden; das Verzeichnis fördert die Erweiterung des Wortschatzes der ganzen Klasse und die schwächere Primarschüler:innen können die korrekte Schreibweise der Wörter leicht «nachschlagen»). #Primarschülerinnen und Primarschüler sollen den Computer als Werkzeug für das entdeckende Lernen in «traditionellen» Fächern wie Mathematik, Geometrie oder Geografie nutzen können. Dazu eignet sich der Turtle-Grafik-Ansatz von Seymour Papert (weiterentwickelt und aktualisiert von Yasmin B. Kafai / Quinn Burke). Die SuS der FMS sollen sich deshalb das Konzept von Turtle-Grafiken aneignen, damit sie es später den Primarschüler:innen erklären können. Als angehende Lehrpersonen werden sie dann auch in der Lage sein, selbst Aufgaben zu stellen, die Primarschüler:innen mit Turtle-Grafiken lösen können. #Die SuS sollen auch verstehen, wie Programme und andere Unterrichtsmaterialien in Form von offenen Bildungsressourcen (Open Educational Resources, OER) veröffentlicht werden können, um Lehrkräften die Vorbereitung und Durchführung des Unterrichts zu erleichtern. Damit nützen sie Informatikanwendungen für zeitgemässe Formen der Kooperation.


«Passende» Programmierumgebungen

Welche Programmierumgebung eignet sich, um die genannten Ziele zu erreichen? Dazu seien einige Auswahlkriterien angeführt.

Die Programmierumgebung muss benutzerfreundlich sein, damit sich die SuS in der kurzen für das Modul «Programmieren» zur Verfügung stehenden Zeit mit den Grundlagen des Programmierens vertraut machen können.

Sie muss moderne Programmier-Konzepte unterstützen (z.B. Objekt- und Ereignisorientierung), damit die SuS damit auch anspruchsvolle Programmiervorhaben bewältigen können.

Die Programmierumgebung muss von Primarschüler:innen genutzt werden können. Und sie muss «Turtle-Grafiken» unterstützen (gemäss dem Konzept von Seymour Papert, 1967, damals realisiert mit der Programmiersprache Logo und Schildkröten – engl. turtles – als sich bewegende Objekte).

Die Programmierumgebung muss die blockbasierte Programmierung unterstützen. Die textbasierte Programmierung eignet sich für den Unterricht in der Primarschule nicht.

Idealerweise unterstützt die Programmierumgebung das kooperative (Weiter-) Entwickeln von Programmen.

Die Programmierumgebung sollte schon recht verbreitet sein. Mit einer grossen Nutzerschar («community») ist eher sichergestellt, dass die Umgebung laufend weiterentwickelt und auch an sich ändernde schulische Bedürfnisse angepasst wird.

Schulisch eingesetzte Software sollte möglichst allgemein verfügbar sein und es auch bleiben, damit Bildung für alle zugänglich ist. Idealerweise wird sie von personenunabhängigen Stiftungen oder auch Institutionen der öffentlichen Hand getragen. Damit sie nicht monopolisiert werden kann, sollte sie quelloffen programmiert sein.

Nachfolgend sind einige bekannte Programmierumgebungen, die im deutschsprachigen Raum für schulische Zwecke genutzt werden bzw. in Frage kämen, kurz beschrieben. Der Auswahl und der Reihenfolge der Programmierumgebungen liegt keine explizite Systematik zugrunde. Schliesslich wird die Wahl von Scratch als Programmierumgebung für den Unterricht an der Fachmittelschule Berufsfeld Pädagogik begründet.

Im Dokument Datei:ModulProgrammierenDisposition-v4.odt sind einige bekannte Programmierumgebungen, die im deutschsprachigen Raum für schulische Zwecke genutzt werden bzw. in Frage kämen, kurz beschrieben (XlogoOnline, Kara, Scratch, Snap!, ScratchKara, WebTigerJython). Der Auswahl und der Reihenfolge der Programmierumgebungen liegt keine explizite Systematik zugrunde.


Gewählte Programmierumgebung: Scratch

Für das Erreichen der Ziele des Moduls «Programmieren» an der FMS Berufsfeld Pädagogik eignet sich dieProgrammierumgebung Scratch sehr gut.

Scratch bietet mit der Unterstützung moderner Programmierkonzepte (Objekt- und Ereignisorientierung, Prozesskommunikation) eine Umgebung, die sich allgemein für das Programmieren an Mittelschulen eignet.

Scratch eignet sich aber auch speziell für das Programmieren mit Kindern, insbesondere für das entdeckende Lernen mit Turtle-Grafiken.

Scratch wurde 2007 entwickelt und wird mittlerweile an vielen Schulen in verschiedenen Schulstufen eingesetzt. Scratch ist kostenlos und in über 70 Sprachen verfügbar. Die Scratch-Community umfasst 42 Millionen Projektersteller:innen. Die Scratch Foundation, eine Non-Profit-Organisation, gewährleistet die längerfristige Verfügbarkeit und Weiterentwicklung von Scratch.

Zu Scratch gibt es auch eine grosse Auswahl an frei verfügbaren Unterrichtsmaterialien. Scratch ist webbasiert. Die Nutzer:innen von Scratch können deshalb mit irgendwelchen Geräten mit Internetanschluss (auch Tablets) auf ihre Projekte zugreifen. Die Nutzer:innen können Projekte auch austauschen und gemeinsam oder getrennt weiterentwickeln (remix).

Wer Scratch offline nutzen will, kann die Programmierumgebung lokal auf dem eigenen Gerät installieren. Es gibt die App für MS-Windows, macOS, ChromeOS und Android (Download-Seite). Für iOS und iPadOS (iPhone und iPad) gibt es keine Scratch-App.

Authors: Bruno Wenk, Dieter Burkhard

Translations: Patricia Berchtel


INDEXIEREN