| 320 |      1 | % !TEX program = xelatex
 | 
| 365 |      2 | \documentclass[dvipsnames,14pt,t,xelatex,aspectratio=169,xcolor={table}]{beamer}
 | 
| 445 |      3 | \usepackage{../styles/slides}
 | 
|  |      4 | \usepackage{../styles/mygraphs}
 | 
|  |      5 | \usepackage{../styles/langs}
 | 
| 155 |      6 | %%\usepackage{../data}
 | 
| 320 |      7 | \usetikzlibrary{shapes}
 | 
| 67 |      8 | \usepackage[export]{adjustbox}
 | 
| 66 |      9 | 
 | 
|  |     10 | \hfuzz=220pt 
 | 
|  |     11 | 
 | 
|  |     12 | %\setmonofont[Scale=.88]{Consolas}
 | 
|  |     13 | %\newfontfamily{\consolas}{Consolas}
 | 
|  |     14 | 
 | 
|  |     15 | \lstset{language=Scala,
 | 
|  |     16 |         style=mystyle,
 | 
|  |     17 |         numbersep=0pt,
 | 
|  |     18 |         numbers=none,
 | 
|  |     19 |         xleftmargin=0mm}
 | 
|  |     20 | 
 | 
|  |     21 | \newcommand{\bl}[1]{\textcolor{blue}{#1}}     
 | 
|  |     22 | 
 | 
|  |     23 | % beamer stuff 
 | 
| 67 |     24 | \renewcommand{\slidecaption}{PEP (Scala) 03, King's College London}
 | 
| 66 |     25 | 
 | 
| 320 |     26 | \newcommand{\UParrow}[3]{%
 | 
|  |     27 | \begin{textblock}{0}(#2,#3)%
 | 
|  |     28 | \onslide<#1>{%
 | 
|  |     29 | \begin{tikzpicture}%
 | 
|  |     30 | \node at (0,0) [single arrow, shape border rotate=90, fill=red,text=red]{a};%
 | 
|  |     31 | \end{tikzpicture}}%
 | 
|  |     32 | \end{textblock}}
 | 
|  |     33 | 
 | 
|  |     34 | \newcommand{\DOWNarrow}[3]{%
 | 
|  |     35 | \begin{textblock}{0}(#2,#3)%
 | 
|  |     36 | \onslide<#1>{%
 | 
|  |     37 | \begin{tikzpicture}%
 | 
|  |     38 | \node at (0,0) [single arrow, shape border rotate=270, fill=red,text=red]{a};%
 | 
|  |     39 | \end{tikzpicture}}%
 | 
|  |     40 | \end{textblock}}
 | 
|  |     41 | 
 | 
| 66 |     42 | \begin{document}
 | 
|  |     43 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
|  |     44 | \begin{frame}[t]
 | 
|  |     45 | \frametitle{%
 | 
|  |     46 |   \begin{tabular}{@ {}c@ {}}
 | 
|  |     47 |   \\[5mm]
 | 
| 67 |     48 |   \huge PEP Scala (3) 
 | 
| 66 |     49 |   \end{tabular}}
 | 
|  |     50 | 
 | 
|  |     51 |   \normalsize
 | 
|  |     52 |   \begin{center}
 | 
|  |     53 |   \begin{tabular}{ll}
 | 
| 155 |     54 |     Email:  & christian.urban at kcl.ac.uk\\
 | 
| 365 |     55 |     %Office: & N\liningnums{7.07} (North Wing, Bush House)\bigskip\\
 | 
| 320 |     56 |     Slides \& Code: & KEATS\bigskip\\
 | 
| 445 |     57 | 
 | 
|  |     58 |     Office Hour: &  Fridays 11:00 -- 12:00\\
 | 
|  |     59 |     Location: & N7.07 (North Wing, Bush House)\bigskip\\
 | 
|  |     60 | 
 | 
|  |     61 |     Pollev: & \texttt{\alert{https://pollev.com/cfltutoratki576}}\\  \\
 | 
| 66 |     62 |   \end{tabular}
 | 
|  |     63 |   \end{center}
 | 
|  |     64 | 
 | 
|  |     65 | \end{frame}
 | 
|  |     66 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
 | 
|  |     67 | 
 | 
| 217 |     68 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
 | 
| 365 |     69 | % \begin{frame}[c]
 | 
|  |     70 | % \frametitle{Preliminary 6}
 | 
| 217 |     71 | 
 | 
| 365 |     72 | % Raw marks (261 submissions):\bigskip
 | 
| 217 |     73 | 
 | 
| 365 |     74 | % \begin{itemize}
 | 
|  |     75 | % \item 3\%: \hspace{4mm}219
 | 
|  |     76 | % \item 2\%: \hspace{4mm}19
 | 
|  |     77 | % \item 1\%: \hspace{4mm}0
 | 
|  |     78 | % \item 0\%: \hspace{4mm}23 \;(4 no submission)
 | 
|  |     79 | % \end{itemize}  
 | 
|  |     80 | % \end{frame}
 | 
| 217 |     81 | 
 | 
|  |     82 | 
 | 
|  |     83 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
|  |     84 | 
 | 
| 66 |     85 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
| 67 |     86 | \begin{frame}[c,fragile]
 | 
|  |     87 | 
 | 
| 155 |     88 | \begin{lstlisting}[language=Scala, numbers=none, xleftmargin=-1mm]
 | 
| 217 |     89 | def collatz(n: Long) : Long =
 | 
|  |     90 |   {
 | 
|  |     91 |     val toReturn = collatzHelper(n, 0)
 | 
|  |     92 |     toReturn
 | 
|  |     93 |   } 
 | 
|  |     94 | \end{lstlisting}
 | 
|  |     95 | 
 | 
|  |     96 | \pause
 | 
|  |     97 | \bigskip
 | 
|  |     98 | \rule{11cm}{0.3mm}
 | 
|  |     99 | \bigskip
 | 
| 67 |    100 | 
 | 
| 217 |    101 | \begin{lstlisting}[language=Scala, numbers=none, xleftmargin=-1mm]
 | 
|  |    102 | def collatz(n: Long) : Long =
 | 
|  |    103 |   collatzHelper(n, 0)
 | 
| 320 |    104 | \end{lstlisting}
 | 
| 67 |    105 | 
 | 
|  |    106 | \end{frame}
 | 
|  |    107 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
 | 
|  |    108 | 
 | 
|  |    109 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
| 155 |    110 | \begin{frame}[c,fragile]
 | 
| 320 |    111 | \frametitle{Default Arguments}
 | 
| 67 |    112 | 
 | 
| 217 |    113 | \small
 | 
| 320 |    114 | \begin{lstlisting}[language=Scala, numbers=none, xleftmargin=-3mm]
 | 
|  |    115 | def collatzHelper(n: Int, a: Int = 0) : Int = ...
 | 
| 217 |    116 | 
 | 
| 67 |    117 | 
 | 
| 320 |    118 | collatzHelper(n, 3)
 | 
|  |    119 | collatzHelper(n, 0)
 | 
|  |    120 | 
 | 
|  |    121 | collatzHelper(n)   // a = 0   
 | 
| 155 |    122 | \end{lstlisting}
 | 
| 217 |    123 | 
 | 
| 445 |    124 | \DOWNarrow{1}{8.3}{3.4}
 | 
| 67 |    125 | 
 | 
|  |    126 | \end{frame}
 | 
|  |    127 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
 | 
|  |    128 | 
 | 
|  |    129 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
 | 
| 320 |    130 | \begin{frame}[c,fragile]
 | 
|  |    131 | \frametitle{Last Week: Options \& HO Funs.}
 | 
| 67 |    132 | 
 | 
| 320 |    133 | \begin{lstlisting}[language=Scala, numbers=none, xleftmargin=-1mm]
 | 
|  |    134 | List(7,2,3,4,5,6).find(_ < 4)
 | 
|  |    135 | res: Option[Int] = Some(2)
 | 
|  |    136 |  
 | 
|  |    137 | 
 | 
|  |    138 | List(5,6,7,8,9).find(_ < 4)
 | 
|  |    139 | res: Option[Int] = None
 | 
|  |    140 | 
 | 
|  |    141 | 
 | 
|  |    142 | List(1,2,3,4,5).map(x => x * x)
 | 
|  |    143 | res: List[Int] = List(1, 4, 9, 16, 25)
 | 
|  |    144 | \end{lstlisting}
 | 
|  |    145 |   
 | 
|  |    146 |   \end{frame}
 | 
|  |    147 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
|  |    148 |  
 | 
|  |    149 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
 | 
|  |    150 | \begin{frame}[c,fragile]
 | 
|  |    151 | \frametitle{Web-Crawler (1)}
 | 
|  |    152 | 
 | 
|  |    153 | \small
 | 
|  |    154 | \begin{lstlisting}[language=Scala, numbers=none, xleftmargin=-7mm]
 | 
|  |    155 | def get_page(url: String) : String = {
 | 
|  |    156 | Try(fromURL(url)("ISO-8859-1").take(10000).mkString)
 | 
|  |    157 |    .getOrElse { println(s" Problem with: $url"); ""}
 | 
|  |    158 | }
 | 
|  |    159 | \end{lstlisting}
 | 
|  |    160 | \end{frame}
 | 
|  |    161 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
|  |    162 |  
 | 
|  |    163 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
 | 
|  |    164 | \begin{frame}[c,fragile]
 | 
|  |    165 | \frametitle{Web-Crawler (2)}
 | 
|  |    166 | 
 | 
|  |    167 | \small
 | 
|  |    168 | \begin{lstlisting}[language=Scala, numbers=none, 
 | 
|  |    169 |                     xleftmargin=-7mm, escapeinside={(*@}{@*)}]
 | 
|  |    170 | val http_pattern = """(*@\textcolor{codegreen}{"}@*)https?://[\^(*@\textcolor{codegreen}{"}@*)]*(*@\textcolor{codegreen}{"}@*)""".r
 | 
|  |    171 | val email_pattern = 
 | 
|  |    172 |  """([a-z\d\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})""".r
 | 
|  |    173 | 
 | 
|  |    174 | 
 | 
|  |    175 | def unquote(s: String) = s.drop(1).dropRight(1)
 | 
|  |    176 | 
 | 
|  |    177 | 
 | 
|  |    178 | def get_all_URLs(page: String): Set[String] = 
 | 
|  |    179 |   http_pattern.findAllIn(page).map(unquote).toSet
 | 
|  |    180 | 
 | 
|  |    181 |   // returns all URLs in a page  
 | 
|  |    182 | \end{lstlisting}
 | 
|  |    183 |   
 | 
|  |    184 |   \end{frame}
 | 
|  |    185 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
|  |    186 | 
 | 
|  |    187 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
 | 
|  |    188 | \begin{frame}[c,fragile]
 | 
|  |    189 | \frametitle{Web-Crawler (3)}
 | 
|  |    190 | 
 | 
|  |    191 | \small
 | 
|  |    192 | \begin{lstlisting}[language=Scala, numbers=none, xleftmargin=-1mm]
 | 
|  |    193 | def crawl(url: String, n: Int) : Unit = {
 | 
|  |    194 |   if (n == 0) ()
 | 
|  |    195 |   else {
 | 
|  |    196 |     println(s"  Visiting: $n $url")
 | 
|  |    197 |     val page = get_page(url)
 | 
|  |    198 |     for (u <- get_all_URLs(page)) 
 | 
|  |    199 |       crawl(u, n - 1)
 | 
|  |    200 |   }
 | 
|  |    201 | }
 | 
|  |    202 | \end{lstlisting}
 | 
|  |    203 | \end{frame}
 | 
|  |    204 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
|  |    205 |   
 | 
|  |    206 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
 | 
|  |    207 | \begin{frame}[c,fragile]
 | 
|  |    208 | \frametitle{Email Harvester}
 | 
|  |    209 | 
 | 
|  |    210 | \small
 | 
|  |    211 | \begin{lstlisting}[language=Scala, numbers=none, xleftmargin=-3mm]
 | 
|  |    212 | def emails(url: String, n: Int) : Set[String] = {
 | 
|  |    213 |  if (n == 0) Set()
 | 
|  |    214 |  else {
 | 
|  |    215 |   println(s"  Visiting: $n $url")
 | 
|  |    216 |   val page = get_page(url)
 | 
|  |    217 |   val new_emails = 
 | 
|  |    218 |     email_pattern.findAllIn(page).toSet
 | 
|  |    219 |   new_emails ++ 
 | 
|  |    220 |     (for (u <- get_all_URLs(page)) 
 | 
|  |    221 |        yield emails(u, n - 1)).flatten
 | 
|  |    222 |  }
 | 
|  |    223 | } 
 | 
|  |    224 | 
 | 
|  |    225 | \end{lstlisting}
 | 
|  |    226 | \end{frame}
 | 
|  |    227 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
|  |    228 |   
 | 
|  |    229 | 
 | 
|  |    230 | 
 | 
|  |    231 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
 | 
| 68 |    232 | \begin{frame}[c]
 | 
| 217 |    233 | \frametitle{Jumping Towers}
 | 
|  |    234 | 
 | 
|  |    235 | \begin{center}
 | 
| 320 |    236 | \begin{tikzpicture}[scale=1.3]
 | 
| 217 |    237 |   \draw[line width=1mm,cap=round] (0,0) -- (5,0);
 | 
|  |    238 |   \draw[line width=1mm,cap=round] (0,1) -- (5,1);
 | 
|  |    239 | 
 | 
|  |    240 |   \draw[line width=1mm,cap=round] (0,0) -- (0,1);
 | 
|  |    241 |   \node at (0.5,0.5) {\textbf{\Large 3}};
 | 
|  |    242 | 
 | 
|  |    243 |   \draw[line width=1mm,cap=round] (1,0) -- (1,1);
 | 
|  |    244 |   \node at (1.5,0.5) {\textbf{\Large 4}};
 | 
|  |    245 | 
 | 
|  |    246 |   \draw[line width=1mm,cap=round] (2,0) -- (2,1);
 | 
|  |    247 |   \node at (2.5,0.5) {\textbf{\Large 2}};
 | 
| 67 |    248 | 
 | 
| 217 |    249 |   \draw[line width=1mm,cap=round] (3,0) -- (3,1);
 | 
|  |    250 |   \node at (3.5,0.5) {\textbf{\Large 0}};
 | 
|  |    251 |   
 | 
|  |    252 |   \draw[line width=1mm,cap=round] (4,0) -- (4,1);
 | 
|  |    253 | 
 | 
|  |    254 |   \node at (4.5,0.5) {\textbf{\Large 1}};
 | 
|  |    255 |   
 | 
|  |    256 |   \draw[line width=1mm,cap=round] (5,0) -- (5,1);
 | 
| 67 |    257 | 
 | 
| 217 |    258 |   \draw[->,line width=0.5mm,cap=round,out=90,in=90,relative] (0.5,1) to (1.5,1);
 | 
|  |    259 |   \draw[->,line width=0.5mm,cap=round,out=90,in=90,relative] (0.5,1) to (2.5,1);
 | 
|  |    260 |   \draw[->,line width=0.5mm,cap=round,out=90,in=90,relative] (0.5,1) to (3.5,1);
 | 
|  |    261 | 
 | 
|  |    262 |   \draw[->,line width=0.5mm,cap=round,out=-90,in=-90,relative] (2.5,0) to (3.5,0);
 | 
|  |    263 |   \draw[->,line width=0.5mm,cap=round,out=-90,in=-90,relative] (2.5,0) to (4.5,0);
 | 
| 67 |    264 | 
 | 
| 217 |    265 |   \draw[->,line width=0.5mm,cap=round,out=90,in=90,relative] (4.5,1) to (5.7,1);
 | 
|  |    266 |   \node at (5.7, 0.8) {End};
 | 
|  |    267 | \end{tikzpicture}
 | 
|  |    268 | \end{center}\bigskip
 | 
|  |    269 | 
 | 
|  |    270 | 
 | 
|  |    271 | shortest: 3 $\rightarrow$ 4 $\rightarrow$ End
 | 
|  |    272 | 
 | 
| 67 |    273 | \end{frame}
 | 
|  |    274 | 
 | 
|  |    275 | 
 | 
|  |    276 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
|  |    277 | 
 | 
| 70 |    278 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
 | 
|  |    279 | \begin{frame}[c]
 | 
| 366 |    280 | \frametitle{next moves}
 | 
| 70 |    281 | 
 | 
| 217 |    282 | \begin{center}
 | 
|  |    283 |   \begin{tikzpicture}
 | 
|  |    284 |     [grow=right,level distance=30mm,child anchor=north,line width=0.5mm]
 | 
|  |    285 |   \node {$[3,4,2,0,1]$}
 | 
|  |    286 |      child {node {$[0,1]$}}
 | 
|  |    287 |      child {node {$[2,0,1]$}
 | 
|  |    288 |         child {node {$[1]$} child [level distance=13mm] {node {End}}}
 | 
|  |    289 |         child {node {$[0,1]$}}
 | 
|  |    290 |      }
 | 
|  |    291 |      child {node {$[4,2,0,1]$\ldots}};
 | 
|  |    292 | \end{tikzpicture}
 | 
|  |    293 | \end{center}
 | 
|  |    294 | 
 | 
| 366 |    295 | \begin{textblock}{4}(13,12)
 | 
|  |    296 | \includegraphics[scale=0.06]{../pics/chess.jpg}
 | 
|  |    297 | \end{textblock}
 | 
|  |    298 | 
 | 
| 320 |    299 | \end{frame}
 | 
|  |    300 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
| 217 |    301 | 
 | 
| 320 |    302 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
 | 
|  |    303 | \begin{frame}[c,fragile]
 | 
|  |    304 | \frametitle{Reverse Polish Notation}
 | 
|  |    305 | 
 | 
|  |    306 | {\Large\bl{$(3 + 1) * (2 + 9)$}}\bigskip
 | 
|  |    307 | 
 | 
|  |    308 | {\Large$\Rightarrow$}\bigskip
 | 
|  |    309 | 
 | 
|  |    310 | {\;\;\Large\bl{$3\;\;1\;+\;2\;\;9\;+\;*$}}
 | 
| 323 |    311 | 
 | 
|  |    312 | \begin{textblock}{3}(11,4)
 | 
|  |    313 | \begin{onlyenv}<2>
 | 
|  |    314 | \begin{lstlisting}[language=JVMIS]
 | 
|  |    315 | ldc 3
 | 
|  |    316 | ldc 1
 | 
|  |    317 | iadd
 | 
|  |    318 | ldc 2
 | 
|  |    319 | ldc 9
 | 
|  |    320 | iadd
 | 
|  |    321 | imul
 | 
|  |    322 | \end{lstlisting}
 | 
|  |    323 | \end{onlyenv} 
 | 
|  |    324 | \end{textblock}
 | 
|  |    325 | 
 | 
| 320 |    326 | \end{frame}
 | 
|  |    327 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
|  |    328 |  
 | 
|  |    329 | 
 | 
| 365 |    330 | % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
 | 
|  |    331 | % \begin{frame}[c,fragile]
 | 
|  |    332 | % \frametitle{Sudoku}
 | 
| 320 |    333 | 
 | 
| 365 |    334 | % A very simple-minded version on 110 problems:\bigskip
 | 
| 320 |    335 | 
 | 
| 365 |    336 | % \begin{itemize}
 | 
|  |    337 | % \item 1 core: 800 secs
 | 
|  |    338 | % \item 2 cores: 400 secs
 | 
|  |    339 | % \item 8 cores: 290 secs
 | 
|  |    340 | % \item 18 cores: 142 secs
 | 
|  |    341 | % \end{itemize}
 | 
| 217 |    342 | 
 | 
| 365 |    343 | % \end{frame}
 | 
|  |    344 | % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
| 320 |    345 |  
 | 
| 365 |    346 | % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
|  |    347 | % \begin{frame}[t]
 | 
| 323 |    348 | 
 | 
| 365 |    349 | %   \begin{center}  
 | 
|  |    350 | %   \includegraphics[scale=0.3]{../pics/blow.png}
 | 
|  |    351 | %   \end{center}
 | 
| 323 |    352 |   
 | 
| 365 |    353 | %   \begin{textblock}{14}(2,11.4)
 | 
|  |    354 | %   \large\bf{}Mind-Blowing Programming Languages:\\ 
 | 
|  |    355 | %   \centering JavaScript
 | 
|  |    356 | %   \end{textblock}
 | 
|  |    357 | % \end{frame}
 | 
|  |    358 | % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
| 217 |    359 | 
 | 
| 382 |    360 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
 | 
| 445 |    361 | %\begin{frame}[t]
 | 
|  |    362 | %\frametitle{Preliminary 1 (Scala)}
 | 
|  |    363 | %
 | 
|  |    364 | %Raw marks (298 submissions):\bigskip
 | 
|  |    365 | %
 | 
|  |    366 | %\begin{itemize}
 | 
|  |    367 | %\item 3\%: \hspace{4mm}227
 | 
|  |    368 | %\item 2\%: \hspace{4mm}35
 | 
|  |    369 | %\item 1\%: \hspace{4mm}9
 | 
|  |    370 | %\item 0\%: \hspace{4mm}27 
 | 
|  |    371 | %\end{itemize}
 | 
|  |    372 | %
 | 
|  |    373 | %
 | 
|  |    374 | %\end{frame}
 | 
| 384 |    375 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
 | 
| 445 |    376 | %\begin{frame}[t]
 | 
|  |    377 | %\frametitle{Preliminary 2 (Scala)}
 | 
|  |    378 | %
 | 
|  |    379 | %Raw marks (301 submissions):\bigskip%
 | 
|  |    380 | %
 | 
|  |    381 | %\begin{itemize}
 | 
|  |    382 | %\item 3.0\%: \hspace{4mm}236
 | 
|  |    383 | %\item 2.5\%: \hspace{4mm}5
 | 
|  |    384 | %\item 2.0\%: \hspace{4mm}7
 | 
|  |    385 | %\item 1.5\%: \hspace{4mm}13
 | 
|  |    386 | %\item 1.0\%: \hspace{4mm}1
 | 
|  |    387 | %\item 0.5\%: \hspace{4mm}2
 | 
|  |    388 | %\item 0.0\%: \hspace{4mm}37
 | 
|  |    389 | %\end{itemize}
 | 
|  |    390 | %
 | 
|  |    391 | %
 | 
|  |    392 | %\end{frame}
 | 
|  |    393 | %
 | 
|  |    394 | %\begin{frame}<1-20>
 | 
|  |    395 | %\end{frame}
 | 
| 66 |    396 | 
 | 
|  |    397 | 
 | 
|  |    398 | \end{document}
 | 
|  |    399 | 
 | 
|  |    400 | %%% Local Variables:  
 | 
|  |    401 | %%% mode: latex
 | 
|  |    402 | %%% TeX-master: t
 | 
|  |    403 | %%% End: 
 | 
|  |    404 | 
 |