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