material/Beiträge/DDI-Vortrag/Source/Mobile.tex

491 lines
14 KiB
TeX

% (C)opyright D. Spittank
% letzte Aenderungen: Su 12. Dec 18:22:31 CEST 2010
%
% diese Datei: Programmiersprachen.tex
%
% Dieses Dokument steht unter der Creative Commons by-nc-sa-Lizenz.
% Folglich darf es beliebig kopiert und bearbeitet werden,
% sofern das Folgeprodukt wiederum unter dieser Lizenz vertrieben wird.
% Eine kommerzielle Nutzung ist nicht erlaubt.
%
% Die detaillierten Lizenzbedingungen finden sich auf der Seite
% http://creativecommons.org/licenses/by-nc-sa/3.0/deed.de
%
% Details u.a. dazu, wie eine maschinenlesbare Lizenzdatei in das Dokument
% eingebunden werden kann, finden sich in der Fachseminarzeitung:
% http://humbert.in.hagen.de/iffase/Artikel/latex-2007-10-01.html
%
% Die zum Setzen notwendigen Dateien finden sich unter:
%
% vorspann-seminar.tex http://www.ham.nw.schule.de/bscw/bscw.cgi/1187088
% lizenz.xmp http://www.ham.nw.schule.de/bscw/bscw.cgi/1187088
% Komplett.bib https://haspe.homeip.net/projekte/ddi/browser/tex/BIB/ (wird regelmäßig erneuert)
\documentclass[10pt,ngerman]{beamer}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{rotating}
\usepackage{multicol}
\usepackage{tikz}
% Tikz
\usetikzlibrary{arrows,positioning}
\tikzset{
%Define standard arrow tip
>=stealth',
%Define style for boxes
punkt/.style={
rectangle,
rounded corners,
draw=black, very thick,
minimum height=0.8cm,
minimum width=2cm,
text centered},
punkt2/.style={
rectangle,
rounded corners,
draw=black, very thick,
minimum height=0.8cm,
minimum width=3.5cm,
text centered},
% Define arrow style
pil/.style={
<->,
thick,
>=stealth,},
pil2/.style={
->,
thick,
gray,
densely dashed,
>=stealth,}
}
\usetheme{JuanLesPins}
% Darstellung noch nicht angezeigter Elemente
%\setbeamercovered{transparent=10}
%Mobile Informatiksysteme in der Schule
% Um was geht es?
% Stand in der Schule
% Ziel: Informatische Vernunft und mündiger Bürger
% Verbreitung
% Verbote
% Idee: Besser Aufklärung
% Stand in der Forschung
% Voraussetzungen
% Vorteile
% Nachteile
% Einsatzbeispiele
% Informatik
% Außerhalb der Informatik
% Auswahlkriterien
% Software
% Hardware
% Sonstige
% Verbreitete Plattformen
% Symbian S60, Meego, WebOS,
% Windows Phone 7 und iOS
% Android
% Android
% Umgebung
% API
\input{vorspann-seminar}
\title{Mobile Informatiksysteme in der Schule}
\author{Daniel Spittank}
\institute{Bergische Universit\"at Wuppertal}
\date{Montag, 21. November 2011}
\usepackage{xmpincl}
\includexmp{lizenz}
% Quelltexte
% Quelltexte
\RequirePackage{listings}
\lstset{showspaces=false,
showstringspaces=false
showtabs=false}
\lstset{tabsize=3}
\lstset{frame=single,
frameround=ffff}
\lstset{extendedchars=true}
\lstset{basicstyle=\ttfamily\scriptsize,
keywordstyle=\color{blue}\bfseries,
identifierstyle=\color{black}\bfseries,
commentstyle=\color{gray}}
\lstset{backgroundcolor=\color{white}}
\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}}{}
\lstnewenvironment{lsthtml}[1][]{\lstset{language={HTML},caption={Quelltext},#1}}{}
% Zitate
\usepackage[german=quotes,threshold=30,thresholdtype=words]{csquotes}
\newcommand{\zitat}[4][]{\textquote[{\citealp[S.~#4]{#3}}]{#2}#1}
\newcommand{\zitatblock}[4][]{\singlespacing \small \blockquote[{\citealp[S.~#4]{#3}}]{\textcolor{gray}{#2}}#1 \normalsize \onehalfspacing}
\newcommand{\vgl}[3][vgl.]{\citep[#1][S.~#3]{#2}}
% Multi-Monitor-Unterstützung und Notizen
%\usepackage{pgfpages}
%\setbeameroption{show notes on second screen}
%\setbeameroption{show notes}
%\defbeamertemplate{note page}{mynotes}{\begin{center}
%\insertslideintonotes{0.70}\\\insertnote
%\end{center}}
%\setbeamertemplate{note page}[mynotes]
\begin{document}
\maketitle
\section{}
\begin{frame}{Inhalt}
%\setlength{\columnseprule}{0.1pt}
\begin{multicols}{2}
% \begin{footnotesize}
\tableofcontents
% \end{footnotesize}
\end{multicols}
\end{frame}
\section{Worum geht es?}
\begin{frame}{Worum geht es?}
\begin{itemize}
\item<1-> Informatiksysteme werden immer weiter entwickelt.
\item<2-> Informatik durchdringt den Alltag.
\item<3-> Die moderne Welt ist ohne Informatik kaum vorstellbar.
\item<4-> Informatische Bildung gehören zur allgemeinen Bildung!
\end{itemize}
\end{frame}
\begin{frame}{Worum geht es?}
\begin{itemize}
\item<1-> \alert<2>{Trotzdem wird Informatik mit Computertechnik gleichgesetzt.}
\item<2-> Dieses Bild haben insbesondere auch Schüler.
\item<3-> Schüler werden noch häufig mit Computerkursen konfrontiert.
\item<4-> Der Informatikunterricht findet im Computerraum statt.
\item<5-> Mobile Geräte als Ausweg?
\end{itemize}
\end{frame}
\section{Aktueller Stand (Schule)}
\subsection{Ziele}
\begin{frame}{Wesentliche Ziele}
\begin{itemize}
\item Entwicklung informatischer Vernunft
\item Schüler sollen \enquote{mündige Bürger} werden
\end{itemize}
\end{frame}
\subsection{Alltagsbezug?}
\begin{frame}{Gerätebesitz}
Gerätebesitz nach JIM-Studie 2010 \cite{jim2010}
\begin{itemize}
\item 97\% aller 12- bis 19-jährigen Schüler besitzen ein Handy
\item (96\% bei Jungen und 98\% bei Mädchen)
\item<2-> Einen Computer hingegen besitzen nur 79\%
\item<2-> (77\% bei Mädchen und 80\% bei Jungen)
\item<3-> Außerdem sind Handys gleichermaßen bei allen Altersgruppen zu finden.
\item<4-> SmartPhones weniger weit verbreitet (etwa 20\%)
\end{itemize}
\end{frame}
\subsection{Gesellschaftliche Reaktionen}
\begin{frame}{Gesellschaftliche Reaktionen}
\begin{itemize}
\item Handys werden mit der Verbreitung von Pornographie und Gewaltvideos in Verbindung gebracht.
\item<2-> Verbote sind an Schulen üblich
\item<2-> Teilweise sogar gesetzliche Handyverbote an Schulen (Bayern, seit 2006)
\item<3-> Passt das zu unseren Zielen?
\end{itemize}
\end{frame}
\section{Aktueller Stand (Forschung)}
\subsection{Forschung}
\begin{frame}{Forschung}
Verschiedene Beiträge von
\begin{itemize}
\item Ralph Carrie (vgl. \cite{Carrie2006} u. a.)
\item Ludger Humbert (vgl. \cite{HumbertGINW2006} u. a.)
\item Matthias Heming (vgl. \cite{Heming2009} u. a.)
\item Versuchskurse an der Willy-Brandt-Gesamtschule in Bergkamen
\end{itemize}
\end{frame}
\subsection{Vorteile und Hoffnungen}
\begin{frame}{Vorteile und Hoffnungen}
\begin{itemize}
\item Stärker Alltagsbezug
\item Nutzung eigener Geräte
\item Genderaspekt
\item Flexiblere Unterrichtsgestaltung
\item Mehr sachbezogene Kommunikation und Interaktion
\item Verringerter Wartungsaufwand
\item Höhere Motivation
\item Geringere Kosten
\end{itemize}
\end{frame}
\subsection{Nachteile und Befürchtungen}
\begin{frame}{Nachteile und Befürchtungen}
\begin{itemize}
\item Erschwerte Bedienung
\item Verringerte Geschwindigkeit
\item Frustration?
\item Exlusive Nutzung der Geräte
\end{itemize}
\end{frame}
\section{Einsatzmöglichkeiten}
\subsection{Informatikunterricht}
\begin{frame}{Einsatz im Informatikunterricht}
\begin{itemize}
\item Mobilgeräte sind vollständige Informatiksysteme
\item Lehrpläne sind damit grundsätzlich umsetzbar (vgl. \cite{heming2009})
\item<2-> Vorteile wie zuvor beschrieben
\item<3-> Einige Zugänge eröffnen sich mit Mobilgeräten leichter, z.B.:
\begin{itemize}
\item Datenschutz
\item Kommunikation(-sprotokolle)
\item Nutzung von Audio (TTS, SR, Mikrofon) und Video (Kamera)
\item Objektkarten $\leftrightarrow$ QR-Codes
\end{itemize}
\item<4-> Außerdem etwa: Modellierung und Simulation von Automaten
\end{itemize}
\end{frame}
\subsection{Anderer Unterricht}
\begin{frame}{Einsatz in anderem Unterricht}
\begin{multicols}{2}
\begin{itemize}
\item Allgemein
\begin{itemize}
\item Recherche
\item Audiovisuelle Dokumentation
\item Quiz
\item Wissensnetze
\item Notizen
\item (Präsentation)
\end{itemize}
\item<2-> Sozialwissenschaften
\begin{itemize}
\item Interviews und Umfragen
\item Statistiken
\item Umgang mit Medien (als Informationsquellen)
\end{itemize}
\item<3-> Mathematik und NW
\begin{itemize}
\item Ersatz für GTR
\item Mathematikprogramme
\item Simulationen
\item GPS
\end{itemize}
\item<4-> Sprachen
\begin{itemize}
\item SMS-Stil
\item Vokabeln
\item Aussprache
\end{itemize}
\item<5-> Erdkunde
\begin{itemize}
\item GPS
\item Kartenmaterial
\end{itemize}
\end{itemize}
\end{multicols}
\end{frame}
\section{Auswahlkriterien}
\subsection{Gerätetypen}
\begin{frame}{Gerätetypen}
\begin{tabular}{l|cccc}
Merkmal & Handys & Smartphones & Hybride & Tablets\\
\hline
Progammierbarkeit & $\ominus$ & $\oplus$ & $\oplus$ & $\oplus$ \\
Bedienung & $\ominus$ &$\odot$ & $\oplus$ & $\oplus$\\
Alltagsbezug & $\oplus$ & $\oplus$ & $\odot$ & $\ominus$\\
Mobilität & $\oplus$ & $\oplus$ & $\oplus$ & $\ominus$\\
Ausstattung & $\ominus$ & $\odot$ & $\oplus$ & $\oplus$\\
Kosten & $\oplus$ & $\odot$ & $\ominus$ & $\ominus$
\end{tabular}
\end{frame}
\subsection{Kriterien für Geräteauswahl}
\begin{frame}{Kriterien für Geräteauswahl}
\begin{exampleblock}{Einige Kriterien für die Geräteauswahl}
\begin{multicols}{2}
\textbf{Software}
\begin{itemize}
\item \alert{RAD möglich und verfügbare Werkzeuge}
\item Künstliche Einschränkungen
\item Frei installierbare Software
\item Kompatibilität
\end{itemize}
\textbf{Hardwareausstattung}
\begin{itemize}
\item Kamera
\item WLAN, Bluetooth
\item GPS, Sensoren
\item (Schnittstellen)
\end{itemize}
\textbf{Sonstiges}
\begin{itemize}
\item Rechtliche Aspekte
\item Kosten
\item Verbreitung
\item Systemupdates
\end{itemize}
\end{multicols}
\end{exampleblock}
\pause
\textbf{Fazit:} Von den Relevanten Plattformen bleibt nur Android übrig.
\end{frame}
\section{Android}
\subsection{RAD}
\begin{frame}{RAD und Umgebung für Entwicklungen}
\begin{itemize}
\item ASE ermöglicht Python und weitere Scriptsprachen
\item API verfügbar
\item<2-> ermöglicht sowohl direkte Ausführung als auch Erstellung von Apps
\item<2-> Ausführung direkt oder getriggert möglich
\item<4-> leider teilweise schlecht dokumentiert
\item<4-> API ist nicht objektorientiert
\item<4-> API ist nicht intuitiv, nicht einheitlich und zu aufwendig
\item<5-> Interaktiver Python-Shell fehlt Vervollständigung etc.
\item<6-> Verschiedene Editoren verfügbar, aber keiner uneingeschränkt geeignet.
\item<7-> Bildschirm-Tastaturen sind allesamt nicht für Programmierung geeignet.
\item<8-> UI-Chaos
\end{itemize}
\end{frame}
\begin{frame}{UI-Chaos}
\begin{itemize}
\item Es gibt drei verschiedene UI-Schnittstellen\begin{itemize}
\item dialogFacade
\item webViewFacade
\item fullScreenFacade
\end{itemize}
\item<2-> dialog bietet nur Dialoge, keine \enquote{echte} App-UI
\item<3-> webViewFacade basiert auf HTML und (zwingend) JavaScript
\item<4-> fullScreenFacade ist in Entwicklung und verhält sich bei Tests unberechenbar und instabil.
\end{itemize}
\end{frame}
\subsection{Problembehebung}
\begin{frame}{Schaffung einer geeigneten Umgebung}
Einige der benannten Probleme wären aufgrund der weitgehend offenen Struktur von Android behebbar.
\begin{itemize}
\item Editor $\rightarrow$ App entwickeln
\item Tastatur $\rightarrow$ Tastatur entwickeln
\item API $\rightarrow$ API-Wrapper entwickeln
\end{itemize}
Hierbei könnte man größtenteils vorhandene OpenSource-Projekte weiterentwickeln.
\end{frame}
\subsection{API}
\begin{frame}[fragile]
\frametitle{API-Beispiel I}
\begin{lstpy}[caption={OK-Dialog}]
import android
droid = android.Android()
droid.dialogCreateAlert("Test","Bitte OK druecken.")
droid.dialogSetPositiveButtonText("OK")
droid.dialogShow()
result = droid.dialogGetResponse().result
droid.dialogDismiss()
\end{lstpy}
\end{frame}
\begin{frame}[fragile]
\frametitle{API-Beispiel IIa}
\begin{lstpy}[caption={webView-Beispiel, Python-Code}]
import android
import time
droid = android.Android()
droid.webViewShow('file:///sdcard/sl4a/scripts/DDI/ddi_ui.html')
while True:
e = droid.eventPoll(1)
if e.result:
droid.vibrate()
if e.result[0]['name'] == 'say':
droid.ttsSpeak(e.result[0]['data'])
[...]
\end{lstpy}
\end{frame}
\begin{frame}[fragile]
\frametitle{API-Beispiel IIb}
\begin{lsthtml}[caption={webView-Beispiel, UI-Code}]
<html>
<head>
<script>
var droid = new Android();
var speak = function(){
droid.eventPost("say",document.getElementById("say").value);
}
</script>
[...]
</head>
<body>
<form onsubmit="speak(); return false;">
<input type="text" id="say" value="Test." />
<input type="submit" value="Sprich!" />
</form>
</body>
</html>
\end{lsthtml}
\end{frame}
\subsection{API-Wrapper}
\begin{frame}{API-Wrapper}
Ansatz 1: Klassenhierarchie
\begin{itemize}
\item Bezüge und Abhängigkeiten lassen sich gut darstellen
\item Klare Struktur, die das Gerät abbildet
\item Viel Tipparbeit
\item Weniger übersichtlich
\end{itemize}
Ansatz 2: Einzelmodule
\begin{itemize}
\item Bezüge und Abhängigkeiten unklar
\item Wenig Tipparbeit
\item Bessere Übersicht
\item Funktionale Gruppierung oder Gerätebezogene Gruppierung?
\end{itemize}
Hierbei könnte man größtenteils vorhandene OpenSource-Projekte weiterentwickeln.
\end{frame}
\begin{frame}{Schreibweisen}
\begin{itemize}
\item Müssen verschiedene Schreibweisen berücksichtigt werden?
\item Wie kann damit umgegangen werden?
\item Automatisierung möglich, aber \enquote{unschön}
\item Verschiedene Wrapper?
\end{itemize}
\end{frame}
%Literaturverzeichnis
\subsection{}
\begin{frame}[allowframebreaks]{Literatur}
% \begin{tiny}
\bibliographystyle{natdin}
\bibliography{Komplett,mobile}
% \end{tiny}
\end{frame}
\end{document}