Informatik mit Arduino

leonardo

Ich habe in diesem Jahr einen Informatikkurs in der Klasse 10 übernommen. Den besucht man als Schülerin oder Schüler zusätzlich zu einem recht vollen Stundenplan in Klasse 10, um die Option auf eine Teilnahme an einem Informatikkurs in Klasse 11 zu bekommen. Man darf dann im Abitur zwei Kurse Naturwissenschaft durch Informatik ersetzen. Ich bin kein gelernter Informatiklehrer – ich bin einfach nur ein größenwahnsinniger Freak und wahrscheinlich schlägt die Informatikdidaktik über meine Ansätze die Hände in der Luft zusammen.  Egal – entweder man ist konventionell oder man lebt.

Stufe 1:

Wir haben Probleme in Einzelprobleme zerlegt – z.B. sollten 20 Zahlen von 20 Personen abgefragt und addiert werden. Unsere Strategien haben wir aufgeschrieben. Dabei spielteh folgende Fragen eine Rolle:

  • Wie merken wir uns die ganzen Zahlen?
  • Wenn wir sie uns aufschreiben: Wir machen wir das genau? Nebeneinander? Untereinander?
  • Addieren wir bei jeder Abfrage oder fragen wir alle Zahlen ab und addieren dann?
  • […]

Stufe 2:

Wir haben mit dem Flussdiagramm ein Verfahren kennen gelernt, dass Aufgeschriebene zu visualisieren und diese Visualisierung für weitere Probleme durchgespielt, die z.B. Fallunterscheidungen enthielten.

Stufe 3:

Mit Scratch haben wir unser Problem aus Stufe 1 ganz konkret gelöst und zwar durch Pass&Fail. Für Scratch muss man heute im Prinzip nicht einmal ein Programm installieren – das läuft auch komplett im Browser – wenn man beim MIT einen Account anlegt. Wer mochte, konnte sich auch schon am klassischen Ratespiel „rate eine Zahl zwischen 1 und 100“ versuchen oder sich eines der vielen veröffentlichten Projekte zu Scratch vornehmen. Die Lösungsansätze haben wir uns vorgestellt und teilweise diskutiert.

Stufe 4:

Anhand eines Ausdrucks eines „Scratchprogrammes“ galt es, ein Flussdiagramm zu zeichnen und einen fiesen, von mir natürlich absichtlich eingebauten Fehler zu finden. Dazu gab es noch einige Erweiterungs- und Optimierungsaufgaben.

Stufe 5:

In einem Dokuwikisystem haben die Schülerinnen und Schüler Seiten zu Programmiersprachen erstellt. Ich habe eine klare Struktur vorgegeben: Eine kurze Beschreibung zur Sprache, ein „Hello World!“- , ein „if -then – else“- und ein „while“-Codebeispiel. Dokuwiki kann das absolut prima, weil es einen leistungsfähigen Syntaxhighlighter für fast alles hat. Es braucht keine Datenbank, ist ajaxbasiert – einfach und umkompliziert. Unnötig zu erwähnen, dass dabei die Konfrontation mit dem Begriff „Syntax“ sowohl theoretisch (für die Sprache suchen) als auch praktisch (Wikisyntax) erfolgte.

Zwischenstand:

Die Schülerinnen und Schüler haben bis jetzt eigentlich schon alles erlebt, was man beim Programmieren so erleben kann:

  • „Mein Code läuft nicht!“ – „Hm. Da fehlt ’ne Klammer“ – „Oha, wenn ich da etwas einrücke, dann wird es ja viel übersichtlicher.“
  • „Sein Code läuft und meiner auch. Welcher ist denn nun richtig?“ – „Welcher gefällt dir denn warum besser?“
  • „Boah, ist das viel zu schreiben!“ – „Nunja – aber wenn sich das ständig wiederholt, könntest du ja vielleicht auch …“
  • […]

Stufe 6:

Kurzer Lehrervortrag zu Arduino. Dann ran an den Simulator – der ist absolut toll und zu empfehlen, bevor die ersten Bauteile in Rauch aufgehen.

Natürlich habe ich zunächst eine ganz einfache Beispielschaltung vorgestellt (blinkende LED).

(circuits.io klappt bisher so richtig gut nur mit Chrome oder Chromium als Browser.)

Die sollte dann um drei LEDs in einer Ampelschaltung erweitert werden. Dazu musste man schon ein Bisschen was am Breadboard verstehen. Nebenbei wurde auch etwas über die Wellenlänge des Lichts und Farbe gelernt: Im Simulator ändert man die LED-Farbe durch Eingabe von Wellenlängen in nm. Und ohne Vorwiderstand macht die LED „peng“, verpolt macht sie gar nichts. Es gab sofort das Spiel: „Wie klein darf ich den Widerstand machen, dass die LED heil bleibt?“ Nebenbei ist die Simulatorhomepage auf Englisch (Widerstand = resistor).

Stufe 7:

Es kommt etwas Theorie zur Arduino-IDE. Wir werden den Arduino Leonardo bzw. einen pinkompatiblen Nachbau  nutzen, weil der durch sein HID-Funktionen in Kombination mit Lagesensoren auch als Gamecontroller oder Mausersatz taugt. Den Arduino kaufen sich die Schülerinnen und Schüler selbst, das Zubehör stifttet unser Förderverein. Die Kosten sind aber sehr marginal im Verhältnis zu den sich bietenden Möglichkeiten. Dann können wir unsere Schaltung aus Stufe 6 real aufbauen.

Ausblick

Die Schülerinnen und Schüler sollen sich nach Möglichkeit eigene Projekte suchen, die sie mit dem Arduino realisieren. Natürlich habe ich notfalls Projekte von unterschiedlichem Schwierigkeitsgrad in der Hinterhand. Der Komplexitätsgrad der Projekte darf natürlich mit dem wachsenden Wissensbeständen steigen. Die Schule bekommt aus einem N21-Projekt für eine AG Roboter auf Arduinobasis gestellt, auf die sich dann ggf. die erwobenen Kenntnisse übertragen lassen.

Mit der steigenden Komplexität der Projekte erwarte ich ein Anwachsen der Programmcodes, das irgendwann dazu führen soll, bestimmte Funktionen auszulagern in objektorientierte Settings (Ende 2. Halbjahr). Schön wäre es, wenn der Code für einen alleine nicht mehr zu pflegen ist, sodass auch Strukturen wie SVN notwendig werden.

Erste Eindrücke

  1. Ich lerne mit den Schülerinnen und Schülern mit. Für mich ist vieles Neuland.
  2. Schülerinnen und Schüler finden Fehler im Programmcode viel schneller in Peer-Reviews als ich
  3. Dieser Ansatz schreckt auch einige ab. Man muss ja allerhand aushalten und sogar auch Elektronik- und Englischwissen ausbauen
  4. Ich musste die Beschäftigung mit der Hardware vorziehen. Ich und die Schülerinnen und Schüler können es teilweise kaum erwarten.
  5. Es wird sehr selbstständig und konzentriert gearbeitet – auf die Frage: „Kann ich das so machen?“ antworte ich oft: „Probiere es aus!“ – und mit dieser Antwort sind sie oft zufrieden.
  6. Perfektionisten sind in der Hinterhand – am effektivsten arbeiten die Experimentierfreudigen
  7. Man kann wunderbar differenzieren: Der C-Freak bekommt eben eine Bildröhre mit Composite-Eingang, auf der er ein Spiel programmiert. Das ist vom Timing her nicht trivial, da der Arduino von seiner Rechenleistung damit an eine Grenze kommt. Dem Anfänger reicht vielleicht ein Lauflicht als erstes Projekt – oder ein Thermometer (NTCs haben eine Kennlinie, muss muss mathematisiert oder mit einem anderen Thermometer kallibriert werden).
  8. Es kommen Fragen wie: „Darf ich zu Hause an meiner Schaltung im Simulator weiterarbeiten?“ „Dürfen wir unser Projekt auch mit nach Hause nehmen?“
Facebook Like

2 Kommentare

  • Klingt toll! Wieviel Zeit hast du denn jeweils auf die einzelnen „Stufen“ verwendet und wie viele Wochenstunden hast du?

  • Ich habe eine Doppelstunde pro Woche und das, was die SuS an eigenem Engagement mit hineingeben. Insgesamt waren es 12 Unterrichtsstunden. Sehr wichtig war mir, möglichst schnell an das Gerät zu kommen, weil hier die Lernprozesse wirklich anfangen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.