slides/slides05.tex
author Christian Urban <urbanc@in.tum.de>
Wed, 30 Oct 2019 14:21:16 +0000
changeset 289 38f67c1264e0
parent 265 2692329287bb
child 327 094996b2de7a
permissions -rw-r--r--
updated
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
239
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     1
\documentclass[dvipsnames,14pt,t,xelatex]{beamer}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     2
\usepackage{../slides}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     3
\usepackage{../graphics}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     4
\usepackage{../langs}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     5
%%\usepackage{../data}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     6
\usepackage[export]{adjustbox}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     7
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     8
\hfuzz=220pt 
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     9
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    10
%\setmonofont[Scale=.88]{Consolas}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    11
%\newfontfamily{\consolas}{Consolas}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    12
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    13
\lstset{language=Scala,
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    14
        style=mystyle,
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    15
        numbersep=0pt,
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    16
        numbers=none,
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    17
        xleftmargin=0mm}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    18
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    19
\newcommand{\bl}[1]{\textcolor{blue}{#1}}     
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    20
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    21
% beamer stuff 
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    22
\renewcommand{\slidecaption}{PEP (Scala) 05, King's College London}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    23
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    24
\begin{filecontents}{re3a.data}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    25
1 0.00003
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    26
500001 0.22527
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    27
1000001 0.62752
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    28
1500001 0.88485
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    29
2000001 1.39815
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    30
2500001 1.68619
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    31
3000001 1.94957
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    32
3500001 2.15878
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    33
4000001 2.59918
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    34
4500001 5.90679
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    35
5000001 13.11295
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    36
5500001 19.15376
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    37
6000001 40.16373
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    38
\end{filecontents}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    39
\begin{filecontents}{re-python2.data}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    40
1 0.033
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    41
5 0.036
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    42
10 0.034
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    43
15 0.036
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    44
18 0.059
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    45
19 0.084
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    46
20 0.141
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    47
21 0.248
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    48
22 0.485
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    49
23 0.878
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    50
24 1.71
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    51
25 3.40
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    52
26 7.08
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    53
27 14.12
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    54
28 26.69
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    55
\end{filecontents}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    56
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    57
\begin{filecontents}{re-java.data}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    58
5  0.00298
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    59
10  0.00418
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    60
15  0.00996
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    61
16  0.01710
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    62
17  0.03492
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    63
18  0.03303
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    64
19  0.05084
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    65
20  0.10177
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    66
21  0.19960
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    67
22  0.41159
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    68
23  0.82234
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    69
24  1.70251
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    70
25  3.36112
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    71
26  6.63998
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    72
27  13.35120
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    73
28  29.81185
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    74
\end{filecontents}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    75
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    76
%All O2 technical teams are working closely with one of our third party suppliers who has identified a global software issue in their system which has impacted data services.  
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    77
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    78
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    79
\begin{document}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    80
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    81
\begin{frame}[t]
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    82
\frametitle{%
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    83
  \begin{tabular}{@ {}c@ {}}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    84
  \\[5mm]
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    85
  \huge PEP Scala (5) 
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    86
  \end{tabular}}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    87
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    88
  \normalsize
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    89
  \begin{center}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    90
  \begin{tabular}{ll}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    91
    Email:  & christian.urban at kcl.ac.uk\\
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    92
    Office: & N\liningnums{7.07} (North Wing, Bush House)\\
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    93
    Slides \& Code: & KEATS\medskip\\
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    94
    Office Hours: &  Mondays 12:00 -- 14:00\\
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    95
  \end{tabular}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    96
  \end{center}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    97
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    98
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    99
\end{frame}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   100
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   101
240
2d8d198360c8 updated
Christian Urban <urbanc@in.tum.de>
parents: 239
diff changeset
   102
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
2d8d198360c8 updated
Christian Urban <urbanc@in.tum.de>
parents: 239
diff changeset
   103
2d8d198360c8 updated
Christian Urban <urbanc@in.tum.de>
parents: 239
diff changeset
   104
\begin{frame}[c]
2d8d198360c8 updated
Christian Urban <urbanc@in.tum.de>
parents: 239
diff changeset
   105
\frametitle{Marks for CW7 (Part 1 +  2)}
2d8d198360c8 updated
Christian Urban <urbanc@in.tum.de>
parents: 239
diff changeset
   106
2d8d198360c8 updated
Christian Urban <urbanc@in.tum.de>
parents: 239
diff changeset
   107
Raw marks (234 submissions):
2d8d198360c8 updated
Christian Urban <urbanc@in.tum.de>
parents: 239
diff changeset
   108
2d8d198360c8 updated
Christian Urban <urbanc@in.tum.de>
parents: 239
diff changeset
   109
\begin{itemize}
2d8d198360c8 updated
Christian Urban <urbanc@in.tum.de>
parents: 239
diff changeset
   110
\item 6\%: \hspace{4mm}192 students
2d8d198360c8 updated
Christian Urban <urbanc@in.tum.de>
parents: 239
diff changeset
   111
\item 5\%: \hspace{4mm}16
2d8d198360c8 updated
Christian Urban <urbanc@in.tum.de>
parents: 239
diff changeset
   112
\item 4\%: \hspace{4mm}7
2d8d198360c8 updated
Christian Urban <urbanc@in.tum.de>
parents: 239
diff changeset
   113
\item 3\%: \hspace{4mm}2
2d8d198360c8 updated
Christian Urban <urbanc@in.tum.de>
parents: 239
diff changeset
   114
\item 2\%: \hspace{4mm}6
2d8d198360c8 updated
Christian Urban <urbanc@in.tum.de>
parents: 239
diff changeset
   115
\item 1\%: \hspace{4mm}1
2d8d198360c8 updated
Christian Urban <urbanc@in.tum.de>
parents: 239
diff changeset
   116
\item 0\%: \hspace{4mm}9 
2d8d198360c8 updated
Christian Urban <urbanc@in.tum.de>
parents: 239
diff changeset
   117
\end{itemize}  
2d8d198360c8 updated
Christian Urban <urbanc@in.tum.de>
parents: 239
diff changeset
   118
\end{frame}
2d8d198360c8 updated
Christian Urban <urbanc@in.tum.de>
parents: 239
diff changeset
   119
2d8d198360c8 updated
Christian Urban <urbanc@in.tum.de>
parents: 239
diff changeset
   120
2d8d198360c8 updated
Christian Urban <urbanc@in.tum.de>
parents: 239
diff changeset
   121
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2d8d198360c8 updated
Christian Urban <urbanc@in.tum.de>
parents: 239
diff changeset
   122
2d8d198360c8 updated
Christian Urban <urbanc@in.tum.de>
parents: 239
diff changeset
   123
2d8d198360c8 updated
Christian Urban <urbanc@in.tum.de>
parents: 239
diff changeset
   124
239
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   125
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   126
\begin{frame}[c,fragile]
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   127
\small
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   128
  
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   129
\begin{lstlisting}[language=Scala, numbers=none, xleftmargin=-7mm]
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   130
def get_csv_url(url: String) : List[String] = {
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   131
  val csv = Try(Source.fromURL(url)).getOrElse(null)
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   132
   if (csv == null){
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   133
     List()
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   134
   }
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   135
   else {
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   136
     ....
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   137
   }
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   138
}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   139
\end{lstlisting}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   140
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   141
\pause
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   142
\bigskip
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   143
\rule{11cm}{0.3mm}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   144
\bigskip
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   145
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   146
\begin{lstlisting}[language=Scala, numbers=none, xleftmargin=-7mm]
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   147
def get_csv_url(url: String) : List[String] = {
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   148
  Try(Source.fromURL(url)....).getOrElse(Nil)
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   149
\end{lstlisting}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   150
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   151
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   152
\end{frame}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   153
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   154
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   155
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   156
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   157
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   158
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   159
\begin{frame}[c,fragile]
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   160
\small
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   161
  
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   162
\begin{lstlisting}[language=Scala, numbers=none, xleftmargin=-7mm]
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   163
def get_csv_url(url: String) : List[String] = {
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   164
    try {
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   165
        val csvFile = Source.fromURL(url)
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   166
        ....
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   167
    } catch {
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   168
        case unknown : Throwable => List()
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   169
    }
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   170
}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   171
\end{lstlisting}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   172
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   173
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   174
\bigskip
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   175
\rule{11cm}{0.3mm}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   176
\bigskip
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   177
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   178
\begin{lstlisting}[language=Scala, numbers=none, xleftmargin=-7mm]
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   179
def get_csv_url(url: String) : List[String] = {
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   180
  Try(Source.fromURL(url)....).getOrElse(Nil)
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   181
\end{lstlisting}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   182
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   183
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   184
\end{frame}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   185
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   186
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   187
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   188
  \begin{frame}[c]
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   189
  \frametitle{Dijkstra on Testing}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   190
  
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   191
  \begin{bubble}[10cm]
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   192
  ``Program testing can be a very effective way to show the
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   193
  presence of bugs, but it is hopelessly inadequate for showing
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   194
  their absence.''
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   195
  \end{bubble}\bigskip
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   196
  
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   197
  
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   198
  \end{frame}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   199
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   200
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   201
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   202
\begin{frame}[c]
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   203
\frametitle{\Large Proving Programs to be Correct}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   204
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   205
\begin{bubble}[10cm]
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   206
\small
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   207
{\bf Theorem:} There are infinitely many prime 
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   208
numbers.\medskip\\
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   209
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   210
{\bf Proof} \ldots\\
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   211
\end{bubble}\bigskip
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   212
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   213
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   214
similarly\bigskip
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   215
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   216
\begin{bubble}[10cm]
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   217
\small
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   218
{\bf Theorem:} The program is doing what 
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   219
it is supposed to be doing.\medskip
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   220
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   221
{\bf Long, long proof} \ldots\\
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   222
\end{bubble}\bigskip\medskip
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   223
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   224
\small This can be a gigantic proof. The only hope is to have
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   225
help from the computer. `Program' is here to be understood to be
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   226
quite general (compiler, OS, \ldots).
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   227
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   228
\end{frame}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   229
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   230
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   231
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   232
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   233
\begin{frame}[c]
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   234
\frametitle{Can This Be Done?}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   235
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   236
\begin{itemize}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   237
\item in 2011, verification of a small C-compiler (CompCert)
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   238
\begin{itemize}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   239
\item ``if my input program has a certain behaviour, then the compiled machine code has the same behaviour''
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   240
\item is as good as \texttt{gcc -O1}, but much, much less buggy 
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   241
\end{itemize}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   242
\end{itemize}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   243
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   244
\begin{center}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   245
  \includegraphics[scale=0.12]{../pics/compcert.png}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   246
\end{center}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   247
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   248
\end{frame}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   249
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   250
265
2692329287bb updated
Christian Urban <urbanc@in.tum.de>
parents: 240
diff changeset
   251
%% ~2,237,800 lines of proof in 474
239
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   252
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   253
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   254
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   255
\begin{frame}[c]
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   256
\frametitle{Fuzzy Testing C-Compilers}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   257
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   258
\begin{itemize}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   259
\item tested GCC, LLVM and others by randomly generating 
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   260
C-programs
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   261
\item found more than 300 bugs in GCC and also
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   262
many in LLVM (some of them highest-level critical)\bigskip
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   263
\item about CompCert:
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   264
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   265
\begin{bubble}[10cm]\small ``The striking thing about our CompCert
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   266
results is that the middle-end bugs we found in all other
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   267
compilers are absent. As of early 2011, the under-development
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   268
version of CompCert is the only compiler we have tested for
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   269
which Csmith cannot find wrong-code errors. This is not for
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   270
lack of trying: we have devoted about six CPU-years to the
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   271
task.'' 
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   272
\end{bubble} 
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   273
\end{itemize}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   274
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   275
\end{frame}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   276
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   277
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   278
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   279
\begin{frame}[c]
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   280
\frametitle{seL4 / Isabelle}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   281
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   282
\begin{itemize}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   283
\item verified a microkernel operating system ($\approx$8000 lines of C code)\bigskip
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   284
\item US DoD has competitions to hack into drones; they found that the
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   285
  isolation guarantees of seL4 hold up\bigskip
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   286
\item CompCert and seL4 sell their code  
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   287
\end{itemize}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   288
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   289
\only<2>{
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   290
\begin{textblock}{5}(5.5,1.9)
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   291
  \includegraphics[scale=0.25]{../pics/drone.jpg}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   292
\end{textblock}}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   293
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   294
\end{frame}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   295
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   296
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   297
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   298
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   299
\begin{frame}[c]
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   300
  \frametitle{CW9 : Regexes}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   301
  
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   302
\begin{center}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   303
  Graphs: $(a^*)^* b$ and strings $\underbrace{\;a\ldots a\;}_{n}$\bigskip
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   304
  
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   305
\begin{tabular}[t]{@{\hspace{-8mm}}c@{\hspace{-4mm}}c@{}}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   306
\raisebox{6mm}{\begin{tikzpicture}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   307
\begin{axis}[
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   308
    xlabel={$n$},
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   309
    x label style={at={(1.05,0.0)}},
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   310
    ylabel={time in secs},
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   311
    enlargelimits=false,
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   312
    xtick={0,5,...,30},
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   313
    xmax=33,
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   314
    ymax=35,
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   315
    ytick={0,5,...,30},
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   316
    scaled ticks=false,
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   317
    axis lines=left,
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   318
    width=5.5cm,
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   319
    height=5cm, 
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   320
    legend entries={Python,  Java 8},  
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   321
    legend pos=north west,
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   322
    legend cell align=left]
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   323
\addplot[blue,mark=*, mark options={fill=white}] table {re-python2.data};  
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   324
\addplot[cyan,mark=*, mark options={fill=white}] table {re-java.data};
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   325
\end{axis}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   326
\end{tikzpicture}}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   327
  &
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   328
\onslide<1>{\begin{tikzpicture}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   329
  \begin{axis}[
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   330
    xlabel={$n$},
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   331
    x label style={at={(1.05,0.0)}},
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   332
    ylabel={time in secs},
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   333
    enlargelimits=false,
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   334
    ymax=35,
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   335
    ytick={0,5,...,30},
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   336
    axis lines=left,
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   337
    %%scaled ticks=false,
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   338
    width=5.5cm, 
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   339
    height=5cm]
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   340
%%\addplot[green,mark=square*,mark options={fill=white}] table {re2a.data};    
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   341
\addplot[red,mark=square*,mark options={fill=white}] table {re3a.data};
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   342
\end{axis}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   343
\end{tikzpicture}}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   344
\end{tabular}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   345
\end{center}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   346
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   347
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   348
\small
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   349
\hfill Kuklewicz: most POSIX matchers are buggy\\
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   350
\footnotesize
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   351
\hfill \url{http://www.haskell.org/haskellwiki/Regex_Posix}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   352
\end{frame}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   353
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   354
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   355
\begin{frame}[c]
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   356
\frametitle{Where to go on from here?}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   357
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   358
\begin{itemize}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   359
\item Martin Odersky (EPFL)\ldots he is currently throwing out everything
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   360
  and starts again with the dotty compiler for Scala\medskip
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   361
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   362
\item Elm (\url{http://elm-lang.org})\ldots web applications with style\medskip   
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   363
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   364
\item Haskell, Ocaml, Standard ML, Scheme, \ldots 
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   365
\end{itemize}  
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   366
\end{frame}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   367
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   368
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   369
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   370
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   371
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   372
\begin{frame}[c,fragile]
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   373
\frametitle{\alert{Questions?}}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   374
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   375
{\tiny
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   376
\begin{verbatim}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   377
                               *
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   378
                              * *
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   379
                             *   *
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   380
                            * * * *
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   381
                           *       *
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   382
                          * *     * *
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   383
                         *   *   *   *
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   384
                        * * * * * * * *
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   385
                       *               *
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   386
                      * *             * *
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   387
                     *   *           *   *
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   388
                    * * * *         * * * *
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   389
                   *       *       *       *
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   390
                  * *     * *     * *     * *
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   391
                 *   *   *   *   *   *   *   *
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   392
                * * * * * * * * * * * * * * * *
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   393
               *                               *
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   394
              * *                             * *
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   395
             *   *                           *   *
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   396
            * * * *                         * * * *
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   397
           *       *                       *       *
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   398
          * *     * *                     * *     * *
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   399
         *   *   *   *                   *   *   *   *
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   400
        * * * * * * * *                 * * * * * * * *
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   401
       *               *               *               *
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   402
      * *             * *             * *             * *
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   403
     *   *           *   *           *   *           *   *
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   404
    * * * *         * * * *         * * * *         * * * *
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   405
   *       *       *       *       *       *       *       *
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   406
  * *     * *     * *     * *     * *     * *     * *     * *
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   407
 *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   408
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   409
\end{verbatim}}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   410
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   411
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   412
\begin{textblock}{6}(8.5,3.5)
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   413
\begin{bubble}[5cm]
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   414
\footnotesize
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   415
\begin{lstlisting}[language=Scala, numbers=none, xleftmargin=-1mm]
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   416
++++++++[>+>++++<<-]>++>>
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   417
+<[-[>>+<<-]+>>]>+[-<<<[-
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   418
>[+[-]+>++>>>-<<]<[<]>>++
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   419
++++[<<+++++>>-]+<<++.[-]
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   420
<<]>.>+[>>]>+]
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   421
\end{lstlisting}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   422
\end{bubble}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   423
\end{textblock}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   424
  
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   425
\end{frame}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   426
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   427
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   428
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   429
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   430
\begin{frame}[c]
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   431
\frametitle{Marks for CW6 (Part 1 + 2)}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   432
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   433
Raw marks:
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   434
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   435
\begin{itemize}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   436
\item 6\%: 154 students
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   437
\item 5\%: 66
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   438
\item 4\%: 18
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   439
\item 3\%: 13
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   440
\item 2\%: 2
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   441
\item 1\%: 1
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   442
\item 0\%: 21 
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   443
\end{itemize}  
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   444
\end{frame}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   445
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   446
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   447
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   448
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   449
\end{document}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   450
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   451
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   452
\end{document}
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   453
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   454
%%% Local Variables:  
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   455
%%% mode: latex
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   456
%%% TeX-master: t
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   457
%%% End: 
e05032a1c102 updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   458