slides/slides05.tex
author Christian Urban <christian.urban@kcl.ac.uk>
Sun, 15 Sep 2024 12:57:59 +0100
changeset 493 244df77507c2
parent 482 769bda18a43d
permissions -rw-r--r--
updated
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
327
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
     1
% !TEX program = xelatex
383
c02929f2647c updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 328
diff changeset
     2
\documentclass[dvipsnames,14pt,t,xelatex,aspectratio=169,xcolor={table}]{beamer}
454
289b85843ffd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 418
diff changeset
     3
\usepackage{../styles/slides}
289b85843ffd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 418
diff changeset
     4
\usepackage{../styles/mygraphs}
289b85843ffd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 418
diff changeset
     5
\usepackage{../styles/langs}
455
557d18cce0f0 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 454
diff changeset
     6
\usepackage{chessboard} 
239
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     7
%%\usepackage{../data}
327
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
     8
%%\usepackage[export]{adjustbox}
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
     9
\usetikzlibrary{shapes,arrows,shadows}
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
    10
239
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    11
418
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    12
% Swift, example (a*)*b  
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    13
\begin{filecontents}{re-swift.data}
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    14
5   0.001
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    15
10  0.001
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    16
15  0.009
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    17
20  0.178
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    18
23  1.399
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    19
24  2.893
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    20
25  5.671
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    21
26  11.357
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    22
27  22.430
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    23
\end{filecontents}
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    24
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    25
% Dart, example (a*)*b  
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    26
\begin{filecontents}{re-dart.data}
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    27
20 0.042
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    28
21 0.084
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    29
22 0.190
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    30
23 0.340
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    31
24 0.678
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    32
25 1.369
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    33
26 2.700
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    34
27 5.462
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    35
28 10.908
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    36
29 21.725
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    37
30 43.492
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    38
\end{filecontents}
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    39
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    40
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    41
\begin{filecontents}{re3a.data}
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    42
1 0.00003
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    43
500001 0.22527
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    44
1000001 0.62752
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    45
1500001 0.88485
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    46
2000001 1.39815
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    47
2500001 1.68619
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    48
3000001 1.94957
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    49
3500001 2.15878
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    50
4000001 2.59918
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    51
4500001 5.90679
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    52
5000001 13.11295
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    53
5500001 19.15376
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    54
6000001 40.16373
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    55
\end{filecontents}
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    56
\begin{filecontents}{re-python2.data}
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    57
1 0.033
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    58
5 0.036
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    59
10 0.034
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    60
15 0.036
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    61
18 0.059
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    62
19 0.084
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    63
20 0.141
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    64
21 0.248
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    65
22 0.485
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    66
23 0.878
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    67
24 1.71
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    68
25 3.40
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    69
26 7.08
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    70
27 14.12
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    71
28 26.69
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    72
\end{filecontents}
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    73
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    74
\begin{filecontents}{re-js.data}
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    75
5   0.061
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    76
10  0.061
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    77
15  0.061
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    78
20  0.070
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    79
23  0.131
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    80
25  0.308
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    81
26  0.564
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    82
28  1.994
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    83
30  7.648
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    84
31  15.881 
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    85
32  32.190
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    86
\end{filecontents}
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    87
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    88
\begin{filecontents}{re-java.data}
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    89
5  0.00298
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    90
10  0.00418
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    91
15  0.00996
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    92
16  0.01710
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    93
17  0.03492
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    94
18  0.03303
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    95
19  0.05084
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    96
20  0.10177
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    97
21  0.19960
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    98
22  0.41159
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
    99
23  0.82234
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   100
24  1.70251
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   101
25  3.36112
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   102
26  6.63998
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   103
27  13.35120
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   104
28  29.81185
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   105
\end{filecontents}
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   106
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   107
\begin{filecontents}{re-java9.data}
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   108
1000  0.01410
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   109
2000  0.04882
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   110
3000  0.10609
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   111
4000  0.17456
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   112
5000  0.27530
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   113
6000  0.41116
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   114
7000  0.53741
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   115
8000  0.70261
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   116
9000  0.93981
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   117
10000 0.97419
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   118
11000 1.28697
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   119
12000 1.51387
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   120
14000 2.07079
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   121
16000 2.69846
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   122
20000 4.41823
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   123
24000 6.46077
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   124
26000 7.64373
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   125
30000 9.99446
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   126
34000 12.966885
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   127
38000 16.281621
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   128
42000 19.180228
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   129
46000 21.984721
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   130
50000 26.950203
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   131
60000 43.0327746
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   132
\end{filecontents}
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   133
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   134
239
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   135
\hfuzz=220pt 
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   136
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   137
%\setmonofont[Scale=.88]{Consolas}
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   138
%\newfontfamily{\consolas}{Consolas}
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   139
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   140
\lstset{language=Scala,
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   141
        style=mystyle,
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   142
        numbersep=0pt,
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   143
        numbers=none,
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   144
        xleftmargin=0mm}
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   145
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   146
\newcommand{\bl}[1]{\textcolor{blue}{#1}}     
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   147
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   148
% beamer stuff 
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   149
\renewcommand{\slidecaption}{PEP (Scala) 05, King's College London}
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   150
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   151
\begin{document}
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   152
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   153
\begin{frame}[t]
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   154
\frametitle{%
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   155
  \begin{tabular}{@ {}c@ {}}
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   156
  \\[5mm]
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   157
  \huge PEP Scala (5) 
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   158
  \end{tabular}}
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   159
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   160
  \normalsize
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   161
  \begin{center}
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   162
  \begin{tabular}{ll}
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   163
    Email:  & christian.urban at kcl.ac.uk\\
383
c02929f2647c updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 328
diff changeset
   164
    %Office: & N\liningnums{7.07} (North Wing, Bush House)\bigskip\\
418
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   165
    Slides \& Code: & KEATS\bigskip\\
454
289b85843ffd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 418
diff changeset
   166
482
769bda18a43d updated jars
Christian Urban <christian.urban@kcl.ac.uk>
parents: 455
diff changeset
   167
    Office Hour: &  Fridays 13:00 -- 14:00\\
454
289b85843ffd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 418
diff changeset
   168
    Location: & N7.07 (North Wing, Bush House)\bigskip\\
289b85843ffd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 418
diff changeset
   169
289b85843ffd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 418
diff changeset
   170
    Pollev: & \texttt{\alert{https://pollev.com/cfltutoratki576}}\\  \\
239
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   171
  \end{tabular}
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   172
  \end{center}
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   173
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   174
\end{frame}
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   175
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   176
454
289b85843ffd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 418
diff changeset
   177
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
289b85843ffd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 418
diff changeset
   178
\begin{frame}[t]
289b85843ffd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 418
diff changeset
   179
\frametitle{Housekeeping}
289b85843ffd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 418
diff changeset
   180
289b85843ffd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 418
diff changeset
   181
\mbox{}\medskip  
289b85843ffd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 418
diff changeset
   182
289b85843ffd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 418
diff changeset
   183
\begin{minipage}{1.2\textwidth}
289b85843ffd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 418
diff changeset
   184
\begin{itemize}
289b85843ffd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 418
diff changeset
   185
\item SGTs still ongoing next week
482
769bda18a43d updated jars
Christian Urban <christian.urban@kcl.ac.uk>
parents: 455
diff changeset
   186
%\item LGT next week online: Ask-Me-Anything (will be recorded, TEAMS link will be emailed and published on KEATS)
769bda18a43d updated jars
Christian Urban <christian.urban@kcl.ac.uk>
parents: 455
diff changeset
   187
%\item tests might break over Christmas  
454
289b85843ffd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 418
diff changeset
   188
\end{itemize}\bigskip
289b85843ffd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 418
diff changeset
   189
482
769bda18a43d updated jars
Christian Urban <christian.urban@kcl.ac.uk>
parents: 455
diff changeset
   190
%\begin{center}
769bda18a43d updated jars
Christian Urban <christian.urban@kcl.ac.uk>
parents: 455
diff changeset
   191
%\raisebox{-9mm}{\includegraphics[scale=0.15]{../pics/thanks.jpeg}} Junhuai Hou \quad Chin Wan
769bda18a43d updated jars
Christian Urban <christian.urban@kcl.ac.uk>
parents: 455
diff changeset
   192
%\end{center}  
454
289b85843ffd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 418
diff changeset
   193
\end{minipage}
289b85843ffd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 418
diff changeset
   194
289b85843ffd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 418
diff changeset
   195
289b85843ffd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 418
diff changeset
   196
\end{frame}
418
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   197
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
454
289b85843ffd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 418
diff changeset
   198
455
557d18cce0f0 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 454
diff changeset
   199
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
482
769bda18a43d updated jars
Christian Urban <christian.urban@kcl.ac.uk>
parents: 455
diff changeset
   200
%\begin{frame}[c]
769bda18a43d updated jars
Christian Urban <christian.urban@kcl.ac.uk>
parents: 455
diff changeset
   201
%\frametitle{Main 4: \knight-Tour}
769bda18a43d updated jars
Christian Urban <christian.urban@kcl.ac.uk>
parents: 455
diff changeset
   202
%
769bda18a43d updated jars
Christian Urban <christian.urban@kcl.ac.uk>
parents: 455
diff changeset
   203
%\begin{center}
769bda18a43d updated jars
Christian Urban <christian.urban@kcl.ac.uk>
parents: 455
diff changeset
   204
%\Large\bf hint
769bda18a43d updated jars
Christian Urban <christian.urban@kcl.ac.uk>
parents: 455
diff changeset
   205
%\end{center}  
769bda18a43d updated jars
Christian Urban <christian.urban@kcl.ac.uk>
parents: 455
diff changeset
   206
%
769bda18a43d updated jars
Christian Urban <christian.urban@kcl.ac.uk>
parents: 455
diff changeset
   207
%\end{frame}
455
557d18cce0f0 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 454
diff changeset
   208
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
454
289b85843ffd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 418
diff changeset
   209
289b85843ffd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 418
diff changeset
   210
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
289b85843ffd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 418
diff changeset
   211
\begin{frame}[c]
418
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   212
  \frametitle{Main 3: Regexes}
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   213
  
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   214
\begin{center}
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   215
  \mbox{Graphs: regex \alert{\texttt{(a*)*b}} and strings $\underbrace{\;\texttt{a}\ldots \texttt{a}\;}_{n}$}\bigskip
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   216
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   217
  \small  
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   218
\begin{tabular}[t]{@{\hspace{-8mm}}c@{\hspace{-0mm}}c@{}}
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   219
\only<1>{\raisebox{6mm}{\begin{tikzpicture}
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   220
\begin{axis}[
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   221
    xlabel={$n$},
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   222
    x label style={at={(1.05,0.0)}},
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   223
    ylabel={time in secs},
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   224
    enlargelimits=false,
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   225
    xtick={0,5,...,30},
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   226
    xmax=33,
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   227
    ymax=35,
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   228
    ytick={0,5,...,30},
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   229
    scaled ticks=false,
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   230
    axis lines=left,
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   231
    width=5.5cm,
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   232
    height=5cm,
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   233
    legend entries={Java 8,Python,JavaScript,Swift,Dart},
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   234
    %legend entries={\small{}Python,  \small{}Java 8,  \small{}JavaScript},  
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   235
    legend pos=north west,
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   236
    legend cell align=left]
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   237
\addplot[blue,mark=*, mark options={fill=white}] table {re-python2.data};  
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   238
\addplot[cyan,mark=*, mark options={fill=white}] table {re-java.data};
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   239
\addplot[red,mark=*, mark options={fill=white}] table {re-js.data};
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   240
\addplot[magenta,mark=*, mark options={fill=white}] table {re-swift.data};
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   241
\addplot[brown,mark=*, mark options={fill=white}] table {re-dart.data};
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   242
\end{axis}
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   243
\end{tikzpicture}}}%
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   244
\only<2>{\raisebox{0mm}{\begin{tikzpicture}
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   245
\begin{axis}[
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   246
    xlabel={$n$},
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   247
    x label style={at={(1.05,0.0)}},
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   248
    ylabel={time in secs},
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   249
    %y label style={at={(0.06,0.5)}},
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   250
    enlargelimits=false,
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   251
    %xtick={0,30000,...,60000},
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   252
    xmax=65000,
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   253
    ymax=35,
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   254
    ytick={0,5,...,30},
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   255
    scaled ticks=true,
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   256
    axis lines=left,
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   257
    width=5.5cm,
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   258
    height=5cm, 
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   259
    legend entries={\small{}Java 9},  
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   260
    legend pos=north west]
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   261
\addplot[cyan,mark=*, mark options={fill=white}] table {re-java9.data};
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   262
\end{axis}
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   263
\end{tikzpicture}}}
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   264
  &
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   265
\onslide<1-2>{\begin{tikzpicture}
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   266
  \begin{axis}[
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   267
    xlabel={$n$},
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   268
    x label style={at={(1.05,0.0)}},
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   269
    ylabel={time in secs},
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   270
    enlargelimits=false,
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   271
    ymax=35,
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   272
    ytick={0,5,...,30},
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   273
    axis lines=left,
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   274
    legend entries={You in M3}, 
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   275
    %%scaled ticks=false,
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   276
    width=5.5cm, 
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   277
    height=5cm]
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   278
%%\addplot[green,mark=square*,mark options={fill=white}] table {re2a.data};    
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   279
\addplot[magenta,mark=square*,mark options={fill=white}] table {re3a.data};
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   280
\end{axis}
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   281
\end{tikzpicture}}
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   282
\end{tabular}
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   283
\end{center}
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   284
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   285
\hfill\small\url{https://vimeo.com/112065252}
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   286
\end{frame}
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   287
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   288
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   289
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   290
fa7f7144f2bb updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 383
diff changeset
   291
240
b8cdaf51ffef updated
Christian Urban <urbanc@in.tum.de>
parents: 239
diff changeset
   292
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
b8cdaf51ffef updated
Christian Urban <urbanc@in.tum.de>
parents: 239
diff changeset
   293
383
c02929f2647c updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 328
diff changeset
   294
%\begin{frame}[c]
c02929f2647c updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 328
diff changeset
   295
%\frametitle{Marks for Preliminary 8}
c02929f2647c updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 328
diff changeset
   296
%
c02929f2647c updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 328
diff changeset
   297
%Raw marks (265 submissions):\bigskip
c02929f2647c updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 328
diff changeset
   298
%
c02929f2647c updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 328
diff changeset
   299
%\begin{itemize}
c02929f2647c updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 328
diff changeset
   300
%\item 4\%: \hspace{4mm}211
c02929f2647c updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 328
diff changeset
   301
%\item 3\%: \hspace{4mm}11
c02929f2647c updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 328
diff changeset
   302
%\item 2\%: \hspace{4mm}14
c02929f2647c updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 328
diff changeset
   303
%\item 1\%: \hspace{4mm}8
c02929f2647c updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 328
diff changeset
   304
%\item 0\%: \hspace{4mm}21
c02929f2647c updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 328
diff changeset
   305
%\end{itemize}\bigskip\bigskip  
c02929f2647c updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 328
diff changeset
   306
%
c02929f2647c updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 328
diff changeset
   307
%\footnotesize
c02929f2647c updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 328
diff changeset
   308
%(plagiarism/collusion interviews ongoing again!)
c02929f2647c updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 328
diff changeset
   309
%
c02929f2647c updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 328
diff changeset
   310
%\end{frame}
327
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   311
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   312
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   313
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   314
482
769bda18a43d updated jars
Christian Urban <christian.urban@kcl.ac.uk>
parents: 455
diff changeset
   315
%\begin{frame}[c]
769bda18a43d updated jars
Christian Urban <christian.urban@kcl.ac.uk>
parents: 455
diff changeset
   316
%\frametitle{Plan for Today}
769bda18a43d updated jars
Christian Urban <christian.urban@kcl.ac.uk>
parents: 455
diff changeset
   317
%
769bda18a43d updated jars
Christian Urban <christian.urban@kcl.ac.uk>
parents: 455
diff changeset
   318
%\begin{itemize}
769bda18a43d updated jars
Christian Urban <christian.urban@kcl.ac.uk>
parents: 455
diff changeset
   319
%\item Polymorphic Types  
769bda18a43d updated jars
Christian Urban <christian.urban@kcl.ac.uk>
parents: 455
diff changeset
   320
%\item Implicits
769bda18a43d updated jars
Christian Urban <christian.urban@kcl.ac.uk>
parents: 455
diff changeset
   321
%\item Immutable OOP
769bda18a43d updated jars
Christian Urban <christian.urban@kcl.ac.uk>
parents: 455
diff changeset
   322
%%\item Making Fun about Scala
769bda18a43d updated jars
Christian Urban <christian.urban@kcl.ac.uk>
parents: 455
diff changeset
   323
%\end{itemize}
240
b8cdaf51ffef updated
Christian Urban <urbanc@in.tum.de>
parents: 239
diff changeset
   324
482
769bda18a43d updated jars
Christian Urban <christian.urban@kcl.ac.uk>
parents: 455
diff changeset
   325
%\end{frame}
327
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   326
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   327
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   328
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
454
289b85843ffd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 418
diff changeset
   329
%\begin{frame}[c,fragile]
289b85843ffd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 418
diff changeset
   330
%\frametitle{How To calcululate 100 Mio Collatz Series?} 
289b85843ffd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 418
diff changeset
   331
%
289b85843ffd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 418
diff changeset
   332
%\begin{lstlisting}[language=Scala, numbers=none, xleftmargin=1mm]
289b85843ffd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 418
diff changeset
   333
%(1L to 100_000_000).map(collatz).max
289b85843ffd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 418
diff changeset
   334
%\end{lstlisting}
289b85843ffd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 418
diff changeset
   335
%
289b85843ffd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 418
diff changeset
   336
%\end{frame}
327
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   337
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   338
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   339
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   340
\begin{frame}[c,fragile]
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   341
\frametitle{Polyorphic Types} 
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   342
454
289b85843ffd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 418
diff changeset
   343
%To be avoided:\bigskip\bigskip
327
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   344
\small
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   345
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   346
\begin{lstlisting}[language=Scala, numbers=none, xleftmargin=-6mm]
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   347
def length_string_list(lst: List[String]): Int = 
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   348
 lst match {
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   349
   case Nil => 0
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   350
   case x::xs => 1 + length_string_list(xs)
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   351
 }
240
b8cdaf51ffef updated
Christian Urban <urbanc@in.tum.de>
parents: 239
diff changeset
   352
454
289b85843ffd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 418
diff changeset
   353
 
327
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   354
def length_int_list(lst: List[Int]): Int = 
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   355
 lst match {
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   356
   case Nil => 0
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   357
   case x::xs => 1 + length_int_list(xs)
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   358
 }
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   359
\end{lstlisting}
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   360
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   361
\end{frame}
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   362
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   363
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   364
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   365
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   366
\begin{frame}[c,fragile]
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   367
\frametitle{Polyorphic Types} 
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   368
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   369
\small
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   370
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   371
\begin{lstlisting}[language=Scala, numbers=none, xleftmargin=-6mm]
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   372
def length[A](lst: List[A]): Int = lst match {
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   373
  case Nil => 0
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   374
  case x::xs => 1 + length(xs)
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   375
}
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   376
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   377
length(List("1", "2", "3", "4"))
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   378
length(List(1, 2, 3, 4))
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   379
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   380
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   381
def map[A, B](lst: List[A], f: A => B): List[B] = 
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   382
 lst match {
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   383
   case Nil => Nil
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   384
   case x::xs => f(x)::map(xs, f) 
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   385
 }
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   386
\end{lstlisting}
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   387
\end{frame}
240
b8cdaf51ffef updated
Christian Urban <urbanc@in.tum.de>
parents: 239
diff changeset
   388
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
b8cdaf51ffef updated
Christian Urban <urbanc@in.tum.de>
parents: 239
diff changeset
   389
b8cdaf51ffef updated
Christian Urban <urbanc@in.tum.de>
parents: 239
diff changeset
   390
b8cdaf51ffef updated
Christian Urban <urbanc@in.tum.de>
parents: 239
diff changeset
   391
239
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   392
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
327
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   393
\begin{frame}[c]
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   394
\frametitle{DFAs}  
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   395
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   396
\begin{center}
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   397
\begin{tikzpicture}[>=stealth',very thick,auto,
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   398
  every state/.style={minimum size=0pt,inner sep=2pt,
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   399
    draw=blue!50,very thick,fill=blue!20},]
239
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   400
  
327
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   401
\only<1,3->{\node[state,initial] (Q_0)  {$\mbox{Q}_0$};}
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   402
\only<2>{\node[state,initial,fill=red] (Q_0)  {$\mbox{Q}_0$};}  
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   403
\only<1,2,4->{\node[state] (Q_1) [right=of Q_0] {$\mbox{Q}_1$};}
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   404
\only<3>{\node[state,fill=red] (Q_1) [right=of Q_0] {$\mbox{Q}_1$};}
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   405
\only<-3,5->{\node[state] (Q_2) [below right=of Q_0] {$\mbox{Q}_2$};}
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   406
\only<4>{\node[state,fill=red] (Q_2) [below right=of Q_0] {$\mbox{Q}_2$};}
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   407
\only<-4,6->{\node[state] (Q_3) [right=of Q_2] {$\mbox{Q}_3$};}
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   408
\only<5>{\node[state,fill=red] (Q_3) [right=of Q_2] {$\mbox{Q}_3$};}
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   409
\only<-5>{\node[state, accepting] (Q_4) [right=of Q_1] {$\mbox{Q}_4$};}
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   410
\only<6->{\node[state, accepting,fill=red] (Q_4) [right=of Q_1] {$\mbox{Q}_4$};}
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   411
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   412
\path[->] (Q_0) edge node [above]  {\alert{$a$}} (Q_1);
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   413
\path[->] (Q_1) edge node [above]  {\alert{$a$}} (Q_4);
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   414
\path[->] (Q_4) edge [loop right] node  {\alert{$a, b$}} ();
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   415
\path[->] (Q_3) edge node [right]  {\alert{$a$}} (Q_4);
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   416
\path[->] (Q_2) edge node [above]  {\alert{$a$}} (Q_3);
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   417
\path[->] (Q_1) edge node [right]  {\alert{$b$}} (Q_2);
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   418
\path[->] (Q_0) edge node [above]  {\alert{$b$}} (Q_2);
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   419
\path[->] (Q_2) edge [loop left] node  {\alert{$b$}} ();
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   420
\path[->] (Q_3) edge [bend left=95, looseness=1.3] node [below]  {\alert{$b$}} (Q_0);
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   421
\end{tikzpicture}
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   422
\end{center}
239
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   423
383
c02929f2647c updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 328
diff changeset
   424
\begin{textblock}{10}(4,12)
c02929f2647c updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 328
diff changeset
   425
\LARGE{}\phantom{b}
c02929f2647c updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 328
diff changeset
   426
\only<-2>{\boldmath\textcolor{gray}{$a$}}\only<3->{\boldmath\alert{$a$}}%
c02929f2647c updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 328
diff changeset
   427
\only<-3>{\boldmath\textcolor{gray}{$b$}}\only<4->{\boldmath\alert{$b$}}%
c02929f2647c updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 328
diff changeset
   428
\only<-4>{\boldmath\textcolor{gray}{$a$}}\only<5->{\boldmath\alert{$a$}}%
c02929f2647c updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 328
diff changeset
   429
\only<-5>{\boldmath\textcolor{gray}{$a$}}\only<6->{\boldmath\alert{$a$}}%
c02929f2647c updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 328
diff changeset
   430
\only<-6>{\boldmath\textcolor{gray}{$a$}}\only<7->{\boldmath\alert{$a\quad\Rightarrow \textbf{yes}$}}% 
327
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   431
\end{textblock}
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   432
  
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   433
\end{frame}
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   434
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   435
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   436
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   437
\begin{frame}[t]
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   438
\frametitle{DFAs}
239
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   439
327
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   440
A \alert{\bf deterministic finite automaton} (DFA) consists of
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   441
5 things:
239
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   442
327
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   443
\begin{itemize}
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   444
\item an alphabet \bl{$\varSigma$}  
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   445
\item a set of states \bl{$\mbox{Qs}$}
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   446
\item one of these states is the start state \bl{$\mbox{Q}_0$}
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   447
\item some states are accepting states \bl{$F$}, and
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   448
\item there is transition function \bl{$\delta$}\bigskip 
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   449
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   450
\small
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   451
which takes a state  and a character as arguments and produces a 
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   452
new state; this function might not be everywhere defined 
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   453
\end{itemize}
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   454
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   455
\begin{center}
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   456
\bl{$A(\varSigma, \mbox{Qs}, \mbox{Q}_0, F, \delta)$}
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   457
\end{center}
239
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   458
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   459
\end{frame}
327
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   460
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   461
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   462
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   463
\begin{frame}[c]
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   464
\frametitle{NFAs}  
239
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   465
327
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   466
\begin{center}
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   467
\begin{tikzpicture}[>=stealth',very thick, auto,
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   468
    every state/.style={minimum size=0pt,inner sep=3pt,
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   469
      draw=blue!50,very thick,fill=blue!20},scale=2]
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   470
\node[state,initial]  (Q_0)  {$\mbox{Q}_0$};
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   471
\node[state] (Q_1) [right=of Q_0] {$\mbox{Q}_1$};
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   472
\node[state, accepting] (Q_2) [right=of Q_1] {$\mbox{Q}_2$};
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   473
\path[->] (Q_0) edge [loop above] node  {\alert{$b$}} ();
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   474
\path[<-] (Q_0) edge node [below]  {\alert{$b$}} (Q_1);
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   475
\path[->] (Q_0) edge [bend left] node [above]  {\alert{$a$}} (Q_1);
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   476
\path[->] (Q_0) edge [bend right=45,looseness=1.3] node [below]  {\alert{$a$}} (Q_2);
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   477
\path[->] (Q_1) edge [loop above] node  {\alert{$a,b$}} ();
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   478
\path[->] (Q_1) edge node  [above] {\alert{$a$}} (Q_2);
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   479
\end{tikzpicture}
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   480
\end{center}
239
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   481
327
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   482
\end{frame}
fb4cd144a9e6 updated
Christian Urban <urbanc@in.tum.de>
parents: 265
diff changeset
   483
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
239
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   484
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   485
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   486
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   487
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   488
\begin{frame}[c]
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   489
\frametitle{Where to go on from here?}
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   490
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   491
\begin{itemize}
454
289b85843ffd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 418
diff changeset
   492
\item Martin Odersky (EPFL) developed now Scala 3\medskip
239
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   493
455
557d18cce0f0 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 454
diff changeset
   494
\item I use Ammonite by Haoyi Li\medskip
454
289b85843ffd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 418
diff changeset
   495
  
239
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   496
\item Elm (\url{http://elm-lang.org})\ldots web applications with style\medskip   
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   497
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   498
\item Haskell, Ocaml, Standard ML, Scheme, \ldots 
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   499
\end{itemize}  
455
557d18cce0f0 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 454
diff changeset
   500
557d18cce0f0 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 454
diff changeset
   501
\begin{textblock}{5}(12,9)
557d18cce0f0 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 454
diff changeset
   502
\includegraphics[scale=0.15]{../pics/haojili.png} 
557d18cce0f0 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 454
diff changeset
   503
\end{textblock}  
239
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   504
\end{frame}
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   505
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   506
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   507
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   508
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   509
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   510
\begin{frame}[c,fragile]
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   511
\frametitle{\alert{Questions?}}
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   512
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   513
{\tiny
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   514
\begin{verbatim}
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   515
                               *
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   516
                              * *
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   517
                             *   *
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   518
                            * * * *
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   519
                           *       *
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   520
                          * *     * *
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   521
                         *   *   *   *
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   522
                        * * * * * * * *
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   523
                       *               *
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   524
                      * *             * *
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   525
                     *   *           *   *
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   526
                    * * * *         * * * *
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   527
                   *       *       *       *
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   528
                  * *     * *     * *     * *
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   529
                 *   *   *   *   *   *   *   *
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   530
                * * * * * * * * * * * * * * * *
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   531
               *                               *
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   532
              * *                             * *
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   533
             *   *                           *   *
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   534
            * * * *                         * * * *
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   535
           *       *                       *       *
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   536
          * *     * *                     * *     * *
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   537
         *   *   *   *                   *   *   *   *
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   538
        * * * * * * * *                 * * * * * * * *
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   539
       *               *               *               *
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   540
      * *             * *             * *             * *
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   541
     *   *           *   *           *   *           *   *
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   542
    * * * *         * * * *         * * * *         * * * *
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   543
   *       *       *       *       *       *       *       *
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   544
  * *     * *     * *     * *     * *     * *     * *     * *
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   545
 *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   546
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   547
\end{verbatim}}
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   548
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   549
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   550
\begin{textblock}{6}(8.5,3.5)
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   551
\begin{bubble}[5cm]
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   552
\footnotesize
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   553
\begin{lstlisting}[language=Scala, numbers=none, xleftmargin=-1mm]
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   554
++++++++[>+>++++<<-]>++>>
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   555
+<[-[>>+<<-]+>>]>+[-<<<[-
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   556
>[+[-]+>++>>>-<<]<[<]>>++
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   557
++++[<<+++++>>-]+<<++.[-]
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   558
<<]>.>+[>>]>+]
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   559
\end{lstlisting}
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   560
\end{bubble}
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   561
\end{textblock}
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   562
  
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   563
\end{frame}
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   564
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   565
455
557d18cce0f0 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 454
diff changeset
   566
\begin{frame}<1-10>[c,fragile]
557d18cce0f0 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 454
diff changeset
   567
557d18cce0f0 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 454
diff changeset
   568
557d18cce0f0 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 454
diff changeset
   569
\end{frame}  
557d18cce0f0 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 454
diff changeset
   570
328
0e591f806290 updated
Christian Urban <urbanc@in.tum.de>
parents: 327
diff changeset
   571
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
239
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   572
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   573
\end{document}
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   574
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   575
%%% Local Variables:  
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   576
%%% mode: latex
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   577
%%% TeX-master: t
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   578
%%% End: 
0c752ac51cfa updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   579