41   | 
    41   | 
    42   \normalsize  | 
    42   \normalsize  | 
    43   \begin{center} | 
    43   \begin{center} | 
    44   \begin{tabular}{ll} | 
    44   \begin{tabular}{ll} | 
    45   Email:  & christian.urban at kcl.ac.uk\\  | 
    45   Email:  & christian.urban at kcl.ac.uk\\  | 
    46   Office Hour: & Thurdays 15 -- 16\\    | 
    46   Office Hour: & Friday 12 -- 14\\    | 
    47   Location: & N7.07 (North Wing, Bush House)\\  | 
    47   Location: & N7.07 (North Wing, Bush House)\\  | 
    48   Slides \& Progs: & KEATS\\  | 
    48   Slides \& Progs: & KEATS\\  | 
    49   Pollev: & \texttt{\alert{https://pollev.com/cfltutoratki576}}\\   | 
    49   Pollev: & \texttt{\alert{https://pollev.com/cfltutoratki576}}\\   | 
    50   \end{tabular} | 
    50   \end{tabular} | 
    51   \end{center} | 
    51   \end{center} | 
    67   \end{center} | 
    67   \end{center} | 
    68   | 
    68   | 
    69 \end{frame} | 
    69 \end{frame} | 
    70 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%       | 
    70 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%       | 
    71   | 
    71   | 
    72 { | 
    72 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
    73 \setbeamercolor{background canvas}{bg=cream} | 
    73 \begin{frame}[c] | 
    74 \begin{frame}<1-4>[c] | 
    74   | 
    75 \end{frame} | 
    75 \begin{mybox3}{From Pollev last week}\it     | 
    76 }  | 
    76 Will C++ users be publicly shamed and humiliated in front of the class?  | 
         | 
    77 \end{mybox3}   | 
         | 
    78   | 
         | 
    79 \end{frame} | 
         | 
    80 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
         | 
    81   | 
    77   | 
    82   | 
    78 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
    83 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
    79 \begin{frame}[t] | 
    84 \begin{frame}[t] | 
    80   \frametitle{ | 
    85   \frametitle{ | 
    81     Let's Implement an Efficient\\[-2mm]   | 
    86     Let's Implement an Efficient\\[-2mm]   | 
    82     Regular Expression Matcher}  | 
    87     Regular Expression Matcher}  | 
    83   | 
    88   | 
    84 \footnotesize  | 
    89 \footnotesize  | 
    85 \begin{center} | 
    90 \begin{center} | 
    86   {\normalsize Graphs: \bl{$a^{?\{n\}} \cdot a^{\{n\}}$} and strings \bl{$\underbrace{\,a\ldots a\,}_{n}$}}\medskip\\ | 
    91   {\normalsize Graphs: \bl{$a^{?\{n\}} \cdot a^{\{n\}}$} and strings \bl{$\underbrace{\,a\ldots a\,}_{n}$}}\\[-2mm] | 
    87 \begin{tabular}{@{}cc@{}} | 
    92 \begin{tabular}{@{}cc@{}} | 
    88 \begin{tikzpicture} | 
    93 \begin{tikzpicture} | 
    89 \begin{axis}[ | 
    94 \begin{axis}[ | 
         | 
    95     title={Graph: $\texttt{(a*)*\,b}$ and strings  | 
         | 
    96            $\underbrace{\texttt{a}\ldots \texttt{a}}_{n}$}, | 
    90     xlabel={$n$}, | 
    97     xlabel={$n$}, | 
    91     x label style={at={(1.05,0.0)}}, | 
    98     x label style={at={(1.05,0.0)}}, | 
    92     ylabel={time in secs}, | 
    99     ylabel={time in secs}, | 
    93     enlargelimits=false,  | 
   100     enlargelimits=false,  | 
    94     xtick={0,5,...,30}, | 
   101     xtick={0,5,...,30}, | 
    95     xmax=33,  | 
   102     xmax=33,  | 
    96     ymax=35,  | 
   103     ymax=35,  | 
    97     ytick={0,5,...,30}, | 
   104     ytick={0,5,...,30}, | 
    98     scaled ticks=false,  | 
   105     scaled ticks=false,  | 
    99     axis lines=left,  | 
   106     axis lines=left,  | 
   100     width=5cm,  | 
   107     width=5.5cm,  | 
   101     height=4.5cm,   | 
   108     height=4.5cm,   | 
   102     legend entries={Python,Ruby},   | 
   109     legend entries={Python, Java 8, JavaScript, Swift},   | 
   103     legend pos=north west,  | 
   110     legend pos=north west,  | 
   104     legend cell align=left]  | 
   111     legend cell align=left]  | 
   105 \addplot[blue,mark=*, mark options={fill=white}] table {re-python.data}; | 
   112 \addplot[blue,mark=*, mark options={fill=white}] table {re-python2.data}; | 
   106 \addplot[brown,mark=pentagon*, mark options={fill=white}] table {re-ruby.data};   | 
   113 \addplot[cyan,mark=*, mark options={fill=white}] table {re-java.data}; | 
         | 
   114 \addplot[red,mark=*, mark options={fill=white}] table {re-js.data}; | 
         | 
   115 \addplot[magenta,mark=*, mark options={fill=white}] table {re-swift.data}; | 
   107 \end{axis} | 
   116 \end{axis} | 
   108 \end{tikzpicture} | 
   117 \end{tikzpicture} | 
   109 &  | 
   118 &  | 
   110 \begin{tikzpicture} | 
   119 \begin{tikzpicture} | 
   111   \begin{axis}[ | 
   120   \begin{axis}[ | 
   130 \end{tikzpicture} | 
   139 \end{tikzpicture} | 
   131 \end{tabular} | 
   140 \end{tabular} | 
   132 \end{center} | 
   141 \end{center} | 
   133   | 
   142   | 
   134 \small  | 
   143 \small  | 
   135 In the handouts is a similar graph for \bl{$(a^*)^* \cdot b$} and Java 8,  | 
   144 \begin{textblock}{14}(1,14.6) | 
   136 JavaScript and Python.  | 
   145 In the handouts is a similar graph for \bl{$(a^*)^* \cdot b$} and Java,  | 
   137   | 
   146 JavaScript, Python and more.  | 
         | 
   147 \end{textblock} | 
   138 \end{frame} | 
   148 \end{frame} | 
   139 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     | 
   149 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     | 
         | 
   150   | 
         | 
   151 { | 
         | 
   152 \setbeamercolor{background canvas}{bg=cream} | 
         | 
   153 \begin{frame}<1-4>[c] | 
         | 
   154 \end{frame} | 
         | 
   155 }  | 
         | 
   156   | 
         | 
   157   | 
   140   | 
   158   | 
   141 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
   159 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
   142 %\begin{frame}[c] | 
   160 %\begin{frame}[c] | 
   143 %\frametitle{Evil Regular Expressions} | 
   161 %\frametitle{Evil Regular Expressions} | 
   144 %  | 
   162 %  |