slides/slides05.tex
changeset 494 253d1ccb65de
parent 482 769bda18a43d
equal deleted inserted replaced
493:244df77507c2 494:253d1ccb65de
   162   \begin{tabular}{ll}
   162   \begin{tabular}{ll}
   163     Email:  & christian.urban at kcl.ac.uk\\
   163     Email:  & christian.urban at kcl.ac.uk\\
   164     %Office: & N\liningnums{7.07} (North Wing, Bush House)\bigskip\\
   164     %Office: & N\liningnums{7.07} (North Wing, Bush House)\bigskip\\
   165     Slides \& Code: & KEATS\bigskip\\
   165     Slides \& Code: & KEATS\bigskip\\
   166 
   166 
   167     Office Hour: &  Fridays 13:00 -- 14:00\\
   167     Office Hour: &  Thursdays 13:00 -- 14:00\\
   168     Location: & N7.07 (North Wing, Bush House)\bigskip\\
   168     Location: & N7.07 (North Wing, Bush House)\bigskip\\
   169 
   169 
   170     Pollev: & \texttt{\alert{https://pollev.com/cfltutoratki576}}\\  \\
   170     %Pollev: & \texttt{\alert{https://pollev.com/cfltutoratki576}}\\  \\
   171   \end{tabular}
   171   \end{tabular}
   172   \end{center}
   172   \end{center}
   173 
   173 
   174 \end{frame}
   174 \end{frame}
   175 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
   175 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
   206 %
   206 %
   207 %\end{frame}
   207 %\end{frame}
   208 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   208 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   209 
   209 
   210 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   210 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   211 \begin{frame}[c]
   211 \begin{frame}<1>[c]
   212   \frametitle{Main 3: Regexes}
   212   \frametitle{Main 3: Regexes}
   213   
   213   
   214 \begin{center}
   214 \begin{center}
   215   \mbox{Graphs: regex \alert{\texttt{(a*)*b}} and strings $\underbrace{\;\texttt{a}\ldots \texttt{a}\;}_{n}$}\bigskip
   215   \mbox{Graphs: regex \alert{\texttt{(a*)*b}} and strings $\underbrace{\;\texttt{a}\ldots \texttt{a}\;}_{n}$}\bigskip
   216 
   216 
   335 %
   335 %
   336 %\end{frame}
   336 %\end{frame}
   337 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   337 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   338 
   338 
   339 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
   339 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
   340 \begin{frame}[c,fragile]
   340 % \begin{frame}[c,fragile]
   341 \frametitle{Polyorphic Types} 
   341 % \frametitle{Polyorphic Types} 
   342 
   342 
   343 %To be avoided:\bigskip\bigskip
   343 % %To be avoided:\bigskip\bigskip
   344 \small
   344 % \small
   345 
   345 
   346 \begin{lstlisting}[language=Scala, numbers=none, xleftmargin=-6mm]
   346 % \begin{lstlisting}[language=Scala, numbers=none, xleftmargin=-6mm]
   347 def length_string_list(lst: List[String]): Int = 
   347 % def length_string_list(lst: List[String]): Int = 
   348  lst match {
   348 %  lst match {
   349    case Nil => 0
   349 %    case Nil => 0
   350    case x::xs => 1 + length_string_list(xs)
   350 %    case x::xs => 1 + length_string_list(xs)
   351  }
   351 %  }
   352 
   352 
   353  
   353  
   354 def length_int_list(lst: List[Int]): Int = 
   354 % def length_int_list(lst: List[Int]): Int = 
   355  lst match {
   355 %  lst match {
   356    case Nil => 0
   356 %    case Nil => 0
   357    case x::xs => 1 + length_int_list(xs)
   357 %    case x::xs => 1 + length_int_list(xs)
   358  }
   358 %  }
   359 \end{lstlisting}
   359 % \end{lstlisting}
   360 
   360 
   361 \end{frame}
   361 % \end{frame}
   362 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   362 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   363 
   363 
   364 
   364 
   365 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
   365 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
   366 \begin{frame}[c,fragile]
   366 % \begin{frame}[c,fragile]
   367 \frametitle{Polyorphic Types} 
   367 % \frametitle{Polyorphic Types} 
   368 
   368 
   369 \small
   369 % \small
   370 
   370 
   371 \begin{lstlisting}[language=Scala, numbers=none, xleftmargin=-6mm]
   371 % \begin{lstlisting}[language=Scala, numbers=none, xleftmargin=-6mm]
   372 def length[A](lst: List[A]): Int = lst match {
   372 % def length[A](lst: List[A]): Int = lst match {
   373   case Nil => 0
   373 %   case Nil => 0
   374   case x::xs => 1 + length(xs)
   374 %   case x::xs => 1 + length(xs)
   375 }
   375 % }
   376 
   376 
   377 length(List("1", "2", "3", "4"))
   377 % length(List("1", "2", "3", "4"))
   378 length(List(1, 2, 3, 4))
   378 % length(List(1, 2, 3, 4))
   379 
   379 
   380 
   380 
   381 def map[A, B](lst: List[A], f: A => B): List[B] = 
   381 % def map[A, B](lst: List[A], f: A => B): List[B] = 
   382  lst match {
   382 %  lst match {
   383    case Nil => Nil
   383 %    case Nil => Nil
   384    case x::xs => f(x)::map(xs, f) 
   384 %    case x::xs => f(x)::map(xs, f) 
   385  }
   385 %  }
   386 \end{lstlisting}
   386 % \end{lstlisting}
   387 \end{frame}
   387 % \end{frame}
   388 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   388 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   389 
   389 
   390 
   390 
   391 
   391 
   392 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   392 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   483 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   483 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   484 
   484 
   485 
   485 
   486 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
   486 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
   487 
   487 
   488 \begin{frame}[c]
   488 \begin{frame}[t]
   489 \frametitle{Where to go on from here?}
   489 \frametitle{Where to go on from here?}
   490 
   490 
   491 \begin{itemize}
   491 \begin{itemize}
   492 \item Martin Odersky (EPFL) developed now Scala 3\medskip
   492 \item Martin Odersky (EPFL) developed Scala\medskip
   493 
   493 
   494 \item I use Ammonite by Haoyi Li\medskip
   494 \item I use Ammonite by Haoyi Li\medskip
   495   
   495   
   496 \item Elm (\url{http://elm-lang.org})\ldots web applications with style\medskip   
   496 \item Elm (\url{http://elm-lang.org})\ldots web applications with style\medskip   
   497 
   497 
   498 \item Haskell, Ocaml, Standard ML, Scheme, \ldots 
   498 \item Haskell, Ocaml, Standard ML, Scheme, \ldots \bigskip\bigskip\bigskip
   499 \end{itemize}  
   499 \end{itemize}  
   500 
   500 
   501 \begin{textblock}{5}(12,9)
   501 \begin{textblock}{5}(12,9)
   502 \includegraphics[scale=0.15]{../pics/haojili.png} 
   502 \includegraphics[scale=0.15]{../pics/haojili.png} 
   503 \end{textblock}  
   503 \end{textblock}  
   504 \end{frame}
   504 
       
   505 \only<2->{C++, Scala, }
       
   506 \only<3->{PHP, Python, Perl, Bash}
       
   507 
       
   508 \end{frame}
       
   509 
       
   510 
   505 
   511 
   506 
   512 
   507 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   513 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   508 
   514 
   509 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   515 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%