\documentclass[usepdftitle=false,hyperref={pdfpagelabels=false}]{beamer}

% use KIT-Theme
% see http://sdqweb.ipd.kit.edu/wiki/Dokumentvorlagen
%\usetheme{Frankfurt} % see http://deic.uab.es/~iblanes/beamer_gallery/index_by_theme.html as fallback
\InputIfFileExists{../templates/beamerthemekit.sty}{\usepackage{../templates/beamerthemekit}}{\usetheme{Frankfurt}}
\usefonttheme{professionalfonts}

\usepackage{hyperref}
\usepackage{lmodern}
\usepackage{listings}
\usepackage{wrapfig}        % see http://en.wikibooks.org/wiki/LaTeX/Floats,_Figures_and_Captions
\usepackage[utf8]{inputenc} % this is needed for german umlauts
\usepackage[ngerman]{babel} % this is needed for german umlauts
\usepackage[T1]{fontenc}    % this is needed for correct output of umlauts in pdf
\usepackage{verbatim}
\usepackage{relsize}
\usepackage{subfigure}
\usepackage{algorithm,algpseudocode}
\usepackage{minted}         % needed for the inclusion of source code
\usepackage{tikz}
\usetikzlibrary{shapes,snakes,calc,patterns} 
\usepackage{xcolor}
\usepackage{menukeys}
\usepackage{braket}
\usepackage{ulem}
\usepackage{../templates/myStyle}

\newcommand\tutor{Martin Thoma}
\newcommand\tutNR{10}
\newcommand\titleText{Programmieren-Tutorium Nr. \tutNR{}}
\institute{Fakultät für Informatik}

\hypersetup{pdftitle={\titleText}}
\beamertemplatenavigationsymbolsempty

\newcommand\InsertToC[1][]{
  \begin{frame}{Outline}
    \tableofcontents[subsectionstyle=show/show/show, subsubsectionstyle=show/show/show, #1]
  \end{frame}
}

\begin{document}
\title{\titleText}
\subtitle{Einführung in Java, Eclipse}
\author{\tutor}
\date{\today}
\subject{Programmieren}

\frame{\titlepage}

\frame{
    \frametitle{Inhaltsverzeichnis}
    \setcounter{tocdepth}{1}
    \tableofcontents
    \setcounter{tocdepth}{2}
}

%\AtBeginSection[]{
%    \InsertToC[sections={\thesection}]  % shows only subsubsections of one subsection
%}

\section{Allgemeines}
\subsection{Formalien}
\begin{frame}{Formalien}
    \begin{itemize}
        \item Die Folien werden online gestellt $ \Rightarrow $ 
              \textbf{Mitschreiben nicht nötig}
        \item $\rightarrow$ \href{http://martin-thoma.com/programmieren-tutorium}{martin-thoma.com/programmieren-tutorium}
        \item Fragen immer sofort stellen – und traut euch!\\ 
              Wenn nicht hier, wo dann?
    \end{itemize}
\end{frame}

\subsection{Vorstellung}
\begin{frame}
    \frametitle{Das bin ich}
    \begin{itemize}
      \item Martin Thoma (\href{mailto:info@martin-thoma.de}{info@martin-thoma.de}) $\rightarrow$ \href{http://www.martin-thoma.de/about.htm}{CV}
      \item 22 Jahre alt
      \item komme aus Augsburg
      \item 3. Semester, Informatik
      \item Programmieren
        \begin{itemize}
            \item \textbf{2005}: Angefangen mit PHP (\& HTML, CSS, JavaScript, (My)SQL)
            \item \textbf{2009}: Liebe zu Python entdeckt \\
                  (\href{http://martin-thoma.com/challenge-websites/}{HackIts und Challenges} auf ProjectEuler, Brightshadows)
            \item \textbf{Selten}: C, C++ (z.B. für ein größeres Forschungsprojekt)
            \item \textbf{2011}: Java am KIT gelernt
            \item BwInf, Online-Projekte wie z.B. \href{http://world-of-dungeons.net/}{world-of-dungeons}
        \end{itemize}
    \end{itemize}
    \textbf{Und wer seid ihr?}
\end{frame}

\subsection{Websites}
\begin{frame}
    \frametitle{Websites und Links}
    \begin{itemize}
      \item \href{http://martin-thoma.com/programmieren-tutorium}{martin-thoma.com/programmieren-tutorium}:\\
            Alle Links, Folien, Hinweise und viele weitere Inhalte
      \item \href{https://praktomat.info.uni-karlsruhe.de/}{praktomat.info.uni-karlsruhe.de}:\\
            Forum; Abgabe der Übungsaufgaben; Klausur
      \item \href{https://webinscribe.ira.uka.de/}{webinscribe.de}: Anmeldung für das Tutorium
      \item \href{http://verialg.iti.kit.edu/english/583.php}{tinyurl.com/prog2012}: Website von Prof. Dr. Sinz
      \item \href{http://docs.oracle.com/javase/7/docs/}{docs.oracle.com}: Manual $\rightarrow$ \href{http://docs.oracle.com/javase/7/docs/api/}{API}
      \item \href{http://stackoverflow.com/}{stackoverflow.com}: Weitergehende Fragen
    \end{itemize}
\end{frame}

\subsection{Tutorium, Übung, Vorlesung}
\begin{frame}
    \frametitle{Tutorium, Übung, Vorlesung}
\begin{tikzpicture}[%
    auto,
    example/.style={
      rectangle,
      draw=blue,
      thick,
      fill=blue!20,
      text width=4.5em,
      align=center,
      rounded corners,
      minimum height=2em
    },
    longName/.style={
      text width=12em,
      align=center,
      minimum height=2em
    },
    algebraicName/.style={
      text width=7em,
      align=center,
      minimum height=2em
    },
    explanation/.style={
      text width=10em,
      align=left,
      minimum height=3em
    }
  ]
\pgfdeclarepatternformonly{north east lines wide}%
   {\pgfqpoint{-1pt}{-1pt}}%
   {\pgfqpoint{10pt}{10pt}}%
   {\pgfqpoint{9pt}{9pt}}%
   {
     \pgfsetlinewidth{3pt}
     \pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
     \pgfpathlineto{\pgfqpoint{9.1pt}{9.1pt}}
     \pgfusepath{stroke}
    }


    % Big background
    \draw[fill=lime!20,lime!20, rounded corners]     (-1.8, 0.60) rectangle (10,-5);

    \draw[fill=purple!20,purple!20, rounded corners] (0.55, -3.1) rectangle (3.5,-3.9);
    \draw[fill=purple!20,purple!20, rounded corners] (4.55, -3.1) rectangle (7.5,-3.9);

    \draw[fill=blue!20,blue!20, rounded corners] (-1.45,-1.4) rectangle (1.5,-0.6);
    \draw[fill=blue!20,blue!20, rounded corners] (2.55,-1.4) rectangle (5.5,-0.6);
    \draw[fill=blue!20,blue!20, rounded corners] (6.55,-1.4) rectangle (9.5,-0.6);

    \draw (2, 0) node[longName] (A) {Modul: Programmieren}
          (6, 0) node[explanation]   (X) {
            \begin{minipage}{0.9\textwidth}
                \tiny 
                \begin{itemize}
                    \item 5 ECTS
                \end{itemize}
            \end{minipage}
          }
          (0,-1) node[algebraicName] (B) {Tutorium}
          (4,-1) node[algebraicName] (C) {Übung}
          (8,-1) node[algebraicName] (D) {Vorlesung}
          (0,-2) node[algebraicName] (E) {Student}
          (4,-2) node[algebraicName] (F) {Mitarbeiter}
          (8,-2) node[algebraicName] (G) {Dozent}
          (2,-3.5) node[algebraicName, purple] (H) {Übungsschein}
          (1.8,-4.35) node[explanation]   (X) {
            \begin{minipage}{\textwidth}
                \tiny 
                \begin{itemize} \itemsep-0.2em
                    \item Muss bestanden werden
                    \item Keine Note
                    \item keine Bonuspunkte
                \end{itemize}
            \end{minipage}
          }
          (6,-3.5) node[algebraicName, purple] (I) {Klausur}
          (5.8,-4.3) node[explanation]   (X) {
            \begin{minipage}{\textwidth}
                \tiny 
                \begin{itemize} \itemsep-0.2em
                    \item Muss bestanden werden
                    \item Abschlussnote ergibt Modulnote
                \end{itemize}
            \end{minipage}
          };

    \draw[blue, thick, rounded corners] ($(B.north west)$) rectangle ($(B.south east)$);
    \draw[blue, thick, rounded corners] ($(C.north west)$) rectangle ($(C.south east)$);
    \draw[blue, thick, rounded corners] ($(D.north west)$) rectangle ($(D.south east)$);

    \draw[purple, thick, rounded corners] ($(H.north west)$) rectangle ($(H.south east)$);
    \draw[purple, thick, rounded corners] ($(I.north west)$) rectangle ($(I.south east)$);

    \draw[lime, thick, rounded corners]   ($(B.north west)+(-0.1,0.1)$) rectangle ($(E.south east)+(0.1,-0.1)$);
    \draw[lime, thick, rounded corners]   ($(C.north west)+(-0.1,0.1)$) rectangle ($(F.south east)+(0.1,-0.1)$);
    \draw[lime, thick, rounded corners]   ($(D.north west)+(-0.1,0.1)$) rectangle ($(G.south east)+(0.1,-0.1)$);
\end{tikzpicture}
\end{frame}

\subsection{Was ist der Job eines Tutors?}
\begin{frame}
    \frametitle{Was ist der Job eines Tutors?}
    \begin{itemize}
      \item Fragen zum Stoff beantworten
        \begin{itemize}
          \item Gerne auch \emph{etwas} darüber hinaus
        \end{itemize}
      \item Fragen zur Vorlesung beantworten
        \begin{itemize}
          \item z.B. Klausurmodalitäten
        \end{itemize}
      \item Übungsblätter korrigieren
    \end{itemize}
\end{frame}

\subsection{Was ist nicht der Job eines Tutors?}
\begin{frame}
    \frametitle{Was ist \underline{nicht} der Job eines Tutors?}
    \begin{itemize}
      \item Vorlesung wiederholen
      \item Bespaßung im Tutorium
      \item Jeden durch die Klausur bringen
      \item \dots oder die Korrektur der Klausur
    \end{itemize}
\end{frame}

\subsection{Für was ist der Student verantwortlich?}
\begin{frame}
    \frametitle{Für was ist der Student verantwortlich?}
    Der Student ist für sich selbst verantwortlich, also \dots
    \begin{itemize}
      \item \dots die rechtzeitige Übungsblattabgabe
      \item \dots die Vor- und Nachbereitung der Vorlesung
      \item \dots das Lernen der Inhalte
      \item \dots die rechtzeitige Klausuranmeldung
      \item \dots das Finden relevanter Informationen
    \end{itemize}
\end{frame}

\subsection{Warnung!}

\subsection{Erinnerungen}
\begin{frame}{Erinnerungen}

\begin{block}{Praktomat-Anmeldung}
\url{https://praktomat.info.uni-karlsruhe.de/praktomat\_2012\_WS/}
\begin{itemize}
\item Deadline: \textbf{Freitag, 02. November 2012}
\end{itemize}
\end{block}

\begin{block}{Disclaimer: \href{http://tinyurl.com/prog-disclaimer}{tinyurl.com/prog-disclaimer}}
\begin{itemize}
\item PDF im VAB
\item Abgabe in den Briefkasten der Vorlesung Programmieren\\(Gebäude 50.34, Keller)
\item Deadline: \textbf{Freitag, 02. November 2012}
\end{itemize}
\end{block}

\begin{block}{Übungsschein \href{studium.kit.edu}{http://studium.kit.edu}}
\begin{itemize}
\item Anmeldung für den Übungsschein
\item Deadline: \textbf{Sonntag, 31. März 2013}
\end{itemize}
\end{block}
\end{frame}

\subsection{Nicht abschreiben!}
\begin{frame}{Nicht abschreiben!}
\begin{alertblock}{Warnung!}
\begin{itemize}
\item \emph{\textbf{Nicht abschreiben!}}
\item Schon bei \textbf{einmaligem} Nachweis verwirkt man die Chance auf den \textbf{Übungsschein}
\item Ohne Schein darf man die \textbf{Abschlussaufgabe} nicht schreiben
\item Nur mit beidem besteht man das \textbf{Modul Programmieren}
\item Programmieren ist Teil der \textbf{Orientierungsprüfung}
\item Ohne bestandene Orientierungsprüfung bis zum 3. Semester \textbf{fällt man aus dem Studium} und darf bundesweit das Studienfach nicht mehr belegen!
\end{itemize}
\end{alertblock}
\end{frame}

\subsection{Praktomat}
\begin{frame}{Praktomat}
    \begin{itemize}
        \item Ihr könnt beliebig häufig Lösungen hochladen!
        \item Ladet Teillösungen hoch
        \begin{itemize}
            \item[$\Rightarrow$] Sicherungskopie für euch
            \item[$\Rightarrow$] Eine vergessene Deadline ist nicht ganz so ärgerlich
        \end{itemize}
        \item Rechnet nicht mit der Erreichbarkeit des Praktomaten 
              kurz vor der Deadline
        \item \textbf{Disclaimer nicht vergessen!}
    \end{itemize}
\end{frame}

\section{Was ist Programmieren?}
\subsection{Algorithmen}
\begin{frame}
    \frametitle{Algorithmen}
    \begin{block}{Allgemeines}
      \begin{itemize}
        \item Modul des 2. Semesters
        \item 6 ECTS
      \end{itemize}
    \end{block}
    \begin{block}{Themen}
      \begin{itemize}
        \item Sortieralgorithmen
        \item Suchalgorithmen
        \item Speicherplatz- und Laufzeitkomplexität
        \item Weiterführende Datenstrukturen (Stack, Heap, B-Bäume, \dots)
      \end{itemize}
    \end{block}
\end{frame}

\subsection{SWT - Softwaretechnik}
\begin{frame}
    \frametitle{SWT - Softwaretechnik}
    oder auch "`Programmieren im Großen"'
    \begin{block}{Allgemeines}
      \begin{itemize}
        \item Modul des 2. Semesters
        \item 6 ECTS
      \end{itemize}
    \end{block}
    \begin{block}{Themen}
      \begin{itemize}
        \item Wie gehe ich die Entwicklung von Software an?
        \item Wie strukturiere ich Programme?
        \item Wie entwickle ich \emph{leicht} wartbare Software?
        \item Entwurfsmuster
        \item Wasserfallmodell, Scrum, V-Modell
      \end{itemize}
    \end{block}
\end{frame}

\subsection{Programmieren}
\begin{frame}
    \frametitle{Programmieren}
    oder auch "`Programmieren im Kleinen"'
    \begin{block}{Allgemeines}
      \begin{itemize}
        \item Modul des 1. Semesters
        \item 5 ECTS
        \item Teil der Orientierungsprüfung
      \end{itemize}
    \end{block}
    \begin{block}{Themen}
      \begin{itemize}
        \item \textbf{Allgemeines}: Was ist eine if-Abfrage, was eine for- bzw. while-Schleife?
        \item Wie mache ich meinen Code wartbar?
        \item \textbf{Objektorientierung}: Was ist eine Klasse, was ein Objekt?
        \item Modellierung von Problemen
        \item \textbf{Elementare Datenstrukturen und -typen}: int, String, Array
      \end{itemize}
    \end{block}
\end{frame}

\section{Java}
\subsection{Begriffe}
\begin{frame}{Begriffe}
    \begin{block}{JDK}
        Das Java Development Kit (JDK) ist eines der von 
        Java-Entwicklern meistgenutzten Java-SDKs.\\
        $[\dots]$ Nun wird eine angepasste freie Version als ihr nunmehr 
        offizieller Nachfolger unter dem Namen OpenJDK weitergeführt.
    \end{block}

    \begin{block}{JRE}
        Die Java-Laufzeitumgebung (englisch: Java Runtime Environment, kurz JRE) 
        ist die Laufzeitumgebung der Java-Technik. Mit ihr werden 
        Programme (Java-Anwendungen) weitgehend unabhängig vom 
        darunter liegenden Betriebssystem ausgeführt.
    \end{block}

    Quelle: Wikipedia
\end{frame}

\subsection{Workflow}
\framedgraphic{Workflow}{schaubild-java-workflow.png}

\section{System einrichten}
\subsection{Linux}
\begin{frame}{Java unter Linux}
    \begin{itemize}
        \item Ubuntu: \href{http://wiki.ubuntuusers.de/Java/Installation}{UbuntuUsers.de}\\
              \myCode{\$ sudo apt-get install openjdk-7-jre openjdk-7-jdk}
        \item Arch: \href{https://wiki.archlinux.de/title/Java}{archlinux.de}\\
              \myCode{\$ pacman -S jre7-openjdk}
    \end{itemize}
\end{frame}

\subsection{Windows}
\begin{frame}{Windows}
    \begin{itemize}
        \item \href{http://java.com/de/download/index.jsp}{java.com/download}
    \end{itemize}
    \includegraphics[width=100mm]{java-download.png}
\end{frame}

\begin{frame}{Windows - 32 oder 64 Bit Version?}
    \menu{Start > Systemsteuerung} oder \keys{Windows + Pause}
    \includegraphics{windows-systemsteuerung.png}
\end{frame}

\begin{frame}{Windows - cmd}
    \begin{itemize}
        \item Ausführen: \myCode{cmd}
        \item \myCode{> javac -version}
        \item \myCode{javac 1.7.0\_09} $\rightarrow$ hat geklappt
        \item Sonst: javac zu PATH hinzufügen
            \begin{enumerate}
                \item Wo liegt "`javac.exe"'?\\(z.B. \directory{C:/Program Files/Java/jdk1.7.0\_09/bin/javac.exe})
                \item Systemsteuerung (\keys{Windows + Pause})\\
                      \menu{Systemsteuerung > Erweiterte Systemeinstellungen > Umgebungsvariablen}
                \item Zu "`Path"' durch \myCode{;} getrennt hinzufügen
            \end{enumerate}
    \end{itemize}
\end{frame}

\subsection{Java testen}
\begin{frame}{Java testen}
    \inputminted[linenos, numbersep=5pt, tabsize=4, frame=lines, label=HelloWorld.java]{java}{HelloWorld.java}
    \inputminted[linenos=false]{console}{Bash.sh}
\end{frame}

\subsection{Eclipse: Allgemeines}
\begin{frame}{Eclipse: Allgemeines}
    \begin{itemize}
        \item Sehr komfortable Java-IDE:
        \begin{itemize}
            \item Syntaxhighlighting und Code-Vervollständigung
            \item Automatisch korrektes Einrücken mit \keys{\ctrl + \shift + F})
        \end{itemize}
        \item Sehr groß (RAM \& HDD)
        \item Startet Langsam
        \item Müsst ihr in SWT verwenden
        \item Download: \href{http://www.eclipse.org/}{eclipse.org}
    \end{itemize}
\end{frame}

\subsection{Eclipse: Einrichten}
\begin{frame}{Eclipse: Einrichten}
    \begin{itemize}
        \item \menu{Window > Open Perspective > Java}
        \item \menu{Window > Show Toolbar}
        \item \menu{Window > Preferences > General > Editors > Text Editors}
            \begin{itemize}
                \item Show line numbers
                \item Print margin column: 120
            \end{itemize}
    \end{itemize}
\end{frame}

\framedgraphic{Zwischenstand}{eclipse-einrichten.png}

\subsection{Eclipse: Erstes Projekt}
\begin{frame}{Eclipse: Erstes Projekt}
    \begin{itemize}
        \item \menu{File > New > Java}: Projektname: HelloWorld
        \item \menu{File > New > Class}: Name: HelloWorld
    \end{itemize}
\end{frame}

\framedgraphic{Zwischenstand}{eclipse-projekt.png}

\section{Wiederholung}
\subsection{Begriffe}
\begin{frame}{Begriffe}
    Welche Begriffe habt ihr in der Vorlesung kennen gelernt?
\end{frame}

\begin{frame}{Begriffe}
    \begin{itemize}
        \item \textbf{Objekt}: Exemplar eines bestimmten Datentyps
        \item \textbf{Klasse}: abstraktes Modell für eine Reihe von ähnlichen Objekten
        \item \textbf{Variable}: Behälter für Werte
        \item \textbf{Konstante}: Wert, der sich während der Laufzeit des Programms nicht ändern kann
        \item \textbf{Attribut}: Eigenschaft eines konkreten Objekts
        \item \textbf{Funktion}: Programmkonstrukt mit Parametern und Rückgabewert
        \item \textbf{Methode}: Funktion in einem Objekt
        \item \textbf{Datentyp}: Zusammenfassung von Objektmengen mit den darauf definierten Operationen
        \item int, Integer
        \item String
        \item \dots
    \end{itemize}
\end{frame}

\subsection{Beispiel für eine Klasse}
\begin{frame}{Beispiel für eine Klasse}
    \begin{block}{Schal}
        \begin{itemize}
            \item hat eine Farbe
            \item besteht aus einem Stoff
            \item hat eine Länge
            \item kann warm halten
        \end{itemize}
    \end{block}
\end{frame}

\subsection{Java: Primitive Datentypen}
\begin{frame}{Java: Primitive Datentypen}
    \begin{tabular}{l|l|l}
        Datentyp    & Werte                                             & Länge\\
        \hline
        \hline
        boolean     & \texttt{true} oder \texttt{false}                         & 1 Byte\\
        char        & 16-Bit Unicode Zeichen                            & 2 Byte\\
        \hline
        byte        & $-2^7 =-128 \dots 2^7-1$                          & 1 Byte\\
        short       & $-2^{15}=-32\,768 \dots 2^{15}-1$                 & 2 Byte\\
        int         & $-2^{31}\approx-2 \cdot 10^9 \dots 2^{31}-1$      & 4 Byte\\
        long        & $-2^{63}=-9\cdot 10^{18} \dots 2^{63}-1$          & 8 Byte\\
        \hline
        float       & single-precision 32-bit IEEE 754 floating point   & 4 Byte\\
        double      & double-precision 64-bit IEEE 754 floating point   & 8 Byte\\
    \end{tabular}
    \\
    Quelle: \href{http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html}{docs.oracle.com}
\end{frame}

\subsection{Java: Enum}
\begin{frame}{Java: Enum}
    \inputminted[linenos, numbersep=5pt, tabsize=4, frame=lines, label=Day.java]{java}{Day.java}
    Quelle: \href{http://docs.oracle.com/javase/tutorial/java/javaOO/enum.html}{docs.oracle.com}
    \inputminted[linenos, numbersep=5pt, tabsize=4, frame=lines, label=SomeClass.java]{java}{SomeClass.java}
\end{frame}

\subsection{Java: String}
\begin{frame}{Java: String}
    \begin{itemize}
        \item \textbf{Klasse} für Zeichenketten
        \item UTF-16
        \item max. $2^{31}-1 = 2\,147\,483\,647$ Zeichen (siehe \href{http://stackoverflow.com/a/816152/562769}{stackoverflow.com})
          \begin{itemize}
            \item King James Bible: $4\,397\,206$ Zeichen\\
                  (\href{http://printkjv.ifbweb.com/\#downloads}{Quelle} \& \myCode{wc -w file.txt})
          \end{itemize}
        \item weitere Informationen: \href{http://docs.oracle.com/javase/7/docs/api/java/lang/String.html}{docs.oracle.com}
    \end{itemize}
\end{frame}

\subsection{Java: Naming Conventions}
\begin{frame}{Java: Naming Conventions}
    \begin{itemize}
        \item \myCode{camelCase} für Variablen und Attribute
        \item \myCode{BIG\_AND\_FAT} für Konstanten
        \item Typische Variablen- und Methodennamen:
          \begin{itemize}
            \item isSomething: Meist für \texttt{boolean}
            \item hasSomething: Meist Methode mit Rückgabewert \texttt{boolean}
            \item getValue: Getter, Wrapper für Attribut "`value"'
            \item setValue: Setter, Wrapper für Attribut "`value"'
          \end{itemize}
        \item Genauer: \href{http://www.oracle.com/technetwork/java/codeconventions-150003.pdf}{orcacle.com}, ab S. 15
    \end{itemize}
\end{frame}

\subsection{Aufgabenstellung}
\begin{frame}{Aufgabenstellung}
    \begin{alertblock}{Bitte achtet auf folgendes:}
        \begin{itemize}
            \item Einsatz sinnvoller Datentypen
            \item aussagekräftige Attributnamen
            \item Einrückungen, Namenskonventionen, Dokumentation
        \end{itemize}
    \end{alertblock}
\end{frame}

\section{Abspann}
\subsection{Hinweise zum Übungsblatt}
    \begin{frame}{Hinweise zum Übungsblatt}
    \begin{itemize}
        \item Aufgaben online im \textbf{Praktomaten} oder im \textbf{VAB}
        \item Abgabetermin: Montag, der \textbf{5. November 2012, 13 Uhr}
        \item Abgabe online im Praktomaten\\
              Uni-Netz oder VPN erforderlich!
        \item min. \textbf{50 \% der Gesamtpunktzahl} zum Bestehen des Scheins\\
              (ca. 60 Punkte)
        \item \textbf{keine Bibliotheken} verwenden, die im Übungsblatt nicht explizit zugelassen wurden
        \item keine ungewollte Funktionalität einbauen – es gilt die Devise:\\ \textbf{Einfache Fragen erfordern einfache Antworten!}
    \end{itemize}
\end{frame}

\subsection{Dropbox Space Race}
    \begin{frame}{Dropbox Space Race}
    \begin{itemize}
        \item Hat nichts mit Programmieren zu tun
        \item Bei \href{https://www.dropbox.com/spacerace}{dropbox.com} anmelden
        \item KIT ist auf Platz 3, RWTH Aachen und TU München vor uns
    \end{itemize}
\end{frame}

\subsection{Comic}
\framedgraphic{Vielen Dank für eure Aufmerksamkeit!}{../images/Teach-yourself-C++-in-21-days.png}

\end{document}
