\documentclass{lni} \IfFileExists{latin1.sty}{\usepackage{latin1}}{\usepackage{isolatin1}} \usepackage{graphicx} \usepackage{csquotes} \usepackage{xcolor} % Quelltexte \RequirePackage{listings} \lstset{showspaces=false, showstringspaces=false showtabs=false} \lstset{tabsize=3} \lstset{frame=single} \lstset{extendedchars=true} \lstset{basicstyle=\ttfamily\scriptsize, keywordstyle=\bfseries, identifierstyle=\color{darkgray}\bfseries, commentstyle=\color{gray}} \lstset{numbers=left, numberstyle=\sffamily\tiny, stepnumber=1, numbersep=5pt} \lstset{captionpos=b} \lstset{breaklines=true} \lstnewenvironment{lstpy}[1][]{\lstset{language={Python},caption={Quelltext},#1}}{} \author{ Daniel Spittank \\ \\Gesamtschule Uellendahl-Katernberg\\ Wuppertal\\ \\mobile@daniel.spittank.net } \title{Mobiles Programmieren mit Android und Python im Informatikunterricht} \begin{document} \maketitle \begin{abstract} Informatik durchdringt zunehmend den Alltag in modernen Gesellschaften, besonders die Miniaturisierungs- und Mobilisierungsprozesse begünstigen dies. Besonders der Boom mobiler Informatiksysteme\footnote{Analog zu \cite{SpittankExamen} sind hier keine Notebooks oder Netbooks gemeint, sondern hauptsächlich Smartphones und Tablets.} und die Verbreitung mobiler Internetzugänge begründen gesellschaftliche Veränderungen. Verschiedene Studien, allen voran die JIM-Studien (Jugendliche, Information, Multimedia), aber auch die des Deutschen Instituts für Vertrauen und Sicherheit im Internet (DIVSI), belegen eindrücklich die immens zunehmende Bedeutung mobiler Informatiksysteme und des immer verfügbaren Zugangs zum Internet für Schülerinnen und Schüler. Gleichsam lässt sich erkennen, dass die Bedeutung stationärer Informatiksysteme für Schülerinnen und Schüler schwindet. Diesen Entwicklungen wird derzeit von Schulen allerdings noch wenig Aufmerksamkeit geschenkt. Einzig die Einführung von wenigen Tablet-Klassen kann hier genannt werden. Ansonsten dominieren Verbote mobiler Informatiksysteme. Die gesellschaftlichen Entwicklungen werden (noch) aus der Schule ausgeschlossen. Zu groß ist die Sorge vor den möglichen negativen Auswirkungen, die mit den Geräten in Verbindung gebracht werden (z.B. Ablenkung vom Unterrichtsgeschehen und Cybermobbing). Besonders im Informatikunterricht dominiert die, durch feste Computerräume vorgegebene, Arbeit an stationären Systemen. Dabei spricht viel für einen offeneren Umgang mit den mobilen Informatiksystemen, besonders der direkte Bezug zum Alltag der Schülerinnen und Schüler kann sich positiv auf die Motivation und die Begeisterung auswirken. Kann doch ein wesentlicher Teil des Alltags begreifbar gemacht und somit auch ein erkennbarer Vorteil für das tägliche Leben erlangt werden. Im Rahmen seiner Arbeit zum ersten Staatsexamen entwickelte der Autor die Grundzüge für ein Unterrichtskonzept, das den Entwicklungen Rechnung trägt und versucht, die Vorteile mobiler Informatiksysteme für den Informatikunterricht nutzbar zu machen. Dazu gehören etwa die Unabhängigkeit von Computerräumen und die vielfältigeren Ansatzpunkte für den Einsatz kooperativer Methoden, die helfen können, die fachbezogene Kommunikation zu fördern. Es basiert dabei auf den positiven Erfahrungen vorangegangener Versuche mit Symbian-Smartphones\footnote{vgl.\cite{Heming2009}} und konnte im letzten Jahr im Rahmen seines Referendariats mit zwei achten Klassen erstmalig erprobt werden. Dieser Beitrag soll das Konzept und die gewonnenen Erkenntnisse vorstellen. \end{abstract} \section{Gesellschaftliche Bedeutung mobiler Informatiksysteme} Die flächendeckende Verfügbarkeit mobiler Informatiksysteme -- in Form von Tablets, Smartphones und zahllosen smarten Gadgets -- verändert die moderne Gesellschaft. Die ständige Verfügbarkeit von Information und die Verknüpfung mit den Daten, welche ständig durch die mobilen Systeme erfasst werden, ist einerseits ein Segen für viele Menschen, die sich schon immer einen persönlichen Assistenten herbeigesehnt haben. Andererseits erscheint dies, auf den Schutz ihrer persönlichen Daten bedachten, Charakteren wohl eher als Fluch. Insbesondere nach den diversen Datenschutz- und Spionage-Skandalen der letzten Jahre. Diese gesellschaftlich bedeutende Debatte wird auch immer mehr öffentlich ausgetragen. Spätestens seit den Enthüllungen der digitalen Spionagetätigkeiten der NSA durch Edward Snowden ist einer breiteren Öffentlichkeit bewusst, dass die Informatisierung der Gesellschaft zwei Seiten hat. Dennoch: Die vielfältigen nützlichen Funktionen -- insbesondere in Verbindung mit Clouddiensten -- erleichtern oftmals den Alltag. Reines Faktenwissen verliert durch die stetige Verfügbarkeit diverser Informationsquellen an Bedeutung, wohingegen der Bedarf an informatischer Vernunft\footnote{vgl. \cite[S.~311]{GoerlichHumbert2005}} zunimmt. Mögliche Risiken können oft nicht einfach beurteilt werden, da die parallel erfolgende Simplifizierung der Benutzungsschnittstellen vieles vor dem Anwender verbirgt. So verbleiben die vielen Funktionen und neuen Möglichkeiten, die die mobilen Geräte so schlau erscheinen lassen, für die meisten Anwender im nebulösen Feld der quasi-magischen Blackbox. Dass dabei viele sehr persönliche Daten -- oftmals ungeschützt -- durch die halbe Welt gesendet werden, ist vielen nicht einmal klar. Genannt seien hier exemplarisch Spracherkennungen, die auf den Servern der Anbieter erfolgen, und Kommunikationsapps, die das gesamte Adressbuch in die Cloud laden, damit festgestellt werden kann, mit welchen Kommunikationspartnern man mittels der App kommunizieren kann. Im Zuge der Mobilisierungstendenzen und des Bedeutungszuwachses von Clouddiensten müssen allerdings auch Nutzungsszenarien neu bewertet werden, von denen man bisher an stationären Systemen keinerlei Gefährdung zu erwarten hatte. So etwa die Bildbearbeitung, die auf mobilen Informatiksystemen sehr beliebt ist, im Gegensatz zu stationären Bildbearbeitungsanwendungen aber oft nicht lokal, sondern in der Cloud erfolgt. Der bei mobilen Informatiksystemen deutlich stärker ausgeprägte Blackbox-Effekt sorgt hier also für eine steigende Intransparenz gegenüber den Anwendern der Geräte. Es ergibt sich die Notwendigkeit, Menschen in die Lage zu versetzen, moderne Informatiksysteme selbstbestimmt und verantwortungsbewusst zu verwenden und die mit ihnen verbundenen Risiken und Nebenwirkungen einschätzen zu können, ohne zunächst den Informatiker ihres Vertrauens zu befragen, will man die mündige Teilhabe in demokratischen Gesellschaften sicherstellen. \section{Aktueller Stand in der Schule} Die Befähigung zur mündigen Teilhabe ist natürlich die originäre Aufgabe der Schule im Allgemeinen und des Informatikunterrichts im Speziellen, wenn es um informatische Aspekte geht. Leider muss man festhalten, dass die gesellschaftliche Debatte sich in den Schulen kaum widerspiegelt, obwohl gerade die Jugendlichen und jungen Erwachsenen besonders stark von den gesellschaftlichen Auswirkungen betroffen sind, wie etwa die JIM-Studie \cite{MPFS2014} Jahr für Jahr erneut belegt. Dies mag einerseits daran liegen, dass vielerorts kein echter Informatikunterricht angeboten werden kann, oder diesem kein hoher Stellenwert zukommt, weil es sich nach wie vor in den meisten Bundesländern um ein reines Wahlfach handelt. Andererseits ist der erteilte Informatikunterricht oft sehr technisch ausgerichtet und klammert gesellschaftliche Fragen aus. Wenn man sich mit gesellschaftlichen Auswirkungen beschäftigt, geht es meist um die negativen Folgen der Smartphone-Nutzung durch Schülerinnen und Schüler. Die Angst vor ständig verfügbarer Pornographie, Gewaltvideos und möglicher (Cyber-)Mobbingattacken dominiert die schulische Debatte. Auch die Ablenkung der Schülerinnen und Schüler im Unterricht ist ein beliebtes Thema. Die Folge daraus sind meist -- zumindest teilweise -- Verbote mobiler Informatiksysteme in der Schule, in manchen Bundesländern sogar mit Gesetzescharakter. Dass so eine tatsächliche Auseinandersetzung mit den gesellschaftsverändernden Einflüssen der mobilen Informatiksysteme unterbleibt und somit auf eine echte Vorbereitung auf die selbstbestimmte Teilhabe an der Gesellschaft in diesem Bereich verzichtet wird, wird als Kollateralschaden billigend in Kauf genommen. Demgegenüber steht ein Trend zur -- weitgehend -- unkritischen Nutzung der mobilen Geräte im Unterricht (meist nicht im Rahmen der Informatik), der vor allem durch die Hersteller\footnote{Allen voran Apple mit verschiedenen Programmen zur Förderung von \enquote{iPad-Klassen}.} befördert wird. Diese spiegelt letztlich nur das übliche Nutzungsverhalten innerhalb der Gesellschaft wider und bietet so zwar mediale Vorteile für den Unterricht, kann jedoch keinen größeren Beitrag zu einem mündigen, aufgeklärten Nutzungsverhalten leisten. Insbesondere der für die Informatik so wichtige Schritt der Rückführung der Erkenntnisse in die Realität, also die Umsetzung informatischer Modellierungen, oder wie Heming\cite{Heming2009} es beschreibt, die \enquote{Perspektive der Veränderung der Wirklichkeit}, wird so erschwert. Der Informatikunterricht erfolgt weiterhin beinahe natürlich in Computerräumen. Die stationären Rechner erscheinen dabei als das zentrale Unterrichtsmittel und der zentrale Unterrichtsgegenstand. So ergab sich in einem Gespräch, das der Autor mit einer Gruppe von Grund\-schü\-lern führte, die im Rahmen der anstehenden Anmeldungen seine Schule besuchten, dass -- wie erwartet -- niemand eine Vorstellung davon hatte, was sich wohl hinter seinem Fach \enquote{Sozialwissenschaften} oder auch \enquote{Politikunterricht} verbergen könnte. Ganz im Gegensatz dazu, hatten fast alle eine genaue Vorstellung davon, um was es in der Informatik gehen könnte, denn \enquote{das ist doch das Fach mit den Computern}. Diese eindimensionale Sicht zeigt sich nicht nur bei Grundschülern, sondern zieht sich durch die gesamte Gesellschaft. \section{Mobile Informatiksysteme im Informatikunterricht} Gerade auch um dieser Sichtweise auf die Informatik entgegenzuwirken, haben Carrie \cite{Carrie2006} und Heming \cite{Heming2009} gezeigt, dass die ausschließliche Nutzung mobiler Informatiksysteme im Unterricht möglich ist. Auf Basis von Symbian S60 wurden hierzu Unterrichtskonzepte und Materialien erstellt und -- insbesondere in den Pilotkursen an der Willy-Brandt-Gesamtschule Bergkamen -- erprobt. Wichtig ist, dass alle folgend geschilderten Ansätze davon ausgehen, dass eine ausschließliche Nutzung der mobilen Informatiksysteme erfolgt, da ansonsten ein großer Teil der geäußerten Hoffnungen nicht erreichbar wäre und man weiterhin auf Computerräume angewiesen bliebe. Im Folgenden soll ein -- noch in Entwicklung befindliches, aber bereits erfolgreich eingesetztes -- Konzept zur ausschließlichen Nutzung mobiler Informatiksysteme im Informatikunterricht vorgestellt werden, dass auch auf aktuellen Geräten nutzbar ist. Bei der Erprobung des Konzepts wurde besonders die hohe Motivation der Schülerinnen und Schüler deutlich. Die hier vorgestellte Lösung funktioniert derzeit mit allen mobilen Informatiksystemen mit einem Android-Betriebssystem ab Version 2.2. Mit vergleichsweise geringem Aufwand können die privaten Geräte der Schülerinnen und Schüler genutzt werden. Es müssen lediglich eine App installiert und die entsprechende Bibliothek verteilt werden. Letzteres kann automatisiert mittels eines QR-Codes erfolgen. \section{Plattformauswahl} Analog zu \cite{Carrie2006} sollte die Entwicklung für die mobilen Informatiksysteme mit den mobilen Informatiksystemen erfolgen. Somit fielen sämtliche Zugänge und Plattformen weg, die nur eine Entwicklung für die mobilen Systeme erlauben, hierzu aber auf weitere Informatiksysteme angewiesen sind. Diese Einschränkung war notwendig, um die aus der größeren Flexibilität und Unabhängigkeit von Computerräumen resultierenden, positiven Aspekte für den Informatikunterricht zu nutzen. Im Wesentlichen blieb somit Android übrig\footnote{Zum Zeitpunkt des Unterrichtsvorhabens galten noch die in \cite{SpittankExamen} genannten Einschränkungen von Apples iOS, sodass diese Plattform grundsätzlich nicht geeignet war. Inzwischen wurden jedoch wesentliche Vorgaben seitens Apple gelockert und es wurden einige Apps veröffentlicht, die die notwendigen Kriterien für den erfolgreichen Unterrichtseinsatz erfüllen. Obwohl es noch einige offene Probleme, etwa zum Dateiaustausch, zu lösen gilt, lässt insbesondere die App Pythonista hoffen, dass in Zukunft eine Umsetzung auf iOS möglich wird.}, da alle weiteren geeigneten Plattformen bisher keinen relevanten Marktanteil erreichen konnten. Für Android ist die App QPython verfügbar (in je einer Variante für Python 2 und Python 3), die eine einfache IDE, eine simple Shell und diverse vorkonfigurierte Bibliotheken mitbringt, die etwa Zugriff auf Sensoren und Kameras erlauben. Dass durch Linkweiler in \cite{LinkweilerDA2002} die gute Eignung von Python für den schulischen Informatikunterricht festgestellt wurde, ist ein weiteres Argument für die Wahl der Plattform. Auch einem Verpacken der Skripte in Android-Packages und dem Vertrieb über den PlayStore steht nichts im Wege. Der Einfachheit halber begnügt sich das Konzept bisher jedoch mit reinen Skripten und einer dialogbasierten Benutzungsoberfläche. Über die Scripting-API ist der Zugriff auf fast alle Komponenten des Android-Systems möglich. Die diversen Sensoren lassen sich dabei ebenso einfach auslesen wie der Touchscreen, es lassen sich Bilder, Videos\footnote{Aufgrund geänderter Sicherheitsrichtlinien in neueren Android-Versionen ist dies nur noch nach einer Interaktion des Anwenders möglich.} und Audio-Clips aufzeichnen. Außerdem lässt sich natürlich auch die Position mittels GPS und Mobilfunk bestimmen und mittels Bluetooth-API kommuniziert man mit anderen Geräten. All dies funktioniert auch auf sehr alten und damit günstigen Geräten ohne Probleme. \section{Definition einer Schnittstelle} Die von Google bereitgestellte Scripting-API kapselt Remote-Procedure-Calls an einen im Hintergrund laufenden Server-Dienst. Die Folge ist, dass die API weder objektorientiert noch ansatzweise selbsterklärend ist (vgl. Listing 1). Da für den Unterricht einerseits die Objektorientierung benötigt wird, andererseits eine möglichst eindeutige und klare Schnittstelle erwünscht ist, ist es notwendig, einen entsprechenden Wrapper als Schnittstelle zu definieren, der die benötigten API-Aufrufe in Objekte kapselt (vgl. Listing 2). Es hat sich als erfolgreich erwiesen, die Objekte im Unterricht zu entwickeln und daraus einen entsprechenden Wrapper zu erstellen, mit dem die Schülerinnen und Schüler weiterarbeiten können. Der Aufwand dafür ist nicht besonders hoch, zumal zu erwarten ist, dass sich die Modellierungen verschiedener Kurse hier nicht so gravierend unterscheiden, dass grundlegende Änderungen notwendig sind. Außerdem beschränken sich die jeweils zu ergänzenden API-Aufrufe auf wenige Zeilen. \begin{lstpy}[caption={Hallo Klasse, API}] import android droid = android.Android() droid.dialogCreateAlert("Hallo Klasse!","Bitte Ok druecken.") droid.dialogSetPositiveButtonText("OK") droid.dialogShow() result = droid.dialogGetResponse().result droid.dialogDismiss() \end{lstpy} \begin{lstpy}[caption={Hallo Klasse, objektorientiert}] from velamentum.alle import * dialog = Dialog() dialog.titel = "Hallo Klasse!" dialog.nachricht = "Bitte Ok druecken." dialog.zeige() \end{lstpy} Ein Beispiel für eine solche Umsetzung findet sich in Abbildung 1. Der Nutzen liegt klar auf der Hand, denn es kann direkt an die Arbeitsergebnisse angeknüpft werden, was zur Kontinuität des Unterrichts beiträgt und thematische Sprünge vermeidet. Voraussetzung dafür ist natürlich, dass die Modellierung von Objekten ausreichend eingeübt und verstanden wurde. \begin{figure}[htb] \begin{center} \includegraphics[width=6cm]{veinfach}\hspace{1cm} \includegraphics[width=3.7cm]{dialoge} \caption{\label{abbObjekte}Von den Schülerinnen und Schülern erarbeitete Objektübersicht und resultierendes Klassendiagramm (Auszüge)} \end{center} \end{figure} Da dies trotzdem nicht immer möglich sein wird, befindet sich derzeit eine Referenzimplementierung für die direkte Nutzung im Unterricht in Entwicklung. Diese und die bisher erstellten Materialien sind unter \cite{SpittankNetEduMobile} frei verfügbar. \section{Möglichkeiten der Ersteinrichtung im Unterricht} Die erste Einrichtung der Geräte für die Programmierung ist nicht weiter schwierig. Es muss lediglich die QPython-App (bisher noch vorzugsweise die für Python 2 und nicht für Python 3) installiert und anschließend der erstellte Wrapper in das Library-Verzeichnis kopiert werden, welches sich auf der SD-Karte bzw. dem entsprechend eingebundenen, internen Speicher befindet. Dies kann manuell erfolgen, ist dann allerdings mit umständlicheren Kopier-Aktionen verbunden. Um den Zugang für die Schülerinnen und Schüler möglichst einfach zu gestalten und während der Unterrichtsreihe auch geänderte Versionen der Bibliothek verteilen zu können, ist also eine automatisierte Lösung wünschenswert. Da bis vor kurzem keine einheitliche Methode hierfür in QPython existierte (etwa die Python-Setuptools) und diese nach wie vor nicht absolut zuverlässig funktionieren, wird hierfür ein eigenes Python-Skript verwendet, das die benötigten Dateien aus dem Internet nachlädt und die Dateien installiert. Dieses Skript wird -- wie es für QPython typisch ist -- aus einem QR-Code geladen. Die Installationsanleitung wurde dabei zur Übung des bereits Gelernten als umgangssprachliches Struktogramm festgehalten (vgl. Abbildung 2). \begin{figure}[htb] \begin{center} \includegraphics[width=6.2cm]{Installationsanleitung} \includegraphics[width=6.2cm]{abReporter} \caption{\label{abbAB}Installationsanleitung und Arbeitsblatt} \end{center} \end{figure} Sollte in der Schule kein WLAN mit Internetzugang zur Verfügung stehen, kann ein lokaler Server für die Verteilung verwendet werden. WLAN und Server können im Notfall auch durch ein entsprechend vorbereitetes Android-Gerät bereitgestellt werden. Ein entsprechendes Setup wurde in einem der beiden Kurse erfolgreich erprobt. Die Verteilung der notwendigen Dateien kann auch als Wettbewerb organisiert werden. Die zu entwickelnde Verteilungsstrategie mittels Bluetooth oder Speichermedien kann dabei wiederum als Struktogramm festgehalten werden und anschließend unter Effizienzgesichtspunkten beurteilt werden. Trotzdem ergeben sich aus der Vielfalt der von den Schülerinnen und Schülern genutzten Geräte gewisse Schwierigkeiten. So ist aufgrund von herstellerspezifischen Anpassungen die Installation auf einigen Geräten schwierig. Besonders neuere Geräte von Samsung und einzelne Geräte von HTC verhielten sich hier \enquote{zickig}. Mal fehlten Schreibrechte, mal beendeten installierte Systemdienste den API-Server. Bis alle Geräte vollständig genutzt werden konnten, vergingen rund drei Schulstunden. Danach fiel allerdings keinerlei Wartungsaufwand mehr an. \section{Weiteres Vorgehen} Die gesamte Umsetzung im Unterricht kann stark von kooperativen Methoden profitieren. Zur Entwicklung des Modells für den Wrapper wurden etwa Brainstorming und Welt-Café-Methode herangezogen, die Ergebnisse wurden dabei auf Plakaten festgehalten, die dann durch die Lehrkraft in den Wrapper überführt werden konnten. Die Plakate wurden zur weiteren Arbeit immer wieder genutzt, da sie so gleichsam die Dokumentation des Wrappers darstellten. Am Ende des Vorhabens sollten fertige Apps und eine Projektdokumenation als Produkte einzelner Kleingruppen stehen. Um die Anforderungen zu verdeutlichen, wurde daher die Heranführung an die Programmierung mittels zweier Beispiel-Projekte durchgeführt, die gemeinsam erarbeitet wurden. Zunächst sollte das Spiel \enquote{Stein-Schere-Papier} entwickelt werden. Hierzu wurden die Regeln, die benötigten Objekte und ein vorgesehener Programmablauf innerhalb mittels der Welt-Café-Methode ermittelt. Anschließend wurden die Skripte in Partnerarbeit implementiert und mit einem anderen Paar verglichen. Während der Arbeit war eine sehr starke, fachbezogene Kommunikation erkennbar. Besonders bei der Verifikation wurde deutlich, dass es keine künstlichen Barrieren gab. Smartphones wurden zwischen den Gruppenangehörigen ausgetauscht und die Ergebnisse verglichen. Der Wechsel zwischen Planung, Implementierung und Verifikation war dabei mühelos und wurde durch die mobilen Geräte begünstigt. Auch der Wechsel zwischen den Gruppen war zügig möglich. Leistungsstärkere Paare ergänzten das Skript dann noch um weitere Fälle. Das zweite, anspruchsvollere Skript -- ein Diktiergerät für die Schülerzeitung -- wurde nach demselben Muster umgesetzt (vgl. Abbildung 2). Für die eigenen Projektideen wurden sehr früh Zielfestlegungen getroffen, die durch die Lehrkraft auf ein erreichbares Maß reduziert wurden. Die Bearbeitung erfolgte dann in kleinen Projektgruppen nach dem bekannten Verfahren: Beschreibung der Idee, Ermittlung der Objekte und des Programmablaufs und schließlich Implementierung. Die Projektdokumentationen waren dabei teilweise sehr umfassend und gingen deutlich über den erwarteten Umfang hinaus. \section{Fazit} Im Großen und Ganzen kann das Experiment als Erfolg verbucht werden. Die erhofften positiven Aspekte konnten erreicht werden, einzig die Erstinbetriebnahme gestaltete sich schleppend. Eine echte Verbesserung ist hier allerdings beim \enquote{Bring your own device}-Ansatz kaum erreichbar. Zu unterschiedlich sind die Herstellermodifikationen an Android. Dennoch hatten außnahmslos alle Schülerinnen und Schüler sichtbar Spaß an der Entwicklung mit den Smartphones und viele haben auch außerhalb des Unterrichts und sogar nach Ende des Unterrichtsvorhabens weiter an ihren Apps gearbeitet. Eingeschobene, kurze Lernzielkontrollen zeigten, dass auch die zugrundeliegenden Konzepte verstanden wurden, sodass das Fazit durchweg positiv ausfällt, insbesondere auch von Seiten der Schülerinnen und Schüler. Durch die Verwendung der mobilen Geräte wurde zudem tatsächlich dem einseitigen Bild der Informatik als Computerwissenschaft entgegengewirkt und eine stärkere Anbindung an den Alltag der Schülerinnen und Schüler erreicht, wie der Vergleich mit den Parallelkursen zeigte. \bibliography{mobile} \end{document}