Prof. Klaus David, Apple Codecamp

Kurzbeschreibung der Veranstaltung


Die Lehrveranstaltung „Apple Codecamp“ wurde zum Ende des Wintersemesters 2010/2011 erstmals durch das Fachgebiet Kommunikationstechnik durchgeführt. Ziel der Veranstaltung ist es, den Studierenden die Entwicklung für die neue Geräteklasse „Tablet-Computer“ näher zu bringen. Das iPad dient den Studierenden dabei als Testumgebung und erhöht die Attraktivität der Veranstaltung. Durch die Einbindung der Veranstaltung in den Kontext des Projekts „Mobiles Lernen“ ist es möglich, den Studierenden Aufgaben zu stellen, die aus Anforderungen aus dem praktischen Einsatz des iPads in der Lehre entstanden sind. So ist ein direkter Bezug zu einem real zu lösenden Problem hergestellt und die Studierenden haben die Chance, den praktischen Einsatz der durch sie entwickelten Software in den Lehrveranstaltungen zu beobachten. Die Lehrveranstaltung wird bewusst als Blockveranstaltung durchgeführt. So wird den Studierenden, in Anlehnung an echte Softwareprojekte aus der Industrie, ermöglicht, konzentriert und am Stück ohne Unterbrechungen an dem Projekt zu arbeiten. Andere Programmierprojekte die während des Studiums durch die Student*innen belegt werden können, sind in der Regel auf das volle Semester ausgedehnt und somit auch immer durch andere Veranstaltungen unterbrochen.

In der Veranstaltung werden die Studierenden in Teams aufgeteilt, die die Rolle eines fiktiven Auftragnehmers einnehmen. Der Dozent spielt dabei u.a. die Rolle eines Auftraggebers. So wird im Laufe der Veranstaltung ein kompletter Entwicklungszyklus durchlaufen. Dieser enthält alle Phasen eines agilen Softwareprozesses, inklusive Design-, Entwicklungs- und Testphase. Am Ende der Veranstaltung wird von den Studierendenteams die Abgabe eines fertigen Softwareprodukts erwartet. Das heißt, zusätzlich zu der lauffähigen Software an sich, sind Dokumentationen, Testprotokolle und Handbücher zu erstellen. Die Studierenden sollen die Aufgabe möglichst selbstorganisiert im Team lösen. Der/die Dozent*in und ggf. weitere Mitarbeiter*innen des Fachgebiets stehen für Fragen zur Verfügung und helfen bei Problemen, allerdings sollen die Lehrinhalte vorwiegend von den Studierenden selbst entwickelt werden.

Da die Zielgruppe über grundlegende Programmiererfahrung verfügt, sollen insbesondere die Probleme beim tieferen Verständnis der Konzepte der objektorientierten Programmierung adressiert werden. Diese treten erst zu Tage, wenn die Studierenden reale Probleme programmatisch angehen. Die so auftretenden Probleme werden dann im Rahmen der Veranstaltung immer wieder gemeinsam besprochen. Wo es möglich ist, stellen die Studierenden selber eine Lösung vor.

Der adressierte Teilnehmer*innenkreis besteht aus Studierenden der Informatik ab den fünften Semester, die bereits Programmierkenntnisse erworben und Veranstaltungen am Fachgebiet Kommunikationstechnik belegt haben. In den anderen Veranstaltungen am Fachgebiet Kommunikationstechnik werden die Geräteklassen Tablet und Smartphone bereits von der technologischen Seite betrachtet sowie die Einsatzmöglichkeiten dieser Geräte im Umfeld des „Pervasiv Computing“ dargestellt.

 

Ziele der Veranstaltung sind:


  • Vertiefung von Konzepten der Objektorientierung
  • Vermittlung erster Kenntnisse in der Entwicklung für iOS (Objective-C)
  • Erfahrung in teamorientierter, agiler Softwareentwicklung

 

Nutzungsspektrum der iPads in der Veranstaltung


Das iPad ist der erste erfolgreiche Vertreter der Geräteklasse Tablet-PC. Diese Geräteklasse spielt eine besondere Rolle im „Pervasiv Computing“, einem Forschungsschwerpunkt des Fachgebiets Kommunikationstechnik. Die Studierenden können so eine neue spannende Geräteklasse kennen lernen und zugleich nah an der aktuellen Forschung im Fachgebiet sein.

Entwickelt werden sollte eine App, mit der jeweils zwei Studierende Fehler in einem Diagramm (z.B. ERM, Klassendiagramm etc.) suchen. Das Ganze soll als Spiel aufbereitet sein: Abwechselnd dürfen die Spieler*innen im Diagramm eine Stelle anklicken, die ihrer Ansicht nach fehlerhaft ist. Liegen sie richtig, bekommen sie einen Punkt, ansonsten gibt es einen Minuspunkt. Nach 5 Zügen pro Person steht der/die Sieger*in fest und alle nicht entdeckten Fehler werden angezeigt. Die App müsste eine Bilddatei laden und es müssten Informationen hinterlegt sein, an welcher Stelle im Bild sich Fehler befinden.

Beispiel: Die App lädt immer ein Bild von einer Online-Adresse auf einem Server. Vor jeder Veranstaltung wird ein neues Bild aufgelegt. Wo sich die Fehler befinden, müsste dabei ebenfalls angegeben werden können, z.B. in einer separaten Datei (Punktkoordinaten) im Web oder indem das Bild bereits als Imagemap hinterlegt ist. Die Studierenden würden diese App nativ für das iPad programmieren. Zusätzlich könnte diese App. noch browserbasiert entwickelt werden. Diese müsste dann eigentlich auf allen Geräten einsetzbar sein. Nach Abwägungen zur Machbarkeit und zum Lerngewinn für die Studierenden der Informatik, wird die „Lernspiel“-App. für die Veranstaltung Einführung in die Wirtschaftsinformatik programmiert und ist dann auch im Sommersemester einsetzbar.