1 % !TEX program = xelatex  | 
     1 % !TEX program = xelatex  | 
     2 \documentclass[dvipsnames,14pt,t,xelatex]{beamer} | 
     2 \documentclass[dvipsnames,14pt,t,xelatex,aspectratio=169,xcolor={table}]{beamer} | 
     3 \usepackage{../slides} | 
     3 \usepackage{../styles/slides} | 
     4 \usepackage{../graphics} | 
     4 \usepackage{../styles/mygraphs} | 
     5 \usepackage{../langs} | 
     5 \usepackage{../styles/langs} | 
     6 %%\usepackage{../data} | 
     6 %%\usepackage{../data} | 
     7 \usepackage[export]{adjustbox} | 
     7 \usepackage[export]{adjustbox} | 
     8 \usetikzlibrary{shapes} | 
     8 \usetikzlibrary{shapes} | 
     9   | 
     9   | 
    10 \hfuzz=220pt   | 
    10 \hfuzz=220pt   | 
   175   \begin{center} | 
   175   \begin{center} | 
   176   \begin{tabular}{ll} | 
   176   \begin{tabular}{ll} | 
   177     Email:  & christian.urban at kcl.ac.uk\\  | 
   177     Email:  & christian.urban at kcl.ac.uk\\  | 
   178     %Office: & N\liningnums{7.07} (North Wing, Bush House)\bigskip\\ | 
   178     %Office: & N\liningnums{7.07} (North Wing, Bush House)\bigskip\\ | 
   179     Slides \& Code: & KEATS\bigskip\\  | 
   179     Slides \& Code: & KEATS\bigskip\\  | 
   180     %Office Hours: &  Thursdays 12:00 -- 14:00\\  | 
   180   | 
   181     %Additionally: & (for Scala) Tuesdays 10:45 -- 11:45\\  | 
   181     Office Hour: &  Fridays 11:00 -- 12:00\\  | 
   182     \multicolumn{2}{c}{\Large\textbf{https://pollev.com/cfltutoratki576}}\\[2cm] | 
   182     Location: & N7.07 (North Wing, Bush House)\bigskip\\  | 
   183     \textcolor{red}{Scala Install Clinic:} & \textcolor{red}{This evening at 17:00 (online)}\\ | 
   183   | 
         | 
   184     Pollev: & \texttt{\alert{https://pollev.com/cfltutoratki576}}\\  \\ | 
   184   \end{tabular} | 
   185   \end{tabular} | 
   185   \end{center} | 
   186   \end{center} | 
   186   | 
   187   | 
   187 \end{frame} | 
   188 \end{frame} | 
   188 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%       | 
   189 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%       | 
   189   | 
   190   | 
   190 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
   191 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
   191 \begin{frame}[c] | 
   192 %\begin{frame}[c] | 
   192 \frametitle{Hints in CW} | 
   193 %\frametitle{Hints in CW} | 
   193   | 
   194 %  | 
   194 \begin{center}   | 
   195 %\begin{center}   | 
   195 \includegraphics[scale=0.4]{../pics/hints.png} | 
   196 %\includegraphics[scale=0.4]{../pics/hints.png} | 
   196 \end{center} | 
   197 %\end{center} | 
   197   | 
   198 %  | 
   198 \small  | 
   199 %\small  | 
   199 \begin{itemize} | 
   200 %\begin{itemize} | 
   200   \item Scala Library, e.g.~\texttt{span} in \\ | 
   201 %  \item Scala Library, e.g.~\texttt{span} in \\ | 
   201   \url{https://www.scala-lang.org/api/current/scala/collection/immutable/List.html} | 
   202 %  \url{https://www.scala-lang.org/api/current/scala/collection/immutable/List.html} | 
   202 \end{itemize} | 
   203 %\end{itemize} | 
   203 \end{frame} | 
   204 %\end{frame} | 
   204 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
   205 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
   205     | 
   206     | 
   206 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
   207 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
   207 \begin{frame}[c] | 
   208 %\begin{frame}[c] | 
   208 \frametitle{Discussion Forum} | 
   209 %\frametitle{Discussion Forum} | 
   209   | 
   210   | 
   210 \begin{center}   | 
   211 %\begin{center}   | 
   211 \includegraphics[scale=0.38]{/Users/cu/discussion.png} | 
   212 %\includegraphics[scale=0.38]{/Users/cu/discussion.png} | 
   212 \end{center} | 
   213 %\end{center} | 
   213   | 
   214   | 
   214 \end{frame} | 
   215 %\end{frame} | 
   215 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
   216 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
   216   | 
   217   | 
   217 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%       | 
   218 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%       | 
   218 % \begin{frame}[c] | 
   219 % \begin{frame}[c] | 
   219 % \frametitle{Preliminary 7} | 
   220 % \frametitle{Preliminary 7} | 
   330   }  | 
   331   }  | 
   331 \end{lstlisting} | 
   332 \end{lstlisting} | 
   332   | 
   333   | 
   333 \end{frame} | 
   334 \end{frame} | 
   334 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   | 
   335 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   | 
         | 
   336   | 
         | 
   337 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
         | 
   338 \begin{frame}[c,fragile] | 
         | 
   339 \frametitle{Last Week: Pattern Matching}  | 
         | 
   340 \small  | 
         | 
   341   | 
         | 
   342 \begin{lstlisting}[language=Scala, numbers=none, xleftmargin=3mm] | 
         | 
   343 def mkeps(r: Rexp) : Val = r match { | 
         | 
   344   case ONE => Empty  | 
         | 
   345   case ALT(r1, r2) => ...  | 
         | 
   346   case SEQ(r1, r2) => ...  | 
         | 
   347   case STAR(r) => ...  | 
         | 
   348   case RECD(x, r1) => Rec(x, mkeps(r))  | 
         | 
   349   ...  | 
         | 
   350 }  | 
         | 
   351 \end{lstlisting} | 
         | 
   352   | 
         | 
   353 \end{frame} | 
         | 
   354 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   | 
         | 
   355   | 
   335   | 
   356   | 
   336 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%       | 
   357 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%       | 
   337 \begin{frame}[c,fragile] | 
   358 \begin{frame}[c,fragile] | 
   338 \frametitle{Reverse Polish Notation} | 
   359 \frametitle{Reverse Polish Notation} | 
   339   | 
   360   |