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