slides/slides02.tex
changeset 147 72f7dd1a3754
parent 66 3506b681c191
child 148 ead6089209ba
equal deleted inserted replaced
146:61d9a5ac6430 147:72f7dd1a3754
    32   \end{tabular}}
    32   \end{tabular}}
    33 
    33 
    34   \normalsize
    34   \normalsize
    35   \begin{center}
    35   \begin{center}
    36   \begin{tabular}{ll}
    36   \begin{tabular}{ll}
    37   Email:  & christian.urban at kcl.ac.uk\\
    37     Email:  & christian.urban at kcl.ac.uk\\
    38   Office: & S1.27 (1st floor Strand Building)\\
    38     Office: & N7.07 (North Wing, Bush House)\\
    39   Slides \& Code: & KEATS
    39     Slides \& Code: & KEATS\medskip\\
       
    40     Scala Office & \\
       
    41     Hours: &  Thursdays 11 -- 13\\
    40   \end{tabular}
    42   \end{tabular}
    41   \end{center}
    43   \end{center}
    42 
    44 
    43 
    45 
    44 \end{frame}
    46 \end{frame}
    45 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
    47 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
    46 
    48 
       
    49 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
       
    50 \begin{frame}[t,fragile]
       
    51   \frametitle{Mea Culpa}
       
    52 \bigskip
       
    53   
       
    54 \mbox{\hspace{-4mm}}CW6, Part 3 (deadline 21 December)\bigskip\medskip  
       
    55 \small
       
    56 \begin{lstlisting}[language=Scala, numbers=none, xleftmargin=-4mm]
       
    57 val blchip_portfolio =
       
    58  List("GOOG", "AAPL", "MSFT", "IBM", "FB",
       
    59                           "YHOO", "AMZN", "BIDU")
       
    60 
       
    61 val rstate_portfolio =
       
    62 List("PLD", "PSA", "AMT", "AIV", "AVB",
       
    63                           "BXP", "CBG", "CCI", 
       
    64      "DLR", "EQIX", "EQR", "ESS", "EXR",
       
    65                           "FRT", "GGP", "HCP") 
       
    66 \end{lstlisting}\bigskip
       
    67                         
       
    68 \onslide<2>{The results in the CW are calculated with YHOO and CBG deleted.}
       
    69 
       
    70 \only<2>{
       
    71 \begin{textblock}{6}(8.5,6.6)
       
    72   \begin{tikzpicture}
       
    73     \node (B0) at (0,0) {};
       
    74     \node (B1) at (0,0.5) {};
       
    75     \node (B2) at (1.2,0) {};
       
    76     \node (B3) at (1.2,0.5) {};
       
    77     \draw [red,line width=1mm] (B0) -- (B3);
       
    78     \draw [red,line width=1mm] (B1) -- (B2);
       
    79   \end{tikzpicture}
       
    80 \end{textblock}}
       
    81 
       
    82 \only<2>{
       
    83 \begin{textblock}{6}(10.5,9.9)
       
    84   \begin{tikzpicture}
       
    85     \node (B0) at (0,0) {};
       
    86     \node (B1) at (0,0.5) {};
       
    87     \node (B2) at (1.2,0) {};
       
    88     \node (B3) at (1.2,0.5) {};
       
    89     \draw [red,line width=1mm] (B0) -- (B3);
       
    90     \draw [red,line width=1mm] (B1) -- (B2);
       
    91   \end{tikzpicture}
       
    92 \end{textblock}}
       
    93 \end{frame}
       
    94 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
    95 
       
    96 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
       
    97 \begin{frame}[c]
       
    98 \frametitle{Mea Culpa 2}
       
    99 
       
   100 Avoid at all costs, even in comments
       
   101 
       
   102 \begin{itemize}
       
   103 \item \texttt{var} \only<2>{$\quad\Rightarrow\;$\texttt{Var}}
       
   104 \item \texttt{return} \only<2>{$\quad\Rightarrow\;$\texttt{Return}}
       
   105 \item \texttt{.par}
       
   106 \item \texttt{ListBuffer}
       
   107 \item \texttt{mutable}  
       
   108 \end{itemize}
       
   109 
       
   110 \end{frame}
       
   111 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   112 
       
   113 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
       
   114 \begin{frame}[t]
       
   115 \frametitle{For-Comprehensions Again}
       
   116 
       
   117 \begin{center}
       
   118   \begin{tikzpicture}[scale=1,
       
   119                       node/.style={
       
   120                       rectangle,rounded corners=3mm,
       
   121                       very thick,draw=black!50,
       
   122                       minimum height=18mm, minimum width=20mm,
       
   123                       top color=white,bottom color=black!20}]
       
   124 
       
   125   \node (A0) at (0.1,0) {\texttt{\textcolor{purple}{\textbf{for}} (\alert<2->{n} <- List(}};
       
   126   \node (A1) at (2.3,0) {\texttt{\phantom{,}1,}};
       
   127   \node (A2) at (3.2,0) {\texttt{\phantom{,}2,}};
       
   128   \node (A3) at (4.1,0) {\texttt{\phantom{,}3,}};
       
   129   \node (A4) at (5.0,0) {\texttt{\phantom{,}4,}};
       
   130   \node (A5) at (5.9,0) {\texttt{\phantom{))}5))}};
       
   131   \node (A6) at (8,0) {\texttt{\textcolor{purple}{\textbf{yield}} \alert<2->{n\,*\,n}}};
       
   132 
       
   133   \onslide<2->{
       
   134   \node (B0) at (1.4,-3) {\texttt{List(}};
       
   135   \node (B1) at (2.3,-3) {\texttt{\phantom{,}1,}};
       
   136   \node (B2) at (3.6,-3) {\texttt{\phantom{,}4,}};
       
   137   \node (B3) at (4.9,-3) {\texttt{\phantom{,}9,}};
       
   138   \node (B4) at (6.2,-3) {\texttt{\phantom{,}16,}};
       
   139   \node (B5) at (7.5,-3) {\texttt{\phantom{,}25)}};}
       
   140 
       
   141   \onslide<2->{
       
   142   \draw [->,line width=1mm] (A1.south) -- (B1.north);
       
   143   \draw [->,line width=1mm] (A2.south) -- (B2.north);
       
   144   \draw [->,line width=1mm] (A3.south) -- (B3.north);
       
   145   \draw [->,line width=1mm] (A4.south) -- (B4.north);
       
   146   \draw [->,line width=1mm] (A5.south) -- (B5.north);}
       
   147 
       
   148   \onslide<2->{
       
   149   \node (Q1) at (-0.45,-0.1) {};
       
   150   \node (Q2) at (-0.45,-2.8) {};
       
   151   \node (Q3) at (-0.45,-2.95) {\alert<2->{\texttt{n\,*\,n:}}};
       
   152   \draw [->,red,line width=1mm] (Q1.south) -- (Q2.north);}
       
   153  \end{tikzpicture}
       
   154 \end{center}
       
   155 
       
   156 \onslide<3>{This is for when the for-comprehension\\ \textbf{yields / produces} a result.}
       
   157 
       
   158 \end{frame}
       
   159 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   160 
       
   161 
       
   162 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
       
   163 \begin{frame}[t]
       
   164 \frametitle{For-Comprehensions Again}
       
   165 
       
   166 \begin{center}
       
   167   \begin{tikzpicture}[scale=1,
       
   168                       node/.style={
       
   169                       rectangle,rounded corners=3mm,
       
   170                       very thick,draw=black!50,
       
   171                       minimum height=18mm, minimum width=20mm,
       
   172                       top color=white,bottom color=black!20}]
       
   173 
       
   174   \node (A0) at (0,0)
       
   175     {\texttt{\textcolor{purple}{\textbf{for}} (n <- List(1, 2, 3, 4, 5))
       
   176              \textcolor{purple}{\textbf{yield}} n\,*\,n}};
       
   177 
       
   178   \node (A1) at (0,-1.5) {\LARGE\textbf{vs}};       
       
   179          
       
   180   \node (A2) at (0,-3)
       
   181     {\texttt{\textcolor{purple}{\textbf{for}} (n <- List(1, 2, 3, 4, 5)) println(n)}};
       
   182  \end{tikzpicture}
       
   183 \end{center}\bigskip
       
   184 
       
   185 
       
   186 The second version is in case the for \textbf{does not}
       
   187 produce any result.
       
   188 
       
   189 \end{frame}
       
   190 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   191 
       
   192 
       
   193 
       
   194 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
    47 \begin{frame}[t]
   195 \begin{frame}[t]
    48 \frametitle{\begin{tabular}{c}Why Scala?\end{tabular}}
   196 \frametitle{\begin{tabular}{c}Why Scala?\end{tabular}}
    49 
   197 
    50 
   198 
    51 \begin{itemize}
   199 \begin{itemize}
    68       \hfill Sir Tony (Hoare)
   216       \hfill Sir Tony (Hoare)
    69 \end{bubble}
   217 \end{bubble}
    70 \end{textblock}
   218 \end{textblock}
    71   
   219   
    72 \begin{textblock}{5}(11.8,1)
   220 \begin{textblock}{5}(11.8,1)
    73 \includegraphics[scale=0.20]{hoare.jpg}\\
   221 %%\includegraphics[scale=0.20]{hoare.jpg}\\
    74 \end{textblock}
   222 \end{textblock}
    75   
   223   
    76 \end{frame}
   224 \end{frame}
    77 
   225 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    78 
   226 
    79 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   227 
    80 \begin{frame}[c]
       
    81 \frametitle{\huge\textbf{\texttt{return}}}
       
    82 
       
    83 \begin{center}\LARGE
       
    84 you should never use it
       
    85 \end{center}
       
    86 
       
    87 \end{frame}
       
    88 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
       
    89 
   228 
    90 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   229 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    91 \begin{frame}[c]
   230 \begin{frame}[c]
    92 \frametitle{Types}
   231 \frametitle{Types}
    93 
   232