Apr 222013
 

Nach einer längeren Pause aus verschiedenen Gründen setze ich mich nun daran, meinen Blog wieder mit aktuellen Informationen zu füttern.

Seit einigen Wochen unterrichte ich einen Informatik-Wahlpflicht Kurs der 8.Klasse an einem Hamburger Gymnasium  zum Thema “Software-Entwicklung”. Als erste Programmierumgebung nutzen wir Scratch, das als Programmiersprache eine Vielzahl an informatischen Konzepten einfach und visuell ansprechend umsetzt.

Nach einigen kleinen Übungen zur Entwicklungsumgebung und grundlegenden Anweisungs-Blöcken in Scratch sind wir nun in die umfangreichere Projektarbeit eingestiegen. Anhand einer technischen Problemstellung sollen die Schülerinnen und Schüler eigene Software-Lösungen entwickeln, überprüfen und erweitern.

Zur Problematisierung habe ich einen Videoclip gezeigt, der darstellt, wie das Löschen und der Weitertransport eines Containers im Hafen vonstatten geht.

Creative Commons: http://commons.wikimedia.org/wiki/File:MontrealExpress.jpg

Ziel der Projektarbeit ist, den Prozess des Van-Carriers, der die Container vom Kai am Schiff zum Zwischenlager transportiert, über eine Software zu automatisieren. Dies ist in einigen Containerterminals bereits der Fall, beispielsweise im Containerterminal Altenwerder. Herausfordernd ist hierbei neben der Steuerung eines Fahrzeuges auch der gesellschaftliche und arbeitstechnische Kontext, der typischerweise bei der Entwicklung von Software berücksichtigt werden sollte. Durch diese Einbettung in einen authentischen Kontext erwarte ich mir ein verstärktes Problembewusstsein, dass Software-Entwicklung mehr ist als Programmieren.

Hierfür wurde zunächst der Anwendungskontext untersucht und der wesentliche Arbeitsablauf herausgearbeitet, der automatisiert werden soll. Ein Arbeitsblatt sollte nach dem Video ausgefüllt werden und eine erste Modellierung des Prototypen ermöglichen:

Ein erster Plan als Modell für das Terminal

Als Kommunikations- und Dokumentationsmedium nutzen wir Blogs. Ich habe einen Lehrer-Blog, auf dem ich Aufgaben veröffentliche und Hilfestellungen gebe. Die Schülerinnen und Schüler haben ihren eigenen Blog, den sie vor allem als Lerntagebuch nutzen, aber auch zur Dokumentation ihrer Produkte.

Ein Ausschnitt aus dem Lehrer-Blog

Ein Lerntagebuch-Auszug eines Schülers

Ein Schülerblog, auf dem es per Kommentar Feedback und Hilfestellungen vom Lehrer gibt

Bisher läuft der Unterricht vielversprechend. Allerdings ist eine Doppelstunde pro Woche ziemlich wenig und den zuverlässigen Umgang mit einem Blog und ein angemessenes Lerntagebuch zu führen braucht Zeit und Übung. Aber besonders positiv ist für mich, dass ich direkte, individuelle Rückmeldungen bekomme und danach diagnostisch fördern und fordern kann.

Viele weitere hilfreiche Informationen zu Scratch gibt es hier:

http://www.inf-schule.de/informatik/scratch/

http://www.brandhofer.cc/?tag=scratch

Feb 212013
 
Eine der drei Präsentationsfolien

Als Gegenstand zur Vorbereitung der lokalen Änderungsrate habe ich gestern eine Stunde in der Vorstufe durchgeführt, die problemorientiert die Ermittlung von Steigungen auf verschieden großen Intervallen eines Graphen motivierte. Anhand eines aktuellen Zeitungsartikels zu geplanten Roboter-Einsätzen auf dem Mond, um in tiefen Kratern nach Wasser zu suchen wurde die Leitfrage aufgeworfen, welche Krater ein solcher Roboter mit einer gewissen Steigfähigkeit wieder verlassen kann. Anhand gegebener Graphen ermittelten die Schüler/innen zeichnerisch mehrere durchschnittliche Steigungen und präsentierten diese per Overhead-Folie. Trotz moderner Medien habe ich mich für die Arbeit mit solchen Folien entschieden, da sie während der Erarbeitung in Gruppen problemlos nebenbei gestaltet werden können. In der anschließenden Diskussion wurde thematisiert, wie eine maximale Steigung angenähert werden kann, um damit die lokale Änderungsrate als Ergebnis einer Grenzwert-Betrachtung immer kleinerer Intervalle zum Differenzenquotienten vorzubereiten. Abschließend wurde das Erlernte mit einem einfachen Lückentext und einer Hausaufgabe gesichert.

Als Aufhänger verwendete ich einen Zeitungsartikel zum Roboter-Einsatz auf dem Mond vom Handelsblatt. Das Deutsche Forschungszentrum für Künstliche Intelligenz (DFKI) forscht in Bremen seit Jahren an Robotern, die möglichst energiesparend und beweglich für Forschungen auf dem Mond eingesetzt werden sollen. Durch eine Impulsfrage von mir als Lehrer zu den Herausforderungen eines solchen Robotereinsatzes auf dem Mond sollten die Schüler/innen sich eigenständig der Leitfrage nähern, aber auch weitere wichtige Fragen im Kontext darstellen können.

Ich habe mich entschieden, den Schüler/innen drei Graphen zur Betrachtung zu geben, um einerseits motivierende Teilergebnisse zu sichern, da zwei der drei Graphen bereits sehr schnell eindeutige Aussagen zulassen. Der dritte Graph sollte dann analog zu den einfacheren ersten beiden bearbeitet werden und ist so konzipiert, dass er höhere Anforderungen mit sich brachte. In erster grober Näherung liegt die Steigung des dritten Kraters unter der Steigfähigkeit des Roboters, auf einigen kleinen Intervallen ist die Steigung dann aber über dieser, so dass er diesen Krater nicht verlassen kann. Somit wurde den Schüler/innen durch die Aufgabenstellung nahegelegt, kleinere Intervalle zu betrachten.

Arbeitsblatt Seite1

(Bildnachweise für das Arbeitsblatt: Roboter-Screenshot vom DFKI, Mondkrater unter public domain von der NASA)

Arbeitsblatt Seite2

(Bildnachweise: Eigene Produktion)

Eine der drei Präsentationsfolien

In der Nachbetrachtung hat sich das Problem des Roboter-Einsatzes als Unterrichtsgegenstand gelohnt, die Schüler/innen waren interessiert bei der Sache und die Leitfrage war einfach verständlich und damit der Arbeitsauftrag klar. Nach der Präsentation zielte ich mit einer Frage zur notwendigen, hypothetischen Steigfähigkeit eines Roboters zur Bewältigung eines gegebenen Kraters auf die Ermittlung der maximalen Steigung des Graphen. Diese kann nur als punktuelle Steigung sicher berechnet werden und somit wurde die Betrachtung lokaler Steigungen in den folgenden Stunden vorbereitend motiviert.

Materialien:

Arbeitsblatt-Gruppenarbeit (pdf)

Folie-A (pdf)

Folie-B (pdf)

Folie-C (pdf)

Arbeitsblatt-Lueckentext (pdf)

Arbeitsblatt-Hausaufgabe (pdf)

Feb 092013
 

Als Vorbereitung auf den zentralen Begriff der Differentialrechnung, die Ableitung, habe ich die letzten Wochen im Mathematik-Unterricht der Vorstufe die Interpretation von Wertetabellen und Graphen geübt. Mit einer Aufgabe, die als Extremwertaufgabe mit der Ableitung direkt lösbar wäre, habe ich den Tiefpunkt per Wertetabelle und per grafischer Abschätzung bestimmen lassen. Die Aufgabe hierzu (Horizontalflug) habe ich von einem Kollegen empfohlen bekommen. Sie sind auch online erhältlich bei Frank Nordheim, der (seinen Schüler/innen) auch weitere Materialien zur Verfügung stellt.

ein Ausschnitt aus dem Material von Frank Nordheim

Die Aufgabe hierzu war, den Graphen zur Funktionsgleichung zu zeichnen, die Geschwindigkeiten zu einer gegebenen Leistung zu bestimmen sowie die Geschwindigkeit zur minimalen Leistung. Es gab Schwierigkeiten der Schüler/innen, zu erkennen, dass mit einer Ausnahme immer zwei Geschwindigkeiten zu einer Leistung gehören, da “wenn ich in die Formel nur eine Leistung einsetze ja auch nur eine Geschwindigkeit da steht”  Rechnerisch gehören bei einer quadratischen Funktion überwiegend zwei Lösungen zu einem Funktionswert, wobei scheinbar auch der Sachkontext verwirrte, in dem festgelegt war, dass für einen Flug mit sehr langsamer Geschwindigkeit ebenfalls höhere Leistung benötigt wird. Auch der Wechsel von einer “klassischen” quadratischen Gleichung mit x und y als Variablen zu v und P(v) gestaltete sich als Hürde. Allerdings wurde in der Diskussion dann auch mit Hilfe einer geogebra-Visualisierung Klarheit geschaffen.

Eine Lösungsvariante zur Aufgabe

Im gleichen Kontext hatte ich vor, die Nützlichkeit von Tabellenkalkulations-Programmen zu zeigen, indem ich über eine Funktion, beispielsweise in Libre Office Calc Werte in immer kleineren Intervallen schachteln lasse. Hierzu bin ich zeitlich leider nicht mehr gekommen.

In einer Tabellenkalkulation lässt sich ein Extremwert durch Intervallschachtelung annähern, ohne eine Grafik erstellen zu müssen.

Zusätzlich habe ich als Wiederholung die beiden Punkte zur gegebenen Leistung von 32,5 Ps mit Hilfe der Funktionsgleichung und der quadratischen Ergänzung lösen lassen:

P(v) = 32,5 Ps = 1/160 v^2 – 3/2 v + 120

v^2 – 240 v + 14000 = 0

usw.

Als Sicherung habe ich zwei Versionen eines Arbeitsblattes ausgegeben, das jeweils die Lösung auf der anderen Version vorgegeben hat, um die Vernetzung der Darstellungsformen Wertetabelle und Graph zu stärken.

Ausschnitt des Arbeitsblattes Version A

Hier sind die Materialien zum weiterverwenden: Material-Darstellung-Tabelle-Graph.zip

Jan 242013
 
Das statische Greifer-Modell mit zwei Zahnrad-getriebenen Achsen, das anmutet wie ein Bagger. Die beiden Schüler bauten an diesem insgesamt 3 Schulstunden.

Zum Abschluss des Halbjahres lasse ich meine Schüler des Wahlpflicht-Kurses Robotik der 7.Klasse gerade mehrere anspruchsvollere Modelle bauen. Einige von ihnen erzielen beachtliche Ergebnisse, andere dagegen kommen nicht ganz so gut mit den komplexen Bauanleitungen zurecht. Die Bauanleitungen zum stationären Greifarm und zum Spinnen-Modell habe ich im Netz gefunden. Da im Kurs schon öfter geäußert wurde, dass Interesse am Bau interessanter Roboter besteht, bin ich diesem Wunsch an dieser Stelle nachgegangen.

Das statische Greifer-Modell mit zwei Zahnrad-getriebenen Achsen, das anmutet wie ein Bagger. Die beiden Schüler bauten an diesem insgesamt 3 Schulstunden.

Das noch nicht vollständige “Spinnen”-Modell, an dem zwei Schüler mit ausgedruckter Bauanleitung arbeiten.

 Posted by at 22:50
Jan 172013
 

Diese Woche habe ich eine Hospitationsstunde in der 11.Klasse recht erfolgreich umgesetzt.

Gegenstand der Stunde war ein Text aus dem Bereich meiner Ausbildung. Hierzu hatte ich einleitend einige Folien zum Problemlösen mit Mathematik und zu meiner Ausbildungsstätte, dem DESY (Deutsches Elektronen Synchrotron) und dem Arbeiten an mechanischen Fertigungsmaschinen im Unterrichtsgespräch eingebracht. Leider kann ich die verwendeten Fotos aus Lizenzgründen nicht auf meinem Blog veröffentlichen, aber bei der Eingabe von DESY in Suchmaschinen lassen sich auch so viele interessante Bilder finden.

Anschließend an die Problematisierung verteilte ich Arbeitsblätter in die Kleingruppen und gab den Auftrag, eine Präsentationsfolie vorzubereiten. Dies hatte gegenüber dem Smartboard oder Postern den Vorteil, dass sie zügig beschriftet werden kann und in der Gruppe am Tisch direkt zur Verfügung steht. Es gibt doch immer wieder auch gute Gründe, nicht die modernste, sondern die passendste Technik einzusetzen.

Hier ist die Aufgabenstellung, die zentral für die Stunde war:

Planung der Produktion von Maschinenbauteilen
In einer Firma, die Maschinenteile herstellt gibt es eine Bandsäge, eine Fräsmaschine und eine Drehbank.
Die Bandsäge steht aus betriebsinternen Gründen 9000 Minuten pro Woche zur Verfügung,
die Fräsmaschine 5200 Minuten und die Drehbank 5100 Minuten.
Es sollen drei Maschinenteile hergestellt werden (eine Kegel, ein Flansch und eine Welle).
Der Kegel benötigt 2 Minuten an der Bandsäge, 4 Minuten an der Fräsmaschine und 7 Minuten an
der Drehbank je Stück. Der Flansch benötigt 8 Minuten an der Bandsäge, 6 Minuten an der
Fräsmaschine und keine Zeit an der Drehbank je Stück. Die Welle benötigt 6 Minuten an der
Bandsäge, 1 Minute an der Fräsmaschine und 2 Minuten an der Drehbank je Stück.

Aufgabe:
Berechne die Anzahl der Maschinenteile, die in einer Woche hergestellt werden können,
so dass alle drei Maschinen optimal ausgelastet sind.

Der Text war bewusst komplex gestaltet, um das Strukturieren und mathematisieren von Informationen zu fördern. Dies gelang insgesamt auch recht gut. Die Gelenkstelle zwischen Problematisierung und Erarbeitung hatte ich etwas ungeschickt gestaltet und den Austausch über die Ergebnisse konnte nur angerissen werden abe ansonsten war die Stunde sehr erfolgreich. Die Gruppen entwurfen verschiedene Modell und verwarfen sie teilweise wieder, wie es bei Modellierungsaufgaben typisch ist. Die Sicherung holte ich die anschließende Stunde nach, so dass das Thema abgerundet werden konnte. Besonders zur Sinnstiftung halte ich die Aufgabe für günstig, da Lineare Gleichungssysteme meinen Schüler/innen bisher eher als reines Kalkül begegnet sind und sich im Alltag kaum Anwendungen erschließen.

Spannend war auch, dass eine Gruppe auf eine sehr ungewöhnliche Lösung gekommen war, die auch solide Ergebnisse ergab: Sie gingen schrittweise vor, indem sie erst eine Maschine möglichst effektiv mit zwei Bauteilen auslasteten, um die übrig gebliebene Zeit mit dem dritten Bauteil aufzufüllen. Eine Probier-Methode, die die Einsicht ermöglichte, dass unterschiedliche Strategien zum Ziel führen können.

Hier ist das für die Veröffentlichung gekürzte Material inklusive Stundenentwurf: UE Planung Maschinenbau

Jan 172013
 
FLL

Wie im letzten Jahr nahm ich auch dieses Mal am Hamburger Regionalwettbewerb der First Lego League teil. Allerdings nicht als Schiedsrichter, sondern mit einem eigenen Team. Unser Wahlpflichtkurs der 7.Klasse hatte sich, teilweise mit einigen “Überstunden” engagiert auf den Wettbewerb vorbereitet und dort auch ganz gut abgeschnitten.

Als Coach hatte ich einen anderen Blick auf den Wettbewerb, da unser Team permanent in die Überarbeitung der Programme und Positionierungen eingebunden war. Es wurde getestet, verglichen und mit Frust gekämpft. Am Tag des Wettbewerbes wurde unter Zeitdruck intensiv mehr erarbeitet, als zwischenzeitlich im vorhergehenden Unterricht. Allerdings waren auch besonders engagierte Schüler vor Ort und meine Unterstützung ganz bei ihren Bemühungen. Der jahrgangsübergreifende Effekt war durch das zweite Team unserer Schule aus dem Jahrgang 9. besonders durch Austausch und gegenseitiger Förderung positiv.

Bauen des Wettbewerb-Roboters der “Bobbycar-Gangster”

Im Vorfeld des Wettbewerbes hatten einige Schüler das Programm zur Abholung des Stuhls mit einem einfachen Greifarm ohne Motor, der durch ruckeln umfällt geschrieben und beim Wettbewerb festegestellt, dass diese Lösung nicht besonders günstig ist. Daher haben wir in der darauffolgenden Woche in Kleingruppen mehrere Roboter umgebaut, so dass die Aufgabe durch einen Greifarm mit Motor gelöst werden soll. Anschließend wurde der Roboter programmiert und getestet. Weitere Probleme, die sich mit Greifarmen und Hebeln lösen lassen wurden bearbeiten. Dies soll auch in Hinblick auf die nächste First-Lego-League im kommenden Jahr geschehen und das Erlernte festigen.

Der Greifer ohne Motor, den wir bei der FLL verwendeten

Eines der Gruppenergebnisse “Greifer mit Motor”

Ein weiteres Gruppenergebniss “Greifer mit Motor” – durch testen wurde später erkannt, dass der Motor eine andere Bewegung vollzieht und das Modell umgebaut

Das dritte Gruppenergebnis “Greifer mit Motor”

Nov 202012
 

Am vorletzten Wochenende fand die jährliche GI-Fachtagung der Hamburger und Schleswig-Holsteiner Informatik Lehrer/innen in unserer Schule am Richard-Linde-Weg statt. Ich nehme seit einigen Jahren an diesem “Familientreffen” teil (siehe meinen Bericht von 2011 und von 2010)

Dieses Jahr war Michael Kölling zu Gast, ein bekannter Softwareentwickler und Professor der Informatik aus Großbritannien, der maßgeblich BlueJ und Greenfoot entwickelt hat. Er stellte die neuesten Entwicklungen im Bereich Software-Werkzeuge für die Lehre und Bildungsarbeit vor und gab damit auch einen Ausblick auf die Weiterentwicklungen von Greenfoot. Es soll weg gehen von den Java-Klammern und Syntax-Hürden hin zur einer ausdrucksbasierten grafischen Oberfläche (d.h. z.B. Schleifen und Fallunterscheidungen nur vollständig als Block zuzulassen) zum Programmieren mit der Tastatur. Ein interessanter Ansatz, wird doch im Unterricht viel Zeit auf das Einüben syntaktischer Korrektheit vergeben, wohingegen es auch möglich wäre, durch eine Scratch-ähnliche Struktur (in der sich keine halben Schleifen oder Fallunterscheidungen erzeugen lassen) mehr Zeit auf die grundlegenden, Programm-unabhängigen Strukturen und Konzepte zu verwenden. Interessant war auch der Hinweis auf die Praxis, eigenes Wissen im Bereich als das Relevanteste einzuschätzen, wobei sich Generationen massiv unterscheiden. So ist es durchaus zutreffend, dass ganz unterschiedliche Dinge als “Grundlagen” “der” Informatik definiert werden, wobei Informatik sehr umfangreich und vielseitig ist.

Workshop „Programme im Flug“

An den Vortrag anschließend verteilten wir uns auf verschiedene Workshops. Im Workshop “Programme im Flug” wurde eine Parrot AR.Drone 2.0 vorgestellt, die sich über ein Smartphone im W-Lan per remote-controll steuern lässt. Das Modell ist für etwa 300 € frei käuflich und mit zwei Kameras ausgestattet. Die zweite Version des Gerätes ist nun mit annähernd HD Qualität erhältlich und sehr robust. Wie uns präsentiert wurde, kann es aus 1m Höhe ohne Probleme auf den Boden fallen gelassen werden. Die Drone hat einen ARM-Prozessor, Orientierungssensoren und Höhenmessung sowie eine Kompass und Drucksensoren und lässt sich über Schnittstellen entsprechend erweitern. Die Daten dieser Sensoren können über das Smartphone oder über eine USB-Schnittstelle erfolgen. Die Standard-Software zur Steuerung „freeflight 2.0“ ist Open Source und bietet über eine in C geschriebene A Schnittstellen zu verschiedenen Endgeräten. Mittels Bildverarbeitungsverfahren können über die Kameras Spiele gespielt werden und es sind augmented reality Anwendungen denkbar, so das z.B. Metainformationen zu Gebäuden, Gegenständen oder Personen eingeblendet werden könnten. Über spezielle Tags (Bilder, auf die die Drone speziell reagiert und sie damit in ihrer Umgebung speziell orientieren lässt) können auch Objekte verfolgt werden. GPS ist geplant, aber noch nicht umgesetzt. Mit dem „drone altitude viewer“ gibt es verschiedene grafische Oberflächen, um das System zu debuggen und alle Features anzeigen zu lassen. Als Sicherheitsvorkehrungen gibt es einen Notaus, der alle Motoren sofort stoppt und auch ausgelöst wird, sobald etwas in die Turbine kommt. Die Drone funktioniert als Access-Point im WLAn und erzeugt ein eigenes Netzwerk mit IP-Adressierung. Grundsätzlich ist es aber auch möglich, einem WLAN beizutreten und damit auch mehrere Dronen interagieren zu lassen.

Zusammenfassend lässt sich zum Workshop sagen, dass es interessant war, den aktuellen Stand der Technik von Dronen zu erfahren und über technische Details zu diskutieren sowie ein solches Gerät einmal selbst zu steuern. Auf der anderen Seite wurde kein Wort über die gravierenden potentiellen gesellschaftlichen Auswirkungen von Dronen verloren und ich war gerade nicht in Stimmung, das Thema auszubreiten. Gerade im unterrichtlichen Kontext sollte die Frage nach Interessenskonflikten um Herstellung und Nutzung sowie soziale Auswirkungen, wie die Erleichterung und potentielle Vermassung von Kontrolle und Überwachung unbedingt thematisiert werden. Auch ist es fraglich, inwieweit dem Mißbrauchspotential durch private wie staatliche Stellen überhaupt verantwortungsvoll technisch wie gesellschaftlich begegnet werden kann. Ich stelle mir vor, wie in ein paar Jahren jeder Mensch durch die Fensterscheiben direkt per Video alles Mögliche aufnehmen und ins Netz stellen kann und da graut es mir eher, als dass ich fasziniert bin. Wenn man heute bereits die Herausforderungen betrachtet gerade im Hinblick auf Kinder und Jugendliche und Videoproduktion und -verteilung, wächst die Herausforderung noch einmal beträchtlich, wenn ich ferngesteuert aus der Luft direkt und unwiederruflich Youtube füttern kann.

Abschließend zum Thema habe ich einige Artikel zum Thema Einsatz von Dronen, die einige gesellschaftspolitische Aspekte beleuchten ergänzt:

http://www.heise.de/newsticker/meldung/Bundestag-verabschiedet-Drohnengesetz-1424100.html

http://www.heise.de/newsticker/meldung/Polizeichefs-verabschieden-Richtlinien-fuer-Drohneneinsatz-1670353.html

Ein eher technischer Artikel: http://www.heise.de/hardware-hacks/meldung/Quadrokopter-AR-Drone-2-0-kommt-in-den-Handel-1558893.html

Eine Webseite von Amateur/innen, die sich mit Unmanned Aerial Vehicles (UAVs) beschäftigen: http://diydrones.ning.com/

Workshop „Messen mit Lego-Mindstorms“

In diesem Workshop eines Lego-Mitarbeiters ging es zum einen um Gtundsätzliches zum Gerät, zum anderen um einfache Anwendungen der Messwerterfassung am Beispiel der Temperaturmessung. Als erstes wird ein Programm erstellt, in dem die Anweisungen beschrieben werden, die der Roboter ausführen soll. Hierfür ist es wichtig, den richtigen Sensor-Typ auszuwählen, dann den Ausgabewert umzuwandeln (von Integer auf String), so dass er vom Display darstellbar ist und dann die Ausgabe zu definieren. Dieses Programm wird dann auf den Lego-Roboter übertragen (siehe unten im zip-Ordner “messen-temp.rbt”).

Als nächstes werden mit dem Roboter und dem Programm Messwerte über einen bestimmten Zeitraum erfasst. Diese speichert der Roboter in einer einfachen log-Datei (siehe unten im zip-Ordner “OBD_8.log”).

Diese log-Datei wird dann über die Messwert-Erfassung am Rechner vom Roboter ausgelesen und grafisch dargestellt.

Hier sind alle Dateien und Bilder zur einfachen Temperaturmessung zusammengefasst: Messen mit Lego

Nov 132012
 
vererbung-anfang1

Nach einem ersten Anlauf, der leider etwas ungenau geplant war, hatte ich heute die Möglichkeit, eine Doppelstunde zur Einführung in das Konzept der Vererbung in der objektorientierten Programmierung ein zweites mal besser vorstrukturiert durchzuführen.

Das Möbelplaner-Projekt wurde die letzten Jahre von Hamburger Informatik-Lehrer/innen und Didaktiker/innen, unter anderem von meinem Kollegen Uwe Debacher als möglicher Anwendungskontext für den Themenbereich “Objektorientierte Programmierung” im Rahmenplan der Studienstufe in Hamburg in Java entwickelt.

Das Projekt ist für die IDE (integrierte Entwicklungsumgebung) BlueJ konzipiert und besteht aus einer Klasse “Leinwand”, die die anspruchsvolleren Aufgaben der grafischen Darstellung im Hintergrund übernimmt, und aus den Klassen “Stuhl” und “Tisch”, die sich auf die Leinwand zeichnen lassen. Mit diesem Projekt arbeiten wir den Großteil des Semesters und bauen die Funktionalitäten Schritt für Schritt aus.

Grafik übernommen von http://www.debacher.de/wiki/BlueJ

Als Einstieg in das Thema “Vererbung” wählte ich ein UML-Diagramm (eine standardisierte Beschreibungssprache) der beiden Klassen “Stuhl” und “Tisch”, um die Attribute und Methoden wirkungsvoll im Vergleich gegenüberzustellen. Genauer wurde UML an dieser Stelle nicht thematisiert, dies werde ich im laufe der nächsten Wochen genauer tun.

eigene Grafik

In Hinblick auf Wartbarkeit und Übersichtlichkeit von Software diskutierten wir die Nachteile von Code-Dopplungen. An einem vorbereiteten Beispiel “Schrank” mit erbenden Klassen “Kleiderschrank” und “Küchenschrank” habe ich daraufhin das Konzept in Java gezeigt, wie sich Objekte erzeugen lassen und Attribute wie Methoden von “Schrank” auf die beiden Spezialfälle übertragen lassen, indem diese mit dem Schlüsselwort “extends” als Unterklassen von Schrank definiert werden. (siehe weiter unten “Schrank.zip” für das vollständige Java-Projekt) Hierbei habe ich extra-Zeit verwendet auf die Klassifizierung von Compiler-Fehlern und dabei auch das Thema Sichtbarkeit von Attributen und Methoden im Kurs diskutiert: Die zu vererbenden Elemente müssen als “public” oder besser als “protected” umgeschrieben werden, damit die erbenden Klassen auf diese zugreifen können.

Die Klasse Schrank mit den erbenden Unterklassen Kleiderschrank und Kuechenschrank, eigene Grafik

“Schrank” und “Kleiderschrank” sowie “Kuechenschrank” als UML-Diagramm, eigene Grafik

Die Aufgabenstellung war nun, für das eigene Möbelplaner-Projekt die Klassen Stuhl und Tisch (und möglicherweise weitere Klassen) von einer generalisierenden Oberklasse “Moebelstueck” erben zu lassen, um den Quellcode zu reduzieren und das Erzeugen neuer Möbel-Klassen zu erleichtern.

Hierzu hatte ich in unserem schulinternen Server-System mit iServ mehrere Hilfestellungen in Form von Quellcode als pdf je Klasse in verschiedenen Entwicklungsstufen mit einer Beschreibung des aktuellen Schrittes zur Verfügung gestellt, aber erst, nachdem alle etwa 20 Minuten eigenständig am arbeiten waren, um diejenigen zu unterstützen, die große Schwierigkeiten mit der Aufgabe hatten.

Das Hilfesystem mit schrittweisen Versionen der erbenden und vererbenden Klassen.

Etwa 20 Minuten vor Schluss habe ich einen Schüler, der gut in der Zeit lag sein Zwischenergebnis präsentieren lassen, um an diesem die Konfliktstelle zu diskutieren, die mir beim ersten Versuch im Parallelkurs den Rahmen gesprengt hatte. Die Methode “gibAktuelleFigur()” erzeugt über einen GeneralPath eine zweidimensionale grafische Darstellung der betreffenden Klasse. Wenn nun sämtliche Methoden aus “Stuhl” und “Tisch” generalisiert werden, so muss auch die Methode “gibAktuelleFigur()” in Moebelstueck enthalten sein, da sie von anderen Methoden benötigt wird, die exakt gleich sind in “Stuhl” und “Tisch”. Dies hatte der Schüler selbst als “unschön” gelöst erkannt, dass er einfach wie beim Stuhl einen Shape erzeugen ließ, obwohl ein Möbelstück gar keine direkte Form haben kann. Daran anknüpfend zeigte ich den Schüler/innen an der Schülerlösung, wie eine abstrakte Methode in einer dann abstrakt deklarierten Klasse eingefügt wird, die die Implementierung der Methode dann den Unterklassen überlässt. Dies rundete das heutige Thema ab und wurde gegen Ende der Stunde noch von einer Sicherungsphase mit individuellem Forumsbeitrag abgeschlossen.

Einige der Antworten auf die erste Fragestellung:

“Die Vererbung ist nützlich für das Software Projekt, weil es übersichtlicher gestaltet ist. Zwar braucht man Zeit um alles zu verstehen, doch nach und nach merkt man, dass es besser und schneller geht, wenn man die Sachen einmal definiert.”

“Es verkürzt das Schreiben um einiges und vereinfacht das Erstellen von Möbelstücken.”

“Die Vererbung ist sehr nützlich,weil man sich so eine Menge Arbeit sparen kann. Man definiert die Sachen die immer gleich sind nur ein einziges Mal. Außerdem wird es auch für den Aussenstehenden viel einfacher verständlich, weil das Skript nicht mehr so lang und kompliziert wirkt.Auch neue Klassen sind dank der Vererbung leichter zu erstellen.”

Die vollständigen Unterlagen zum weiterverwenden gibt es bei Uwe Debacher und soweit hier verwendet auch ausschnittsweise hier:

MoebelAnfang.zip

Schrank.zip

Hilfen-Vererbung.zip

Okt 242012
 
ein erster Prototyp für die Stoffquadrate-Mission (eigenes Bild)

Unser Team der 7.Klasse bereitet sich nun schon seit einigen Unterrichtsstunden auf die First Lego League-Teilnahme am 24.November in Hamburg vor.

Der Einstieg in den Wettbewerb gestaltete sich nicht ganz einfach, da eine solche Projektarbeit mit einem engen Zeitfenster und vielen Regeln, Teilaufgaben und Möglichkeiten eine große Herausforderung an Selbst- und Teamorganisation bedeutet und viele Fragen zu Beginn sehr offen sind. Es gibt allerdings viele Unterlagen, unter anderem einen Comic auf der deutschsprachigen Wettbewerbsseite (http://www.hands-on-technology.de/firstlegoleague/saison2012) sowie ein Videoclip mit Details zu allen Missionen (http://www.youtube.com/watch?v=tS6QUsf9XYQ).

Dieses Unterrichtsformat ist eher ungewöhnlich, zudem sind die inhaltlichen Anforderungen mit ihrem jeweiligen Aufwand bei wenig Erfahrung im Umgang mit Robotern schwer abzuschätzen. Auf der anderen Seite verspreche ich mir hier auch Lernchancen, die technische Alltags- und Berufsrelevanz haben. Die inhaltliche Ausrichtung des Wettbewerbes, die gesellschaftlichen Umstände von Technikeinsatz einbezieht, unterstützt meine Bemühungen Vor- und Nachteile sowie Interessensgruppen als Unterrichtsgegenstand aufzugreifen.

Zum Wettbewerb darf nur ein Roboter mitgebracht werden, der aber ganz unterschiedliche Missionen lösen muss, beispielsweise etwas heben, etwas schlagen und etwas umstoßen. Hierfür haben meine Schüler/innen nun erst einmal von mir ausgewählte Missionen versucht mit einfachen Roboter-Umbauten zu lösen, um im zweiten Schritt unseren Wettbewerbsroboter gezielt auf Grundlage der bereits durchgeführten Versuche zu konstruieren.

Eine der ersten Missionen hat unser Team diese Woche bereits ganz gut gelöst.

Weitere Informationen auf meinem Blog zur First Lego League:

Der Spielfeld-Aufbau 2012 (eigenes Bild)

ein erster Prototyp für die Stoffquadrate-Mission (eigenes Bild)

Okt 112012
 

Die letzte Woche vor den Herbstferien hatten wir an unserer Schule eine Projektwoche zum Thema “Wasser” mit verschiedenen Angeboten von Tanz und Bühnenbild über Ausflüge bis zu verschiedenen Experimentier-Workshops. Ich habe ein Angebot für unsere jüngeren Schüler/onnen zum Thema “Wasserkraft” durchgeführt.

Einige Arbeitsergebnisse unseres Workshops

Continue reading »