\newcommand{\defineUnit}[2]{\setbeamertemplate{slide #1}{{#2}}}
\newcommand{\showUnit}[1]{\usebeamertemplate{slide #1}}

\defineUnit{titel}{%
\begin{frame}
    \titlepage
\end{frame}
}

\defineUnit{organisatorisches}{%
\begin{frame}
    \frametitle{Organisatorisches}

    \begin{itemize}
        \item Mail: \href{mailto:tutor@zfix.org}{tutor@zfix.org}
        \item Web: \href{theo.zfix.org}{theo.zfix.org}
        \item Hg: \href{tutor.zfix.org}{tutor.zfix.org}
            \vfill
        \item Wann?
            \begin{itemize}
                \item Dienstag 10:15-11:45 00.08.038
                \item Dienstag 12:10-13:45 00.08.038
            \end{itemize}
        %\item Übungsablauf, Aufgabentypen
        \item Hausaufgaben
            \begin{itemize}
                \item Abgabe am Montag 14h, \alert{allein}
                \item Rückgabe in der \alert{richtigen} Übung
                \item Notenbonus für 40\% der Punkte, 40\% in der zweiten Hälfte
            \end{itemize}
        \item Klausur
            \begin{itemize}
                \item Endterm: Mi 31.07. 11.30-14h
                \item Wiederholung: Do 26.09. 11-13.30h
            \end{itemize}
    \end{itemize}
\end{frame}
}

\defineUnit{wasisttheo}{%
\begin{frame}
    \frametitle{Was ist Theoinf?}

    Aus der VL
    \vspace{1em}

    \begin{itemize}
        \item Automatentheorie
            \begin{itemize}
                \item Rechner mit endlichem oder kellerartigem Speicher
            \end{itemize}
            \vspace{0.5em}
        \item Grammatiken
            \begin{itemize}
                \item Syntax von Programmiersprachen
            \end{itemize}
            \vspace{0.5em}
        \item Berechenbarkeitstheorie
            \begin{itemize}
                \item Untersuchung der Grenzen, was Rechner prinzipiell können
            \end{itemize}
            \vspace{0.5em}
        \item Komplexitätstheorie
            \begin{itemize}
                \item Untersuchung der Grenzen, was Rechner mit begrenzten Ressourcen können
            \end{itemize}
    \end{itemize}
\end{frame}
}

\defineUnit{klausur}{%
\begin{frame}
    \frametitle{Obacht, Klausur!}
    \setbeamercovered{dynamic}

    \begin{itemize}
        \item \structure{RE $\to$ $\epsilon$-NFA $\to$ NFA $\to$ DFA}
        \item \structure{(Produktautomat)}
        \item \structure{Quotientenautomat, Minimale DFAs}
        \item Reguläres Pumpinglemma
        \item \structure{CNF-Synthese}
        \item \structure{Nützliche Symbole, CYK}
        \item (Kellerautomaten)
        \item Kontextfreies Pumpinglemma
        \item Turingmaschinen
        \item LOOP und PR
        \item WHILE und $\mu$-Rekursion
        \item Berechenbarkeit, Entscheidbarkeit, Satz von Rice
        \item \structure{PCP}
        \item (P und NP, Verifikatoren)
        \item Reduktionen von und auf NP-Probleme
    \end{itemize}
\end{frame}
}

\input{automatons.tex}
\input{grammars.tex}
\input{computation.tex}
