=Paper= {{Paper |id=Vol-1332/paper_11 |storemode=property |title=Java, LEDs und ein RaspberryPi: Ein Projektversuch mit Erstsemestern |pdfUrl=https://ceur-ws.org/Vol-1332/paper_11.pdf |volume=Vol-1332 |dblpUrl=https://dblp.org/rec/conf/seuh/LanghoffSG15 }} ==Java, LEDs und ein RaspberryPi: Ein Projektversuch mit Erstsemestern== https://ceur-ws.org/Vol-1332/paper_11.pdf
       Java, LEDs und ein RaspberryPi:
            Ein Projektversuch mit
                Erstsemestern
                                    Axel Langhoff, Michael Striewe, Michael Goedicke
                                                        Universität Duisburg-Essen
                    {axel.langhoff,michael.striewe,michael.goedicke}@paluno.uni-due.de


Zusammenfassung
Bei der Einführung von Studierenden in die Program-
mierung stellt sich immer wieder das Problem, den
Stoff attraktiv aufzubereiten und den Studierenden
eine Möglichkeit zu geben, ihr Wissen auf eine moti-
vierende Art anzuwenden. Für Studierende ohne Vor-
kenntnisse ist die Einstiegshürde in eine vollwertige
Programmiersprache hoch. Hinzu kommt die Schwie-
rigkeit mit dem frisch erworbenen Wissen eigene Ide-
en in ansehnliche Ergebnisse umzusetzen. Für Stu-
dierende mit großem Vorwissen hingegen besteht die
realistische Gefahr sich in diesen Veranstaltungen zu
langweilen.
                                                                                     Abbildung 1: LED-Board
   In dem hier vorgestellten Ansatz haben wir versucht,
unseren Studierenden in Form eines LED-Boards eine
Umgebung zur Verfügung zu stellen, die (1) im Sinne                    Bänder und ein R ASPBERRY P I1 , um die LEDs auf den
einer Lernumgebung möglichst einfach zu verwenden                      Bändern anzusteuern. Da die LEDs auf den Bändern
ist, (2) dem unterschiedlichen und im Verlauf der Vor-                 einen Abstand von etwa 3,5 cm haben, haben wir
lesung wachsenden Kenntnisstand der Studierenden                       uns für unsere Installation für ein Feld von 12x12
gerecht wird, (3) sichtbare und schöne Ergebnisse der                  LEDs entschieden, das damit eine Fläche von etwa
Programmieranstregungen der Studierenden ermög-                        40 x 40 cm einnimmt. Als Träger für die Montage
licht, (4) der Kreativität der Studierenden möglichst                  der LEDs dient eine handelsübliche Blech-Lochplatte
wenig Grenzen setzt, und (5) die Motivation der Stu-                   aus dem Baumarkt, so dass die Kabelführung bequem
dierenden steigert. Diesen Zielen liegt die Annahme                    auf der Rückseite des Boards erfolgen kann. Jeder
zugrunde, dass eine motivierte Beschäftigung mit ei-                   LED kann unabhängig von den Farben der anderen
nem ansprechenden Projekt den Studierenden hilft,                      LEDs ein individueller RGB-Farbwert zugewiesen wer-
ihre Programmierkenntnisse zu vertiefen und zu festi-                  den, so dass sich ein großes und leuchtkräftiges 144-
gen.                                                                   Pixel-Farbdisplay ergibt (siehe Abbildung 1). Nach
   Neben dem LED-Board selbst berichten wir in die-                    anfänglichen technischen Schwierigkeiten beim Zu-
sem Beitrag über unsere Erfahrungen mit der Verwen-                    sammenbau, die teilweise auf mangelnde Dokumenta-
dung des LED-Boards in unserer Programmierungs-                        tion der verwendeten Komponenten zurückzuführen
vorlesung, sowie die Akzeptanz und den Lernerfolg                      sind, konnten wir nach dem ersten Prototypen ein
unter den Studierenden.                                                zweites, baugleiches Board an einem Arbeitstag zu-
                                                                       sammenbauen.
1     Das LED-Board                                                       Um die direkte Ansteuerung der LEDs über die
                                                                       GPIO-Pins des R ASPBERRY P I vor den Studierenden zu
Das von uns entwickelte LED-Board besteht aus-
                                                                       verbergen und die Ansteuerung der LEDs möglichst
schließlich aus Komponenten, die im regulären Elek-
                                                                       einfach zu gestalten haben wir eine Java-Bibliothek
tronikhandel problemlos erhältlich sind und ohne be-
                                                                       implementiert. Die Wahl fiel auf Java, da auch unsere
sondere handwerkliche Qualifikation in der passenden
                                                                       Vorlesung für die das Board entwickelt wurde auf Ja-
Form zusammengebaut werden können. Die beiden
wesentlichen Bestandteile sind abschneidbare LED-                        1 http://www.raspberrypi.org/




Axel Schmolitzky, Anna Sabine Hauptmann (Hrsg.): SEUH 2015
                                                                                                                         93
                                                          sondern eigene Projekte realisieren können. Auf diese
                                                          Weise erhofften wir drei Ziele zu erreichen:

                                                          •     Steigerung der Motivation der Studierenden auf-
                                                                grund von eigener kreativer Tätigkeit,
                                                          •     Vertiefung der vorhandenen Programmierkennt-
                                                                nisse durch praktische Anwendung,
                                                          •     Sensibilisierung für Themen, die über den Stoff
                                                                der Vorlesung bzw. die vorhandenen Kenntnisse
                                                                hinaus gehen und die sich aus den selbstgewähl-
                                                                ten Zielsetzungen ergeben.

                                                            Der letzte Punkt ist insbesondere wichtig, da er
                                                          sowohl unerfahrene als auch erfahrene Studierende
Abbildung 2: Emulator zum LED-Board. Die Größe            anspricht: Unerfahrene Studierende können an ihren
der Kreise korrespondiert mit der Helligkeit der LEDs     eigenen Projekten feststellen, wofür sie die Inhalte der
auf dem physischen Board. Mit den Schiebereglern          Vorlesung benötigen, während erfahrene Studierende
rechts kann die Helligkeit des Emulators und des an-      erkennen können, dass auch ihre Fähigkeiten noch
geschlossenen Boards kontrolliert werden.                 nicht umfassend sind. Beide Gruppen werden somit
                                                          zum Lernen motiviert.
                                                          2.1     Erforderliche und trainierte
va aufbaut. Diese Bibliothek bietet mehrere leicht ver-
                                                                  Fähigkeiten
ständliche Methoden, um die einzelnen LEDs über ihre
Koordinaten auf dem Board anzusteuern. Außerdem           Die einfachste Verwendung des LED-Boards besteht
ermöglicht die Bibliothek den Studierenden am hei-        in der Darstellung von Standbildern. Die Farbwer-
mischen PC Programme für das Board zu entwickeln          te der LEDs können dazu theoretisch mit einem Be-
und die Ergebnisse unabhängig vom Board in einem          fehl pro LED „per Hand“ gesetzt werden. Einzig ein
Emulator zu sehen und zu testen (siehe Abbildung 2).      sehr rudimentäres Verständnis von Arrays ist hierzu
Neben der Steuerung und Emulation des Boards wird         erforderlich und die Ergebnisse wären weder beson-
von der Bibliothek auch ein einfaches Interface zur       ders interessant, noch lehrreich. Eine Abfolge von
Verfügung gestellt, um Tastatureingaben auszuwer-         unzusammenhängenden Bildern wäre als weitere Ver-
ten und so die Entwicklung interaktiver Programme         wendung denkbar, die erbrachte Programmierleistung
zu ermöglichen. Dieses Interface, wie auch der Rest       ginge aber nicht über eine reine Fleißarbeit hinaus.
der Bibliothek, verbergen außerdem das notwendige         Als strukturierendes Merkmal des Codes drängen sich
Threadhandling vollständig vor dem Benutzer.              in diesem Fall lediglich einzelne Methoden auf, die
                                                          jeweils ein Einzelbild zeichnen und nacheinander auf-
  Die Bibliothek stellt keine weiteren Anforderungen      gerufen werden. Die Inhalte einer typischen Anfän-
an die Umgebung und kann somit ohne Umstände              gervorlesung zur objekt-orientierten Programmierung
durch Eintragung in den Java-Classpath in ein neues       werden mit derartigen Projekte nur zum Teil abge-
Java-Projekt eingebunden werden. Zu der Bibliothek        deckt. Eine umfassende Festigung und Vertiefung des
wurden eine kleine, an Anfänger gerichtete Anleitung      gesamten Stoffes kann damit also nicht erreicht wer-
sowie mehrere Beispielprogramme angeboten, um die         den. Andererseits bietet die geringe Menge von not-
Verwendung der Bibliothek zu demonstrieren.               wendigen Kenntnissen auch schwächeren Studieren-
                                                          den die Chance, einen sichtbaren Erfolg zu erzielen.
2    Einsatzziele des Boards in der                          Höhere Anforderungen stellen Animationen dar, die
     Lehre                                                nicht aus einer Abfolge „von Hand“ gezeichneter Ein-
                                                          zelbilder bestehen, sondern die durch eine dynami-
Ziel der Entwicklung des LED-Boards war es, eine          sche Erstellung bzw. Veränderung der Einzelbilder
Lernumgebung zu schaffen, die insbesondere in Lern-       erfolgen. Eine solche Animation erfordert mindestens
veranstaltungen mit Erstsemestern eingesetzt werden       das geschickte Zusammenspiel von Arrays und Schlei-
kann. Das bedeutet, dass sowohl Studierende ohne          fen. Als strukturierendes Merkmal des Codes bieten
Vorkenntnisse, als auch Studierende mit Programmie-       sich hier Klassen an, die jeweils einen Teil der Anima-
rerfahrung aus Schule oder Freizeit angesprochen wer-     tion (z.B. ein veränderliches grafisches Objekt) rea-
den sollten, und dass das Board mit dem fortschreiten-    lisieren und geeignete Methoden bereitstellen, um
den Kenntnisstand im Laufe der Vorlesung mithalten        Instanzen zu manipulieren (z.B. die Position des gra-
sollte. Insbesondere war angestrebt, mit dem Board        fischen Objekts zu ändern) und auf dem Board anzu-
eine freie Umgebung anzubieten, in der die Studie-        zeigen. Projekte dieser Art decken damit bereits einen
renden keine vorgegebenen Aufgaben zu lösen haben,        wesentlichen Teil einer typischen Anfängervorlesung




94                                                                       Axel Schmolitzky, Anna Sabine Hauptmann (Hrsg.): SEUH 2015
zur objekt-orientierten Programmierung ab und ge-            schirmausgabe. In wie weit sich dieser Effekt abnutzt,
ben insbesondere anschauliche Beispiele für die dort         konnte im Rahmen unserer bisherigen Erfahrungen
vermittelten Kernkonzepte.                                   nicht untersucht werden.
   Mit Hinzunahme der Tastaturunterstützung sind                Als Nachteil des LED-Boards muss angesehen wer-
auch interaktive Programme, insbesondere Spiele              den, dass es mit Kosten für die Hardware verbunden
denkbar. Die Reaktion auf Benutzereingaben erhöht            ist und nicht in beliebiger Stückzahl vorgehalten wer-
nochmal die Anforderung an die Programmstruktu-              den kann. Andererseits ist dies aufgrund des verfüg-
rierung, vor allem wenn es sich um kontinuierlich            baren Emulators auch nicht notwendig.
entgegengenommene Eingaben handelt bzw. das Pro-
gramm im Hintergrund unabhängig von einer Eingabe            3   Einbettung in unsere
fortschreiten soll. Da die Studierenden zur Verarbei-            Lehrveranstaltung
tung von Benutzereingaben auch Keyevents aus den
                                                             Das LED-Board wurde bisher im Wintersemester
awt-Bibliotheken von Java verarbeiten müssen, ent-
                                                             2013/14 und im Sommersemester 2014 jeweils in
steht auch ein erster leichter Anknüpfungspunkt zur
                                                             der Erstsemestervorlesung zur Programmierung an
selbstständigen Arbeit mit API-Dokumentationen. Ins-
                                                             der Universität Duisburg-Essen am Campus Essen ein-
besondere gehen solche Projekte zumindest punktuell
                                                             gesetzt. Der allgemeine Aufbau der Vorlesung sieht
deutlich über den Umfang einer einer typischen Anfän-
                                                             vor, dass die Studierenden neben 4 SWS Vorlesung
gervorlesung zur objekt-orientierten Programmierung
                                                             und 2 SWS Globalübung im Semesterverlauf sechs
hinaus. Studierende, die solche Projekte gestalten zei-
                                                             Testate ablegen, in denen Programmieraufgaben zu
gen damit eine deutliche Motivation, mehr als nur
                                                             bearbeiten sind und bei denen mindestens 400 von
den notwendigen Stoff zum Bestehen der Klausur zu
                                                             maximal möglichen 600 Punkten erworben werden
lernen.
                                                             müssen, um die Zulassung zur abschließenden Klau-
2.2     Abgrenzung zu anderen                                sur zu erwerben. Das LED-Board wurde in diesem
        (Lern-)umgebungen                                    Konzept ergänzt, indem die Studierenden durch die
                                                             erfolgreiche Bewältigung eines Programmierprojekts
Von Lernumgebungen wie Greenfoot (Henriksen u.
                                                             mit dem Board ebenfalls 100 Punkte erwerben konn-
Kölling, 2004) unterscheidet sich das LED-Board da-
                                                             ten. Ein Projekt konnte dabei sowohl von einzelnen
durch, dass es mit seiner geringen Zahl an farbigen
                                                             Studierenden, als auch von einer Gruppe aus bis zu
LEDs zwar grundsätzlich weniger „hübsche“ Mög-
                                                             drei Studierenden bearbeitet werden. Zusätzlich zu
lichkeiten der Ausgabe bietet, den Nutzern insge-
                                                             dieser formalen Einbindung des LED-Boards in die Vor-
samt jedoch mehr Freiheiten in der Anwendung bie-
                                                             lesung wurde ein „Publikumspreis“ ausgelobt, indem
tet. Insbesondere macht es keine Vorgaben über ein
                                                             an einem Vorlesungstermin am Ende des Semesters al-
Welt-Modell wie beispielsweise Kara2 oder das Java-
                                                             le teilnehmenden Studierenden ihr Projekt vorstellen
Hamster-Modell3 und lässt damit auch anderen krea-
                                                             und mittels Applaus durch ihre Kommilitonen bewer-
tiven Ideen größeren Raum. Die bedeutendsten limi-
                                                             ten lassen konnten. Für den ersten Platz wurde dann
tierenden Faktoren sind die Leistungsfähigkeit des
                                                             ein Sachpreis vergeben.
R ASPBERRY P IS, die bei schnellen Bildwechseln zu Ru-
ckeln führen kann, sowie die geringe Zahl an LEDs,              Die erfolgreiche Projektteilnahme im formalen Sin-
die keine detaillierten Bilder erlaubt. Letzteres kann       ne schloss neben der Teilnahme an dieser Präsentati-
jedoch auch als Vorteil angesehen werden, da sich            on zur Demonstration eines lauffähigen Programms
die Studierenden so auf algorithmisch und strukturell        zudem die Teilnahme an einem anschließenden Co-
anspruchsvolle Projekte konzentrieren können, und            dereview ein. Dieses Codereview sollte einerseits si-
weniger Mühe in optische Kosmetik investieren.               cherstellen, dass die Studierenden ihren Code wirklich
                                                             selbst erarbeitet hatten und bot andererseits eine Mög-
   Gegenüber der reinen Programmierung mit Ausga-
                                                             lichkeit für die Lehrenden, den Teilnehmern Feedback
be auf der Kommandozeile (Java, C++, . . . ) sowie
                                                             zu ihrem Code und der Struktur ihrer Programme zu
der Verwendung GUI-orientierter Sprachen wie Visu-
                                                             geben.
alBasic oder Delphi bietet das LED-Board den Vorteil,
                                                                Die oben beschriebenen Teilnahmebedingungen,
dass sich schnell vergleichsweise spektakuläre Effekte
                                                             das LED-Board sowie die Java-Bibliothek wurden je-
erzielen lassen, ohne sich dazu in APIs einzuarbei-
                                                             weils gegen Mitte des Semesters in der Vorlesung
ten, die den Rahmen einer Einführungsvorlesung übli-
                                                             vorgestellt und den Studierenden zur Verfügung ge-
cherweise sprengen bzw. Zeit für andere grundlegen-
                                                             stellt. Zu diesem Zeitpunkt konnten wir ein Minimal-
de Themen kosten. Dabei kommt auch zum Tragen,
                                                             verständnis für die Programmierung und die in unse-
dass ein physisches Board mit leuchtkräftigen LEDs im
                                                             rer Veranstaltung verwendete Entwicklungsumgebung
Hörsaal bzw. Übungsraum einen anderen optischen
                                                             Eclipse voraussetzen. Gleichzeitig ergab sich dadurch
Eindruck erzeugt als die Beamerprojektion einer Bild-
                                                             eine Bearbeitungszeit für das Projekt von etwa sechs
  2 http://www.swisseduc.ch/informatik/karatojava/           Wochen, wobei die Studierenden diesen Zeitrahmen
greenfootkara/index.html                                     durch einen späteren Start oder eine frühere Abgabe
  3 http://www.java-hamster-modell.de/index2.html            selbstständig verringern konnten.




Axel Schmolitzky, Anna Sabine Hauptmann (Hrsg.): SEUH 2015
                                                                                                                95
   Um einen hinreichenden Anspruch der Projekte zu                                        WS 2013/14             SS 2014
gewährleisten, mussten alle Projekt-Ideen vorab mit       Einzelteilnehmer                    10                    7
dem Projektbetreuer abgesprochen und von diesem ge-       2er-Gruppen                          5                    10
nehmigt werden. Die Schwelle ausreichender Komple-        3er-Gruppen                          3                    7
xität wurde allerdings bewusst sehr niedrig gehalten,     Gesamtzahl Teilnehmer               29                    48
um auch die schwächeren Studierenden ansprechen
zu können. Einzige feste Vorgabe in beiden Semestern     Tabelle 1: Teilnehmerzahlen in den beiden Projekt-
war daher, dass ein bewegtes Bild auf dem LED-Board      durchläufen im Wintersemester 2013/14 und Som-
erzeugt werden musste. Aufgrund der Erfahrungen          mersemester 2014.
aus der ersten Durchführung haben wir uns beim zwei-
ten Mal zusätzlich vorbehalten Projekte abzulehnen,
die in dieser oder ähnlichen Formen schon von an-        geringere Teilnehmerzahl im Wintersemester dürfte
deren Studierenden angemeldet worden waren, da           auf die spätere Vorstellung des LED-Boards zurückzu-
sonst die Vorstellung am Ende des Semesters unter        führen sein. Das Board befand sich zu dieser Zeit noch
zu vielen ähnlichen Projekten gelitten hätte. Wurden     in der Entwicklung und vor allem die Java-Bibliothek
Vorschläge aufgrund dieser Kriterien abgelehnt, wur-     erhielt in diesem Semester noch mehrere Updates.
den vom Projektbetreuer in der Regel Anregungen             Unter den in beiden Semestern eingereichten Pro-
gegeben, wie die Projektidee geeignet abgewandelt        jekten fand sich eine sowohl in Art und Idee, als
werden konnte, um die Zulassungskriterien zu erfül-      auch programmiererischer Komplexität und Schwie-
len. Wir haben außerdem eine Liste von möglichen         rigkeit breite Auswahl an Programmen. Von der nicht-
Projekten bereit gehalten, falls Studierende gerne an    interaktiven Anzeige einfacher Flaggen anlässlich der
dem Projekt teilnehmen wollten, aber noch keine ei-      2014 stattfindenden Fußball-WM, die mit verschiede-
genen Ideen hatten. Von diesem Angebot habe einige       nen Animationen ineinander übergeblendet wurden,
wenige Gruppen Gebrauch gemacht.                         über liebevoll animierte Landschaften, Feuerwerke,
   Um die Studierenden nicht darauf zu beschränken,      interaktive Laufschriften (eine davon über Twitter
ihre Programme am Emulator zu testen, wurde das          steuerbar!) und Spiele wie Snake, 4 gewinnt, 2048
Board auch für „Live-Experimente“ im Rahmen ohne-        und Tetris, bis zu einem ganzen Programmierungsf-
hin mehrfach pro Woche stattfindender Tutorien zur       ramework für das Board, dessen Fähigkeiten seine
Verfügung gestellt. In diesen Tutorien standen schon     Programmierer durch mehrere verhältnismäßig auf-
vorher studentische Tutoren dafür bereit, Studieren-     wändige Spiele demonstrierten, war deutlich sichtbar
de individuell bei der Arbeit an Übungsaufgaben zu       eine weite Spanne von Programmierungsanfängern
betreuen, so dass der einzige Mehraufwand darin be-      bis zu bereits erfahrenen Programmierern abgedeckt.
stand, diese studentischen Tutoren in der Handhabung        Es kann damit bereits an dieser Stelle festgehalten
des LED-Boards zu schulen. Durch dieses Angebot          werden, dass das Ziel, die Kreativität der Studieren-
konnte insbesondere sichergestellt werden, dass die      den nicht einzuschränken und gleichzeitig sowohl An-
Studierenden eine Möglichkeit hatten, sich rechtzeitig   fänger als auch Fortgeschrittene anzusprechen, voll
mit Performanceunterschieden zwischen ihrem eige-        erreicht wurde. Im Folgenden werden einige Aspek-
nen PC und dem R ASPBERRY P I vertraut zu machen         te zum Umgang mit dem Board allgemein und an
und tutorielles Feedback zu ihrem Projekt zu erhalten.   exemplarischen Projekten aus beiden Semestern im
Außerdem wurde so eine Umgebung geschaffen in            speziellen diskutiert.
der Studierende sich gegenseitig bei der Arbeit am       4.1   Beispiel 1: Einfache Animation (SS
Projekt beobachten konnten und auf diese Weise ins             2014)
Gespräch kamen, um wechselseitig weiteres Feedback
                                                         Beim ersten hier vorgestellten Projekt handelt es sich
zum Projekt zu geben und zu erhalten.
                                                         um eine einfache Animation. Ein Ballon bewegt sich
                                                         vor vorbeiziehenden Wolken und einem statischen
4    Teilnehmerzahlen und Projekte                       Hintergrund langsam hin und her (siehe Abbildung
Im Wintersemester 2013/2014 nahmen zum Zeit-             3). Das Projekt erfüllt damit die Minimalanforderun-
punkt der Vorstellung des LED-Boards knapp 300           gen, ohne in seinem Anspruch an irgendeiner Stelle
Studierende ernsthaft an der Vorlesung teil, von de-     darüber hinaus zu gehen.
nen 29 (verteilt auf 18 Gruppen zu einer bis drei           Die Umsetzung erfordert einen sicheren Umgang
Personen) erfolgreich ein Projekt mit dem LED-Board      mit Arrays und Schleifen, ein Verständnis für die kor-
durchführten. Im Sommersemester 2014 führten von         rekte Zeichenreihenfolge bei sich verdeckenden grafi-
etwa gleich vielen Vorlesungsteilnehmern 48 Studie-      schen Objekten und bietet Möglichkeiten, einen struk-
rende in 24 Gruppen erfolgreich ein Projekt mit dem      turierten Programmaufbau zu üben.
LED-Board durch (siehe Tabelle 1). Hinzu kamen in           Im uns vorliegenden studentischen Quellcode lässt
beiden Semestern weitere Anmeldungen, für die bis        sich tatsächlich eine klare Strukturierung erkennen.
zum Einsendeschluss jedoch gar keine oder keine zu-      Der Code ist vollständig in einer Javaklasse unterge-
friedenstellende Einreichung abgegeben wurden. Die       bracht und durch Methoden in sinnvolle Einheiten




96                                                                    Axel Schmolitzky, Anna Sabine Hauptmann (Hrsg.): SEUH 2015
Abbildung 3: Drei direkt aufeinander folgende Screenshots aus einer einfachen Animation mit einem bewegten
Ballon vor vorbeiziehenden Wolken, siehe Abschnitt 4.1.


gegliedert. Auch wenn mehr Strukturierung denkbar            den. Aus Sicht des Programmierers ist es effizienter
wäre, ist der verwendete Ansatz für das Problem völ-         das letzte Schlagenglied zu entfernen und ein neues
lig ausreichend und ein Grundverständnis für die Pro-        Glied an den Kopf der Schlange zu setzen. Die mittle-
grammierung deutlich aus dem Quellcode abzulesen.            ren Schlangenglieder müssen dadurch nicht geändert
Weitergehende Konzepte der Objektorientierung, die           werden. Isst die Schlange einen Apfel, muss ein neues
auch Thema der Vorlesung waren, fanden sich in die-          Schlangenglied an die Schlange angehängt werden.
sem Projekt nicht wieder.
                                                               Die hier beschriebenen Mechanismen sind mit einer
   Projektumfang und Programmaufbau legen die Ver-
                                                             Liste deutlich einfacher zu implementieren als mit
mutung nahe, dass es sich bei den Studierenden um
                                                             einem Array.
Anfänger im Bereich der Programmierung gehandelt
hat, die mit diesem Projekt Sicherheit erhalten woll-          Sowohl Objekte und Klassen, als auch dynamische
ten, indem sie in der Vorlesung erworbene grundle-           Datenstrukturen wie Listen wurden in der Vorlesung
gende Programmierfähigkeiten durch weitere Übung             rechtzeitig eingeführt, um die Verwendung in einem
festigen wollten. Insbesondere ist nicht zu erkennen,        der studentischen Projekte zu ermöglichen. Außer-
dass die Studierenden Kenntnisse von außerhalb der           dem erfordert eine Implementierung des Spiels eine
Vorlesung in das Projekt eingebracht haben oder sich         einfache Gameloop, d.h. eine Schleife, die wiederholt
für das Projekt zusätzliche Kenntnisse angeeignet und        Nutzereingaben abfragt und die Spielwelt entspre-
ausprobiert haben.                                           chend anpasst. Zu beachten ist dabei, dass das Spiel
                                                             beim Warten auf Eingabe nicht pausiert, sondern sich
4.2     Beispiel 2: Interaktives Spiel (WS
                                                             der Spielzustand auch unabhängig von einer Eingabe
        2013/2014)
                                                             weiterentwickelt.
Das zweite hier vorgestellte Projekt ist eine Implemen-
tierung des Spiels „Snake“. Bei diesem Spiel bewegt             Allen vier eingereichten Projekten war anzusehen,
sich eine vom Spieler zu steuernde Schlange in den           dass die Studierenden sich um eine geschickte Struk-
vier Grundrichtungen über das Spielfeld und sammelt          turierung ihres Codes bemüht hatten, was in einigen
Äpfel auf, wodurch die Schlange immer länger wird.           Fällen gut, in anderen weniger gut gelang. Die Projek-
Das Spiel ist beendet, sobald die Schlange entweder          te wurden in zwei bis zehn Klassen untergliedert und
mit sich selbst oder dem Spielfeldrand kollidiert. Tat-      in einem Fall auf mehrere Packages verteilt. In einem
sächlich war die Spielidee so beliebt, dass allein im        Projekt erfolgte ein Rückgriff auf die in der Vorlesung
Wintersemester 2013/2014 vier verschiedene Teams             vorgestellten Listenkonzepte.
Implementierungen dieses Spiels eingereicht hatten.
                                                                In allen vier Projekten ist es den Studierenden ge-
Eine dieser Implementierungen ist beispielhaft in Ab-
                                                             lungen, ein funktionierendes Snake-Spiel zu imple-
bildung 4 wiedergegeben.
                                                             mentieren. Neben der Basisfunktionalität fanden sich
   Für eine gute Implementierung von Snake bietet            in allen Projekten zusätzliche Gimmicks wie Eingangs-
sich der Einsatz von Objekten und Klassen an, insbe-         und Abschlussanimationen, wählbare Schwierigkeits-
sondere die Verwendung einer dynamischen Daten-              grade und Punktzahlanzeigen, was die Motivation der
struktur. Die Schlange besteht aus einer Folge von           beteiligten Studierenden unterstreicht.
Einzelpositionen, was die Verwendung eines Arrays
oder einer Liste zum Verwalten der Einzelpositionen            In einem der Projekte ist die selbstständige Verwen-
nahelegt. Eine Fortbewegung der Schlange im Spiel-           dung von Threads zu sehen, die anderen drei Projekte
verlauf bedeutet aus Spielersicht, dass alle einzelnen       verwenden keine über den Inhalt der Vorlesung hin-
Schlangenglieder um ein Feld vorwärts bewegt wer-            ausgehenden Konzepte.




Axel Schmolitzky, Anna Sabine Hauptmann (Hrsg.): SEUH 2015
                                                                                                                97
Abbildung 4: Drei Screenshots aus aufeinander folgenden Spielsituationen im Spiel „Snake“, siehe Abschnitt 4.2




Abbildung 5: Ausgewählte Demonstrationen des studentischen Framework aus Abschnitt 4.3. Links: Ein Heli-
koptershooter mit dem Spieler in grün, beweglichen Hindernissen in rot und Spielumgebung in grau. Rechts:
Supermario, eingelesen aus einer Bilddatei.


4.3   Beispiel 3: Framework (WS 2013/2014)               Quadtrees zeigen, dass die beiden Studierenden schon
Das dritte hier vorgestellte Projekt hat unsere Erwar-   vor unserer Programmierungsvorlesung umfangreiche
tungen bei weitem übertroffen. Die dahinter stehen-      praktische Erfahrungen gesammelt haben.
den zwei Studierenden haben sich nicht damit zufrie-        Der Aufwand für dieses Framework muss schon al-
den gegeben ein Spiel zu schreiben, sondern haben        lein aufgrund des Umfangs sehr hoch gewesen sein
gleich ein ganzes Framework für das LED-Board an-        und belegt, dass mit dem LED-Board auch fortgeschrit-
gefertigt und dieses Framework an mehreren nicht         tene Studierende angesprochen und motiviert werden
trivialen Anwendungen und Spielen demonstriert. In       können.
Abbildung 5 sind zwei ausgewählte Beispiele zu sehen.
Im Framework ist unter anderem Unterstützung für         4.4   Allgemeines zu den Projekten
das Verarbeiten von Polygonen und Sprites zu finden.     Die vorgestellten Projekte gewähren einen guten Ein-
Des weiteren findet sich eine Kollisionserkennung für    druck von der Bandbreite der abgegebenen Projekte.
diese Objekte, wahlweise per Hitbox oder pixelba-        Unter allen angenommenen und am Ende in der Vor-
siert. Außerdem besteht die Möglichkeit, Bilder aus      lesung präsentierten Programmen fanden sich natur-
Bitmasken oder gespeicherten Dateien in üblichen         gemäß auch ein paar schwächere Projekte, deren Ur-
Grafikformaten auf dem Board darzustellen. Dabei         heber vor allem zwecks Erwerb der Klausurzulassung
unterstützt das Framework auch das Scrolling von         teilnahmen. Der Anteil dieser Projekte an sämtlichen
Bildern oder Masken, deren Auflösung größer als die      präsentierten Projekten blieb allerdings mit unter ei-
des LED-Boards ist. Zur Demonstration des Frame-         nem Fünftel erfreulich gering. Insgesamt ungefähr ein
works waren mehrere Programme beigelegt, die das         Viertel der Anmeldungen führte allerdings gar nicht
Framework nutzen und sehr gut strukturiert sind. Fra-    erst zu Abgaben.
mework und Demonstrationsprogramme bestehen aus             Aus den Erfahrungen der Tutorien, des Codereviews
insgesamt 95 Klassen, die in 26 Packages organisiert     und des uns vorliegenden Quellcodes offenbarte sich
sind.                                                    an vielen Stellen eine große Experimentierfreude. So
   Der hohe Organisationsgrad, die Komplexität und       versuchten sich viele Studierende in der Verwendung
die Verwendung fortgeschrittener Konzepte wie            von Konzepten, die bis dahin nicht Teil ihres Studi-




98                                                                     Axel Schmolitzky, Anna Sabine Hauptmann (Hrsg.): SEUH 2015
     Projekt                                     LOC         Klassen           Testatpunkte    Spaß    Training   Preis
     Einfache Animation (SS 2014)                118            1                  82%         66%       48%      21%
     Interaktives Spiel ((WS 2013/14)            302            3
     Framework ((WS 2013/14)                     4509          95      Tabelle 3: Motivation zur Teilnahme (Mehrfachnen-
     Durchschnitt aller Projekte                 710            6      nungen möglich)

Tabelle 2: Umfang ausgewählter Projekte und Durch-
                                                                       5     Rückmeldung der Studierenden
schnitt aller Projekte. Die LOC-Metrik berücksichtigt
nur reine Codezeilen und ignoriert Leerzeilen und                      Neben persönlichem Feedback haben wir zum Ab-
Kommentarzeilen.                                                       schluss der Projekte in beiden Semestern jeweils einen
                                                                       anonymen Umfragebogen zum LED-Board ausfüllen
                                                                       lassen. Gefragt wurden ausschließlich Studierende,
ums waren. Vielfach wurden Threads verwendet, die                      die auch ihr Projekt vorgestellt hatten. Die hier prä-
JavaAPI wurde mehrfach für die Generierung von Zu-                     sentierten Ergebnisse wurden aus insgesamt 71 aus-
fallszahlen und für Filehandling verwendet und damit                   gefüllten Umfragebögen beider Semester zusammen-
einhergehend war auch Exceptionhandling zu sehen.                      getragen. Gefragt wurde
Ferner zeigten sich immer wieder Studierende offen                     •     nach den Gründen zur Teilnahme an dem LED-
für Vorschläge, die über ihr ursprüngliches Projektziel                      Projekt,
hinausgingen. Nicht immer waren diese Experimente
von Erfolg gekrönt, dennoch waren sie ein weiteres                     •     ob sich das eigene Programmierverständnis nach
Indiz für die Motivation. Umgekehrt scheiterten lei-                         eigener Einschätzung verbessert hat,
der auch einige Studierende an ihren ursprünglichen
Zielen und mussten sie herunterschrauben. In den Co-                   •     ob die Teilnehmer für sich ein überdurchschnittli-
dereviews zeigte sich zudem, dass auch in den Teams                          ches Klausurergebnis erwarteten,
stets alle Beteiligten tatsächlich programmiert hat-
ten. Es liegt nahe, dass dies zumindest zum Teil auch                  •     wie sich die Motivation der Teilnehmer mit dem
darauf zurückzuführen ist, dass das Board keine Mög-                         Projektverlauf entwickelt hat
lichkeiten bietet, sich mit anderen Arbeiten (z.B. dem
                                                                       •     und ob das Projekt die Erwartungen der Teilneh-
Erstellen hübscher Icons) einzubringen.
                                                                             mer erfüllt hat.
   Allen Projekten war zu eigen, dass den Teilnehmern
die Notwendigkeit guter Codestrukturierung unmittel-                   Außerdem bot der Umfragebogen Raum für freie Kom-
bar vor Augen geführt wurde, wenn auch nicht alle                      mentare aller Art.
Studierenden in der Lage waren, eine solche Struktu-
                                                                       5.1     Gründe zur Projektteilnahme
rierung mit ihren Mitteln zu erreichen. Einige Daten
zum Umfang der oben vorgestellten Projekte gemes-                      Als mögliche Gründe für die Projektteilnahme waren
sen in Codezeilen (LOC) sowie zum Organisationsgrad
                                                                       •     Testatpunkte
gemessen in der Zahl der Klassen sind in Tabelle 2 auf-
geführt. Der in der Tabelle angegebene Durchschnitt                    •     Spaß
bezieht sich auf alle abgegebenen Projekte aus beiden
Semestern. Dabei ist zu bemerken, dass sehr starke                     •     Training der eigenen Fähigkeiten
Unterschiede zwischen einzelnen Projekten auftragen:
Drei Projekte mit je über 1000 LOC waren jeweils in                    •     der Sachpreis für den ersten Platz
nur einer Klasse realisiert, während fünf andere Pro-
                                                                       •     und sonstiges
jekte jeweils einen Schnitt von weniger als 50 LOC
pro Klasse erreichten.                                                 gegeben, wobei Mehrfachnennungen möglich waren.
   In den Tutorien und spätestens im abschließenden                    Das zusammengefasste Ergebnis ist in Tabelle 3 an-
Codereview konnten den Studierenden in den meisten                     gegeben. Insgesamt haben 82% der Teilnehmer den
Fällen zahlreiche Hinweise gegeben werden, die ihren                   Erwerb von Testatpunkten als Grund genannt. Bemer-
Code verbessern und vor allem den Sinn vieler in der                   kenswert ist dabei jedoch, dass viele Teilnehmer zum
Vorlesung vorgestellten Konzepte an interessanten, da                  Zeitpunkt der Vorstellung ihrer Projekte ihre Klausur-
von den Studenten selbst ausgedachten und gewähl-                      zulassung bereits hatten, und sie dennoch zu Vorstel-
ten, Szenarien verdeutlichen. Softwarekonstruktion                     lung und Codereview gekommen sind.
und wie man guten Code schreibt waren nur am Ran-                        Sehr erfreulich ist die hohe Zahl der Teilnehmer
de Thema unserer Programmierungsvorlesung. Durch                       die Spaß am Board (66%) oder Training der eigenen
das LED-Projekt konnten die meisten Teilnehmer den-                    Fähigkeiten (48%) als Motivation angegeben haben.
noch in einem Maß für diese Problematiken sensibili-                   Zu untersuchen bleibt, aus welchen Gründen sich Stu-
siert werden, das wir ohne das Projekt nicht erreicht                  dierende gegen eine Teilnahme am LED-Projekt ent-
hätten.                                                                schlossen haben.




Axel Schmolitzky, Anna Sabine Hauptmann (Hrsg.): SEUH 2015
                                                                                                                            99
         hoch   fallend   niedrig    steigend             5.5    Erwartungen an das Projekt
         46%     21%        6%         27%                Auf einer Skala von 0 (gar nicht) bis 4 (vollständig)
                                                          sollte angegeben werden, ob die Erwartungen der
            Tabelle 4: Motivationsverlauf                 Teilnehmer an das Projekt erfüllt wurden. Mit dem
                                                          Mittelwert von ca. 3,0 können wir erfreulicherweise
                                                          feststellen, den Erwartungen im Wesentlichen gerecht
5.2   Verbesserung des eigenen                            geworden zu sein.
      Programmierverständnisses
                                                          5.6    Freie Kommentare
Die Verbesserung ihres eigenen Programmierverständ-
nisses sollten die Teilnehmer auf einer Skala von 0       Neben der Umfrage sprechen vor allem die Einzel-
(gar nicht) bis 4 (sehr stark) einschätzen. Über alle     kommentare, die direkten Rückmeldungen an die Pro-
Teilnehmer gemittelt hat sich hier ein Wert von ca. 2,3   jektbetreuer sowie die rege Teilnahme an dem Wettbe-
ergeben. Für den Großteil der Teilnehmer erbrachte        werb für eine große Akzeptanz des Projektes. Kritisiert
das Projekt im subjektiven Eindruck also eine spürbare    wurden von den Studierenden insbesondere techni-
Verbesserung der eigenen Fähigkeiten.                     sche Aspekte wie z.B. die geringe Zahl von 12x12
                                                          LEDs und die Leistungsfähigkeit des R ASPBERRY P IS.
  Studierende, die bei der Motivation angegeben ha-          Die Umfrageauswertung lässt insgesamt den
ben, ihre eigenen Fähigkeiten trainieren zu wollen,       Schluss zu, dass das Board und der zugehörige Emu-
haben in der Kategorie „Verbesserung des eigenen          lator gute Werkzeuge zum selbstständigen Training
Programmierverständnisses“ im Schnitt ca. 2,6 ange-       sind und von den Studierenden auch zu diesem Zweck
geben, was signifikant über dem Gesamtschnitt von         akzeptiert werden.
2,3 liegt.

5.3   Erwartungen an die Klausur                          6     Ausblick und weiterer Einsatz
                                                          In kommenden Programmierveranstaltungen werden
Mit den Antwortmöglichkeiten „Ja“ und „Nein“ soll-
                                                          wir sicherlich wieder einen Wettbewerb auf dem LED-
ten die Teilnehmer einschätzen, ob sie ein überdurch-
                                                          Board anbieten. Da das LED-Board fertiggestellt ist
schnittliches Klausurergebnis erzielen werden. 45%
                                                          und die Bibliothek von ihren Kinderkrankheiten be-
erwarteten ein überdurchschnittliches Ergebnis, die
                                                          freit, ist der durch den Wettbewerb entstehende Mehr-
restlichen 55% nicht. Da die Umfrage anonym durch-
                                                          aufwand für das Lehrpersonal sehr gering für den
geführt wurde, kann leider nicht überprüft werden,
                                                          deutlich positiven Effekt.
ob die Erwartungen mit den tatsächlichen Klausurer-
                                                             Neben der gegenwärtigen Verwendung ist es auch
gebnissen übereinstimmen.
                                                          denkbar, das Board oder zumindest den Emulator in
5.4   Motivationsverlauf                                  die eigentliche Vorlesung und/oder die Übungen zu
                                                          integrieren. Insbesondere Schleifen und Arrays lassen
In der Frage nach dem Motivationsverlauf war eine         sich an dem Board sehr anschaulich demonstrieren.
der vier Möglichkeiten „hoch“, „fallend“, „niedrig“,      Für Übungsaufgaben bieten sich Board und Emulator
„steigend“ zu wählen. Die Ergebnisse sind in Tabelle 4    ebenso an.
aufgeführt.                                                  Mit kleinen Anpassungen der LED-Bibliothek ist
   73% der Studierenden gab einen dauerhaft hohen         auch eine Einbindung in unserer automatisches
oder mit der Zeit steigenden Motivationsverlauf an. In-   Übungs- und Prüfungssystem JACK (Striewe u. a.,
teressant zu erfahren wäre für zukünftige Erhebungen,     2009) möglich. Sich auf automatisch auswertbare Auf-
warum bei den übrigen 27% die Motivation gelitten         gaben zu konzentrieren würde allerdings einen sehr
hat. Es ist nicht ersichtlich, ob die Gründe dafür im     großen Aufwand und eine starke Einschränkung der
LED-Projekt selbst oder in äußeren Umständen wie          Nutzungsmöglichkeiten des Boards bedeuten.
z.B. Zeitdruck liegen.                                       Neben dem Einsatz in der Erstsemestervorlesung
   Eine weitere Analyse der Daten zeigt, dass Teilneh-    wurde das LED-Board auch schon mit interessierten
mer die aufgrund von Spaß am Board oder um die            Schülern in Workshops, fortlaufenden AGs oder ande-
eigenen Fähigkeiten zu trainieren teilnahmen, leicht      ren Veranstaltungen zur Studiengangswerbung in der
überdurchschnittlich oft eine hohe oder steigende Mo-     Informatik verwendet.
tivation aufwiesen. Der Preis hatte dagegen keinen
erkennbaren Einfluss auf die Motivation. Teilnehmer       7     Fazit
die Testatpunkte als einen von mehreren Teilnahme-        Insgesamt betrachten wir den Einsatz des LED-Boards
gründen angegeben haben, wiesen im Schnitt einen          als erfolgreich, da (1) das Board von den Studieren-
geringfügig schlechteren Motivationsverlauf auf. Be-      den wie erwartet einfach und ohne nennenswerte
trachtet man die Teilnehmer, die ausschließlich der       technische Probleme nutzbar war, (2) sowohl einfa-
Testatpunkte wegen ein Projekt eingereicht hatten,        che als auch anspruchsvolle Projekte auf dem Board
weist sogar nur ein Drittel dieser Teilnehmer eine ho-    realisiert wurden, (3) optisch ansprechende Ergeb-
he oder steigende Motivation auf.                         nisse in einer wettbewerbsartigen Form im Hörsaal




100                                                                     Axel Schmolitzky, Anna Sabine Hauptmann (Hrsg.): SEUH 2015
präsentiert werden konnten, (4) eine große Breite
an verschiedenartigen Projekten realisiert wurde und
(5) die Mehrheit der teilnehmenden Studierenden ei-
ne hohe Motivation aufwies und durch ihre Arbeit
belegte.
  Dem Aufwand bei der Vorbereitung des Boards steht
somit insbesondere ein messbarer Erfolg bei der Stei-
gerung der Motivation der Studierenden entgegen,
der mindestens mit einem subjektiv höheren Lerner-
folg verbunden ist.

Literatur
[Henriksen u. Kölling 2004] H ENRIKSEN, Poul ; KÖL -
  LING , Michael: greenfoot: Combining Object Visua-
  lisation with Interaction. In: OOPSLA ’04: Compa-
  nion to the 19th annual ACM SIGPLAN conference
  on Object-oriented programming systems, languages,
  and applications. New York, NY, USA : ACM, 2004.
  – ISBN 1–58113–833–4, S. 73–82
[Striewe u. a. 2009] S TRIEWE, Michael ; B ALZ, Mo-
  ritz ; G OEDICKE, Michael: A Flexible and Modular
  Software Architecture for Computer Aided Assess-
  ments and Automated Marking. In: Proceedings
  of the First International Conference on Computer
  Supported Education (CSEDU), 23 - 26 March 2009,
  Lisboa, Portugal Bd. 2 INSTICC, 2009, S. 54–61




Axel Schmolitzky, Anna Sabine Hauptmann (Hrsg.): SEUH 2015
                                                             101