% (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}
