Anonim

Meine Schüler machen Apps für iPhone und iPad und stellen sie im App Store bereit. Das Erstellen einer gut gestalteten App kann entmutigend und zeitaufwändig sein und Programmierkenntnisse sowie Methoden für die Benutzeroberfläche und das Benutzererlebnis erfordern. Aus diesem Grund binden wir unsere Schüler von Anfang an in den Prozess des Entwerfens von Apps ein, um anderen zu helfen - ein Prozess, bei dem Codierung und Programmierung unerlässlich sind, der jedoch der Entwicklung von Einfühlungsvermögen und prozessorientierten Designfähigkeiten nachgeordnet ist.

Rückwärts arbeiten

Unser Ansatz namens Coding By Design beginnt mit der Lösung realer Probleme für reale Menschen. Wir beginnen mit einem Design Thinking-Ansatz zum Erstellen einer App, fahren dann mit einem Prototyp fort, mit mehreren Iterationen, die auf echtem Feedback basieren, und schließlich mit einem Top-Down-Ansatz zum Lösen der mit der App-Entwicklung verbundenen Codierungsprobleme und Rätsel.

Das Codieren wird traditionell rückwärts gelehrt, beginnend mit der kleinsten Codezeile: "Hallo, Welt!" Viele Schüler geben auf, bevor sie komplexere Dinge wie Grafiken und Interaktionen lernen. Das ist so, als würde man jemanden beibringen, ein Motorrad zu bauen, indem man mit der kleinsten Ausrüstung beginnt. Der Teil ist völlig vom Ganzen getrennt. Nur wenige würden es schaffen, eine Komponente des Motorrads zu bauen, geschweige denn die gesamte Maschine. Wenn Sie jemanden für die harte Arbeit des Motorradbaus interessieren möchten, sollten Sie ihn wahrscheinlich mitnehmen und ihn in die Erfahrung des Motorradfahrens verlieben. Dann können Sie sich durch die Hauptkomponenten arbeiten.

Aus genau dem gleichen Grund unterrichten wir das Programmieren, indem wir über das Entwerfen von Apps sprechen. Die meisten Menschen sind mit Apps bereits sehr vertraut, da sie sie auf einem Smartphone oder Tablet verwendet haben. Wir fordern Kinder auf, "eine App zu entwerfen, die etwas Nützliches leistet". Dies ist eine nette Gruppenaktivität für den Design Thinking-Ansatz: Identifizieren Sie ein Problem und bearbeiten Sie es systematisch.

Sobald Kinder eine Idee haben, lassen wir sie die Benutzeroberfläche entwerfen, indem sie jeden Bildschirm ihrer App auf einer separaten Karteikarte zeichnen. Auf diese Weise können sie einen Papierprototyp erstellen, der mit echten Benutzern getestet werden kann. Jedes Mal, wenn jemand auf einen Knopf oder eine Steuerung "tippt", kann er zur nächsten Karte wechseln. Änderungen sind viel einfacher durchzuführen, wenn Sie mit Bleistift und Papier anstelle von Code arbeiten. Wir verweisen häufig auf die Richtlinien für die Benutzeroberfläche von Apple, in denen ausführlich erläutert wird, wie Apps einfach und intuitiv zu bedienen sind.

Als nächstes lassen wir Kinder ihre Papier-Prototypen in eine funktionierende iPhone-App verwandeln, indem sie ein Foto von jeder ihrer Ansichten aufnehmen und auf InvisionApp.com hochladen, ein Online-Mockup-Tool, mit dem Sie Hotspots für Bilder definieren können, die mit anderen verknüpft werden können Ansichten. Das Projekt kann dann erstellt und auf ein iPhone übertragen werden, wo es wie eine echte App aussieht.

Sobald ihre Prototypen mehrere Interaktionen durchlaufen haben, sind unsere Schüler von der Idee begeistert, eine App zu erstellen, und sie haben häufig Kontakt zu Leuten in der Community aufgenommen, die wirklich eine App benötigen, die ein bestehendes Problem löst. Wir wenden uns dann Apples kostenloser App-Design-Software Xcode und Swift zu, der Sprache, mit der Apps auf Mac, iPhone und iPad erstellt werden. Viele unserer Schüler arbeiten sich durch den kostenlosen High-School-Lehrplan von Apple für Swift Education. Es ist harte Arbeit, aber bis sie eine Benutzeroberfläche entworfen und mit den Benutzern getestet haben, sind die Schüler bestrebt, sie durchzuarbeiten.

Ergänzende Fähigkeiten

Das Entwerfen von Apps ist schwierig. Das Definieren eines Problems und das Erstellen mehrerer Iterationen von Lösungen zum Testen ist jedoch eine gute Lernerfahrung und eine Aufgabe, auf die Kinder auch dann zugreifen können, wenn sie keine Programmierer sind. Wenn Kinder anfangen, über Apps vom Designstandpunkt aus nachzudenken, können sie auch motiviert werden, mehr über das Programmieren zu lernen, um die App für sich selbst zu gestalten. Wenn sie nicht über die erforderlichen Fähigkeiten verfügen, um die App selbst zu codieren, können sie sich möglicherweise mit jemandem zusammenschließen, der über Codierungsfähigkeiten verfügt und nach einer guten Idee sucht. Aber selbst wenn sie die App nie beenden, lernen sie den Wert, sich in eine andere Person oder Organisation hineinzuversetzen, einen Bedarf zu identifizieren und eine authentische Lösung durch kontinuierliches Feedback und Iteration zu entwerfen. Und diese Fähigkeiten sind in vielen Zusammenhängen enorm wertvoll.

Hier ist ein klares Beispiel. Ein Elternteil unserer Schule hatte eine Methode entwickelt, um Kindern mit Autismus das Zählen beizubringen. Sie hatte jedoch keine Möglichkeit, die Idee zu teilen, bis ich sie mit einem Studenten in meiner App-Entwicklungsklasse verband. Gemeinsam haben sie Every Value Has Its Place erstellt, eine beliebte iPad-App, die mithilfe von Farbe und Größe Ortswerte lehrt. Erstaunlich ist, dass diese App ohne die Verbindung zwischen einem Elternteil, der nichts über Programmierung wusste, und meinem Schüler, der nichts über Autismus wusste, niemals erstellt worden wäre. Jetzt wissen sie alle viel mehr.