Okt 142015
 

Heute war wieder EDchatDE, der 100. zum Thema „digital literacy / digitale Kompetenzen“ und ich hatte zumindest etwas Zeit heute, in der Mittagspause dabeizusein. Vieles ging mir zu schnell, deshalb sammel ich hier noch einmal einige Gedanken.

Ich will mich gar nicht aufdrängen als Informatiklehrer, aber mir fällt doch immer wieder auf, wie selten der Begriff „Informatik“ im Kontext digitale Medien fällt, wenn nicht gerade Informatiker/innen diskutieren (was heute teils-teils der Fall war). Liegt das am Bild der Informatik bei medienaffinen Nicht-Informatiker/innen? Müssen bestimmte Konzepte übersetzt, anders formuliert oder gefasst werden? Immerhin sind die Rahmenpläne zumindest in Hamburg so, dass viele der gewünschten digitalen Medienkompetenzen dort eingebettet sind.

Dort heisst es unter anderem „Im Informatikunterricht erarbeiten sich die Lernenden Grundbausteine einer Medienkompetenz, indem sie die Struktur von Informatiksystemen sowie deren Wechselwirkungen mit den Nutzern analysieren und selber mediale Produkte und Informatiksysteme gestalten.“

Verbindliche Inhalte sind „Text Dokumente“, „Kommunikation“, „Grafik“ und „Präsentation“, also alles Konzepte, die auch mediendidaktisch relevant sind und Freiraum bieten für Ausgestaltung mit Social Software. Warum also wird an neuen Begriffen und Fächern diskutiert, statt die Forderung zu unterstützen die Informatik in der Schule verbindlich und für Alle zugänglich zu unterrichten? Möglicherweise könnte dies zur Versöhnung auch als „Medieninformatik“ deutlicher profiliert werden und die Lehrer/innen-Ausbildung für ein Fach Medieninformatik einen Fokus auch auf mediendidaktische Fragen legen, die bisher in der Informatik-Ausbildung fehlen. Generell ist eine grundlegende Kenntnis, wie Informationsverarbeitung stattfindet und wie Informatiksysteme aufgebaut sind (und damit meine ich nicht Programmierung) und was das für die Gesellschaft bedeutet, nicht nur allgemeinbildend, sondern alarmierend relevant.

Zu der Einschätzung, dass viele Kompetenzen „so nebenbei“ im Fachunterricht der etablierten Fächer abgedeckt werden, habe ich im Chat mal provokant eingestreut, dass das mit der deutschen Sprache ja auch ähnlich interpretiert werden könnte – die wird ja genauso wie Medien und Computer irgendwie in allen möglichen Fächern angewendet, da könnte das Fach Deutsch doch gleich abgeschafft werden… Continue reading »

Mai 212015
 

Da ich gerade selbst nicht die Zeit finde, etwas ausfuerlicher zu der in Deutschland aktuell diskutierten Smartphone-Nutzung in Schulen zu schreiben, wollte ich aber doch auch einen Kommentar, den ich auf dem Blog „Kreidefressen“ hinterlassen habe nochmal hier posten (einer eher zu informatischer Bildung allgemein) sowie zwei weitere Artikel zum Thema empfehlen, die auf Twitter diskutiert wurden:

Kommentar zu http://www.kreidefressen.de/2015/05/20/wir-sollten-uns-langsam-daran-gewoehnen/

„Ja, gewöhnen ist gut, aber gestalten ist besser. Gerade wenn Verbote als Lösung in der Diskussion stehen, sollte darauf aufmerksam gemacht werden, wie Kompetenzen zur verantwortungsvollen und bewussten Nutzung erlernt werden. Durch Verbote nämlich nicht. Wie Herr Larbig in seinem Artikel auch schon schrieb, sollte eher gefragt werden, warum die Medienkompetenz in bestimmten Bildungsschichten so schwach ausgeprägt ist und wie dagegen angegangen werden kann.“

und zu http://www.kreidefressen.de/2015/04/25/verschulung-aepfel-und-informatische-bildung/

„Die Diskussion auf Twitter verfolge ich auch, bin auch für ein Pflichtfach Informatik und kann auch gute Gründe nennen, warum vieles nicht einfach “nebenbei” in anderen Fächern laufen kann. Ich könnte mir auch gut vorstellen, um die Fronten ein wenig anders aufzustellen und auch um Prioritäten deutlich zu machen, das Pflichtfach “Medieninformatik” zu nennen.
Aber statt Hickhack zwischen Fächern (Ich bin einer der seltenen Informatiklehrer) wäre es meiner Ansicht nach produktiver, statt wegen Sachzwängen / Kürzungsbefürchtungen bei “alteingesessenen”, relevante allgemeinbildende Inhalte aus der Schule fernzuhalten (wie es in Deutschland bundesweit fast ausschliesslich passiert – schliesslich findet wenig Informatik-Unterricht statt) generell die reine Fächerorientierung in Frage zu stellen.
Ich kann mir Unterricht viel besser in Projekten vorstellen, die aus verschiedenen Komponenten, Inhalten und Methoden von Fachbereichen bestehen, als in klassischer 45 Minuten Aufteilung.
Zumindest für Hamburg kann ich sagen, das Projektorientierung ein wesentliches Merkmal der Informatik ist, in dem andere Fragen im Kontext problematisiert werden. Zum Beispiel in einem Projekt “Wetter”, in dem Daten und grafische Darstellungsformen eine Rolle spielen (auch Inhalte der Informatik) aber auch Geografie, Mathe, Deutsch oder Biologie Platz finden kann.
Die Einrichtung von Profiloberstufen in Hamburg hat in diesem Kontext Potential, wenn sich zwischen Fächern mehr aufeinander bezogen wird. Es soll ja auch Schulen geben, die Projekte neben den Fächern als einen festen Teil ihres Unterrichtes verankern, wobei Stunden nicht verloren sind, sondern eine andere Kontextuierung bekommen.“

Artikel zur Smartphone-Nutzung:

http://herrlarbig.de/2015/05/19/handyverbot-verbessert-leistungen-anmerkungen-zu-einer-studie-der-london-school-of-economics/

http://www.watson.ch/!835460018

Zwei Artikel

Mrz 202015
 

Vor einigen Wochen konnte ich endlich die Gelegenheit der Projekttage nutzen, um ein Informatikprojekt hier an der deutschen Schule in Ecuador durchzuführen und es war ein voller Erfolg. Meine Schülerinnen und Schüler, die das Projekt „programación de graficoes en 3D“ gewählt hatten, waren alle aus der 10.Klasse und arbeiteten freiwillig über das Maß hinaus interessiert an ihren kleinen Projekten.

foto proyectos

Ergebnis eines Schülers am ersten Tag

Continue reading »

Jan 242015
 

Meine Homepage www.haukemorisse.de ist zwar immer noch nicht wirklich modernisiert, aber zumindest habe ich nun endlich einige veraltete Informationen überarbeitet. Ich werde in nächster Zeit wohl auch kaum dazu kommen, mehr als diesen Blog zu aktualisieren. Auf Twitter tut sich einiges, auch mit dem Linux-Client Turpial, der mir das Arbeiten erleichtert und mir zur Zeit immer mal aktuelle Einblicke in die Entwicklungen in Hamburg zum Thema #Pflichtfach-Informatik gibt. Auch auf meinem Social-Bookmarking bei Delicious tut sich was, immer nützlich, um Links wiederzufinden, obwohl mir eine offene Alternative lieber wäre. Und das neue WordPress verspricht, bessere Funktionen für das Einbetten verschiedener externer Inhalte zu gewährleisten. Probier ich gleich mal aus:

Okt 272013
 

Wie bereits im letzten Beitrag geschrieben ist das Referendariat nun einige Zeit her, aber besonders fuer diejenigen, denen eine muendliche Pruefung noch bevorsteht, moechte ich hier etwas zu dieser schreiben und meine Unterlagen zur Verfuegung stellen.

Als uebergreifenden Aufhaenger habe ich mir die effektive individuelle Foerderung durch projektorientierten Unterricht und Diagnose fuer die Pruefung ueberlegt. Dies hatte zum einen den Vorteil, das ich in diesem Bereich einige Erfahrungen im Referendariat sammeln konnte und diese aufbereitet darstellen konnte, zum anderen, dass mich projektorientierte Arbeitsweisen ueberzeugen und ich die theoretischen Ueberlegungen zur Entwicklung von Unterrichtsqualitaet interessant finde. Daher hatte ich mir auch als aktuelle Lektuere die Erhebungen von Hattie zugrundegelegt, aber auch Klassiker des Projekt(orientierten) Unterrichtes u.a. von Johannes Bastian. Das Pruefungsgespraech unterstuetzte ich mit farbigen Karten an einer Pinnwand, die in ihrer Struktur dem Handout entsprachen und mir gleichzeitig als Unterstuetzung im Redefluss dienten. Die Pruefung verlief sehr gut und es ergaben sich interessante Diskussionen besonders ueber Potentiale und Grenzen der Projektmethoden.

Hier meine Handouts:

´Wie muss projektorientierter Unterrricht strukturiert sein, um zielorientiert und erfolgreich zu sein?` (Allgemeindidaktik)

´Klassenführung im projektorientierten Unterricht der Mittelstufe: Wie kann die durchgeführte Unterrichtseinheit „Robotik WP-7“ für die Zukunft optimiert werden?´ (Informatik)

 ´Wie kann Diagnose im Spannungsfeld der Lehrerrollen Prüfer und Berater insbesondere in der Vorstufe einer Stadtteilschule gelingen?´ (Mathematik)

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

Jan 242013
 

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
 

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
 

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