App Quest 2014

Über den Wettbewerb

"Möchtest du lernen Apps für Android oder iOS zu programmieren? Kennst du die Grundlagen von Java, Swift oder Objective-C? Im Herbst 2014 startet die 3. App Quest!" So wurden wir begrüsst, als wir die Homepage zur AppQuest zum ersten mal öffneten.

Auf verschiedene Wege, sei es durch die Schule oder durch unseren Lehrmeister Herr Hefti, sind wir, die drei Informatikerlehrlinge Michael Frick (2. Lehrjahr), Luca Ippolito (3. Lehrjahr) und Enzo Ferrari (4. Lehrjahr), auf diese Homepage hingewiesen worden. Es handelt sich hierbei um einen Wettbewerb, bei dem man in Zweierteams über den Zeitraum von 3 Monaten verschiedene kleine Apps für das Smartphone entwickeln muss. Die AppQuest wird von der HSR (Hochschule für Technik Rapperswil) organisiert und wurde bereits zum dritten Mal ausgeführt. Wir drei konnten uns alle sehr leicht für diesen Wettbewerb begeistern, da uns das Thema Apps sehr interessierte. So bildeten wir Zweierteams, zum einen Luca und Enzo, zum anderen Michael mit einem Kollegen aus seiner Klasse.

Enzo und Luca bestritten den Wettkampf unter dem Teamnamen "FPT-Lehrlinge", Michael und sein Kollege meldeten sich als Team "Access Denied" an.

Die Infoverantstaltung

Am Samstag Morgen, dem 20. September 2014, machten wir uns auf den Weg nach Rapperswil zur Infoveranstaltung der AppQuest. An der HSR wurden wir dann sehr ausführlich über alles mögliche Informiert.

Zum einen wurde uns der genau Ablauf des Wettbewerbs erklärt (Präsentation im Anhang Einführung App Quest 2014). Bis zum 13. Dezember 2014 sollten wir im dreiwochentakt jeweils eine App entwickeln. Jede App umfasste einen speziellen Aufgabenbereich. Zu Beginn eines solchen 3-Wochen-Zeitraums bekamen wir jeweils eine ausführliche Beschreibung der Aufgabenstellung. Oft waren auch ein paar Codeelemente vorhanden, welche wir als Vorlage verwenden durften. Am Schluss der 3-Wochen-Frist musste die App dann an unseren Coach zugeschickt werden, damit dieser sie bewerten konnte. Am Ende der AppQuest sollten wir so mit fünf Applikationen dahstehen, um den Schlussevent zu bestreiten.

Nach den Wettbewerbsinformationen und einem von der HSR offerierten Mittagessen wurden wir dann in die Fraktion Android (Programmiersprache Java) und iOS (Programmiersprache Swift) aufgeteilt. Nun wurde uns mithilfe einer Präsentation (siehe Anhang Android Einführung 2014) die Funktionsweise von Android näher gebracht. Rückblickend waren wir uns alle einig, dass diese Einführung sehr viel Wert war, denn dadurch wurden uns die ganzen Prozesse, welche im Hintergrund ablaufen, erst wirklich bewusst.

Im Anschluss zur Einführung von Android wurden wir dann unseren Coaches zugeteilt. Ein Coach war für drei bis vier Teams zuständig und hatte die Aufgabe, uns bei Fragen zur Seite zu stehen (pro Team maximal 1 Stunde pro Woche) und unsere jeweiligen Apps zu bewerten. Nun ging es daran, die erste App noch vor Ort mit dem Coach zu erstellen. Nach etwa zwei weiteren Stunden intensiver Arbeit war die App bei den meisten Teams dann auch schon funktionsfähig und wir machten uns wieder zusammen auf den Heimweg.

Das Bild wurde nicht gefunden Das Bild wurde nicht gefunden

App 1: Metalldetektor

Unsere erste Aufgabe war es einen einfachen Metalldetektor zu programmieren. Die App ermöglichte es uns, Magnete zu finden. Um diese aufzuspüren, verwendeten wir den magnetischen Sensor des Smartphones, welcher sonst für den Kompass gebraucht wird. Befindet sich ein Magnet in der Nähe des Sensors, dann liefert der Sensor stärkere Werte zurück. Die Werte werden mit Hilfe eines Balkens angezeigt.

Das Bild wurde nicht gefunden

App 2: Höhenmesser

Nach der eher einfachen Metall Detektor Aufgabe, wurde es nun ein wenig anspruchsvoller: Wir programmierten eine App um die Höhe (Grösse) eines Objektes zu messen. Mit dem Smartphone können wir die Winkel α und β messen, und mit dem bekannten Abstand a können wir die Höhe b des Objekts mittels Trigonometrie berechnen.

Die App konnte in 2 Teilaufgaben unterteilt werden:

1. Die Winkel müssen gemessen werden
2. Mit Hilfe des Abstandes a und den Winkeln, die Berechnung durchführen

Das Bild wurde nicht gefunden Das Bild wurde nicht gefunden

App 3: Schatzkarte

Die dritte Aufgabe war es, eine Schatzkarte zu programmieren. Die Karte sollte uns mit Hilfe des GPS Sensors die aktuelle Position anzeigen. Zusätzlich musste es möglich sein, diese Position zu speichern und auf der Karte anzeigen zu lassen. Die Position richtig anzeigen zu können und die App zu testen, stellten sich als schwieriger heraus als geplant.

Das Bild wurde nicht gefunden

App 4: Schrittzähler

Die nächste App sollte es uns ermöglichen, anhand von Anweisungen, einen bestimmten Ort zu erreichen, um dort einen QR-Code einzuscannen.

Die App musste folgende Funktionen haben:

- Sprachausgabe (Anzahl Schritte & Richtungsänderung)
- Einlesen von Start & End-QR-Code

Das Schwierigste an der App war es, die Schritte bei verschiedenen Geschwindigkeiten sauber zu erkennen.

Das Bild wurde nicht gefunden Das Bild wurde nicht gefunden

App 5: Pixelmaler

Die letzte App war eigentlich einfach. Die Aufgabe war es, auf einem 11x11 grossen Raster verschiedene, uns am Treasure Hunt, vorgegebene Bilder nachmalen zu können.

Benötigte Funktionen:

- Raster richtig anzeigen (je nach Bildschirmgrösse und Auflösung)
- 4 Farben verwenden können
- Farbige Felder löschen (oder mit Weiss übermalen)

Das Bild wurde nicht gefunden

Treasure Hunt

Am 13. Dezember war es schliesslich so weit, das Schlussevent der AppQuest 2014 stand an. Von den zu Beginn etwa 50 Teams waren noch gut 34 Gruppen dabei. An der sogenannten "Treasure Hunt" ging es darum, die 5 Apps, welche wir im Verlauf der letzten Wochen entwickelt hatten, in der Praxis richtig einzusetzen. Von 14.00 - 15.00 Uhr hatten wir Zeit, mit unseren Apps Aufgaben zu lösen und Punkte zu sammeln.

Das Bild wurde nicht gefunden

Es gab insgesammt 5 Postentypen. Jede App hatte ihr individuelles Einsatzgebiet und man musste somit für jeden Aufgabentyp eine spezielle App einsetzen.

Postentyp 1: Schatzkisten
Hier ging es darum, denn Metalldetektor einzusetzen. Bei dieser Postenart fand man ein Brett mit drei bis 5 kleinen Truhen vor. In einer dieser Truhen befand sich ein Magnet, welcher unseren Sensor zum Auschlagen brachte. Nachdem man identifiziert hatte, in welcher Kiste sich der "Schatz" befand, musste man einen an der Seite befindlichen QR-Code scannen.
Das Bild wurde nicht gefunden


Postentyp 2: Grössenmessung
Diese Aufgabe erforderte den Höhenmesser. In diesem Fall fand man ein Postenblatt vor, welches ein Objekt und eine rote linie (Bild nebenan als Beispiel) zeigte. Zusätzlich stand auf dem Blatt die Distanz zu diesem Objekt. Mit der Höhenmess-App konnten wir dann über die Kamera die Punkte anvisieren, der Lagesensor las den entsprechenden Winkel aus und mit ein bisschen Trigonometrie konnte die Applikation die Höhe des angepeilten Objekts berechnen.
Das Bild wurde nicht gefunden Das Bild wurde nicht gefunden
Postentyp 3: Markierung setzen
Auf dem ganzen HSR-Gelände wurden kleine Flagen verteilt. Sobald man nun einer solchen über den Weg lief galt es die Schatzkarten-App zu öffnen und den Standort des Fähnchens via GPS zu markieren.
Das Bild wurde nicht gefunden
Postentyp 4: Weganweisungen
Bei diesem Postenart fand man lediglich ein Blatt mit einem QR-Code und einer Richtungsanweisung vor. Wenn man den Code nun mit dem Schrittzähler einscannte, wurde der Code in klar verständliche Anweisungen verwandelt. Wenn man diesen nun Folge leistete, fand man je nach genauigkeit am Ende der Wegbeschreibung in der näheren Umgebung einen QR-Code, welcher das Ziel der Route anzeigte.
Das Bild wurde nicht gefunden


Postentyp 5: Bilder Abzeichnechn
Bei diesem Posten fand man ein kleines Pixelbild vor. Dies galt es mit dem Pixelmaler abzuzeichnen.

Das Bild wurde nicht gefunden Das Bild wurde nicht gefunden

Am ende wurden die erlangten Resultate an einen Auswertungsserver geschickt. Nun hies es Abwarten und Bangen. Glücklicherweise stellte uns die HSR mit ein wenig Gebäck eine leckere Nervennahrung bereit.

Das Bild wurde nicht gefunden Das Bild wurde nicht gefunden

Um etwa 15.30 Uhr stand das Resultat schliesslich fest. Nachdem sich alle im Vorlesungsraum besammelt hatten, wurden die Resultate bekannt gegeben.



Michael und sein Teampartner konnten mit 65 Punkten den dritten Platz ergattern.
Enzo und Luca konnten sich mit 78 Punkten sogar den ersten Platz sichern
Das Bild wurde nicht gefunden

Als Preis durften sich die zwei Sieger ein Technik-Gadget im Wert von bis zu 700.- auswählen. Enzo hat sich für einen 48''-Fernseher von Samsung ausgesucht, Luca hat sich für ein NAS von Synology mit 2x4TB Festplatten entschieden.

Fazit

Die AppQuest war aus unserer Sicht ein voller Erfolg. Für Michael und Luca war Java vollkommenes Neuland, und Enzo hatte sich schon lange nicht mehr damit beschäftigt. Nun nach dem Wettbewerb fühlen wir uns alle schon recht Sattelfest in der Sprache. Ausserdem haben wir erfahren, wie eine App mit dem Betriebssystem zusammenarbeitet und wie das System mit den vielen Inputs umgeht. Die Arbeit an den einzelnen Applikationen hat sehr viel Spass gemacht und uns immer wieder aufs neue herausgefordert. Wir können allen interessierten Lehrlingen empfehlen, daran Teilzunehmen! Und wer weiss, vielleicht sind wir auch nächstes Jahr wieder dabei und versuchen uns an der anderen Plattform iOS.

Links

http://appquest.hsr.ch/
http://www.hsr.ch/