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