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