Hardware herstellen und programmieren lernen
Ein Beitrag von Peter Wenger (Freien Waldorfschule Wahlwies)
Seit ca. 1982 unterrichte ich Computertechnologie in der Freien Waldorfschule Wahlwies. Neben der Handhabung des Computers ist für mich das Verstehen der Funktion besonders wichtig. Ein Computer besteht für aus zwei wesentlichen Teilen, der Hardware und der Software. Beide nehmen in meinen Unterricht einen wichtigen Teil ein.
Bis vor wenigen Jahren benutzte ich folgende Bestandteile um dies verständlich zu machen:
- Einen Aufbau zum Volladierer, ein Computer-Lehrgerät mit dem auch schon sehr einfache Programme abgearbeitet werden konnten.
- Programmiersprachen: Assembler, C++ mit dem Toolkit fltk
Seit 2010 habe ich meinen Unterricht vollständig umgestellt auf:
- Den Einplatinen-Computer: Arduino
- Die Programmiersprache: processing.
Hardware
Der Arduino ist ein kleiner Einplatinen-Computer für ca 25,-€. Er hat fertige Schnittstellen für die Eingabe und Ausgabe sowohl Digital als auch Analog. Dazu gibt es ein Entwicklungssystem welches auf processing beruht (processing beruht seinerseits auf Java). Das Entwicklungssystem läuft auf jedem Betriebssystem und die fertigen Programme werden per USB auf den Arduino übertragen.
Bis jetzt setzte ich das Gerät in Projekten und Arbeitsgruppen ein. Jeder Schüler überlegt sich was er mit dem Arduino machen möchte und realisiert es dann mit meiner Hilfe. Dabei entstanden Lichtsteuerungen, Roboterfahrzeuge, Steuerungen für Rolläden usw. Es gibt Beschreibungen wie man mit Funksteckdosen arbeiten kann, so dass die Schüler beim Schalten von 230V nicht in Kontakt mit der Netzspannung kommen, der Arduino kann mit einem Zusatz Twittern, so dass zum Beispiel eine Twitter-Meldung gesendet wird sobald jemand das Zimmer betritt (Ob das so sinnvoll ist ist eine andere Frage).
Software:
Im normalen Unterricht der 11. Klasse, das ist hier in Wahlwies 2 Doppelstunden pro Woche für ca. 6 Wochen in gedrittelten Klassen, schreiben die Schüler viele kleine Programme mit processing.
Processing ist eine auf Java aufsetzende Programmiersprache, welche eine integrierte Entwicklungsumgebung enthält. Processing wurde entwickelt für Künstler und Kunststudenten welche gerne mit dem Computer künstlerisch arbeiten wollen. Mit processing ist es möglich schon mit wenigen Zeilen sehr ansprechende Ergebnisse zu erzielen. Es ist leicht dreidimensionale Objekte zu erzeugen und diese auch zu animieren. Es ist ganz einfach Abläufe mit der Maus oder andern Eingabegeräten zu steuern. Zusatzbibliotheken ermöglichen das Verändern von Tönen und Musikstücken und auch von Filmen. Die Ergebnisse können mit einem Mausklick in Applets oder Applikationen gespeichert werden. Applets laufen in jedem Internet-Browser der Java enthält, Applikationen sind selbständige Programme welche auf jedem Computer laufen welcher Java enthält. Die Applets laufen auch auf Smartphones und Smartpads.
Im Unterricht geben ich immer einige neue Befehle vor und ein Beispiel, dann bekommen die Schüler eine Aufgabe welche sie mit den neuen Befehlen lösen müssen. Auch schreiben wir mindestens 2 Tests.
Beispielprogramm, welches die Schüler in der 2.Doppelstunde bekommen.
In einem Fenster kann mit der Maus eine Ellipse bewegt werden und wenn man eine Maustaste drückt, wechselt die Ellipse die Farbe. Die Schüler bekommen dann die Aufgabe eine andere zusammengesetzte Figur, z.B. ein Haus mit der Maus zu bewegen.
//2.Programm mit Interaktion mit der Maus
//20.10.2010 Wenger
void setup()
{
size(800, 800);
// smooth();
}
void draw()
{
if (mousePressed)
{
fill(255,0,0,100);
} else
{
fill(0,0,255,100);
}
ellipse(mouseX, mouseY, 40, 80);
2. Beispiel für etwa die 3. Doppelstunde
Die Schüler bekommen den Code mit Erklärungen für einen sich drehenden, dreidimensionalen Würfel mit einer Dachfläche. Ihre selbstständige Arbeit ist die fehlende Dachfläche zu ergänzen. Das ist für manche nicht ganz einfach, da es mit rumprobieren nicht klappt, sondern der Schüler sich die Eck-Koordinaten der Dachfläche genau überlegen muss.