equal
  deleted
  inserted
  replaced
  
    
    
    26 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
    26 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
    27 \begin{frame}[t] | 
    27 \begin{frame}[t] | 
    28 \frametitle{% | 
    28 \frametitle{% | 
    29   \begin{tabular}{@ {}c@ {}} | 
    29   \begin{tabular}{@ {}c@ {}} | 
    30   \\[5mm]  | 
    30   \\[5mm]  | 
    31   \huge PEP Scala (\liningnums{1})  | 
    31   \hspace{7mm}\huge PEP Scala (\liningnums{1})  | 
    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: & N\liningnums{7.07} (North Wing, Bush House)\\ | 
    38     Office: & N\liningnums{7.07} (North Wing, Bush House)\\ | 
    39     Slides \& Code: & KEATS\medskip\\  | 
    39     Slides \& Code: & KEATS\medskip\\  | 
    40     Scala Office & \\  | 
    40     Office Hours: &  Mondays 12:00 -- 14:00\\  | 
    41     Hours: &  Mondays 12:00 -- 14:00\\  | 
    41            & \alert{except next week: Tuesday} | 
    42   \end{tabular} | 
    42   \end{tabular} | 
    43   \end{center} | 
    43   \end{center} | 
    44   | 
    44   | 
    45   \tiny  | 
    45   %\tiny  | 
    46   developed since 2004 bvy Martin Odersky  | 
    46   %developed since 2004 bv Martin Odersky  | 
    47   picture about assignments  | 
    47   %picture about assignments  | 
         | 
    48   | 
         | 
    49 \begin{textblock}{6}(0.5,0.5) | 
         | 
    50 \includegraphics[scale=0.035]{../pics/assign.jpg}\\[-1mm] | 
         | 
    51 \end{textblock} | 
    48   | 
    52   | 
    49 \end{frame} | 
    53 \end{frame} | 
    50 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%       | 
    54 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%       | 
    51   | 
    55   | 
    52   | 
    56   | 
    73 \includegraphics[scale=0.30]{../pics/hsbc.png}\\ | 
    77 \includegraphics[scale=0.30]{../pics/hsbc.png}\\ | 
    74 {\large\bf ...} | 
    78 {\large\bf ...} | 
    75 \end{tabular} | 
    79 \end{tabular} | 
    76 \end{textblock} | 
    80 \end{textblock} | 
    77   | 
    81   | 
         | 
    82   | 
         | 
    83 \begin{textblock}{6}(2,12) | 
         | 
    84 \begin{bubble}[9cm] | 
         | 
    85   \small  | 
         | 
    86   developed since 2004 by Martin Odersky\\  | 
         | 
    87   (he was behind Generic Scala which was included in Java 5)  | 
         | 
    88 \end{bubble} | 
         | 
    89 \end{textblock} | 
         | 
    90   | 
    78 \end{frame} | 
    91 \end{frame} | 
    79 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%       | 
    92 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%       | 
    80   | 
    93   | 
    81 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
    94 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
    82 \begin{frame}[c] | 
    95 %\begin{frame}[c] | 
    83 \frametitle{Why Scala?} | 
    96 %\frametitle{Why Scala?} | 
    84   | 
    97 %  | 
    85 In the last few years there is  a ``Cambrian explosion'' of  | 
    98 %In the last few years there is  a ``Cambrian explosion'' of  | 
    86 languages from both academia and industry.  | 
    99 %languages from both academia and industry.  | 
    87   | 
   100 %  | 
    88 It is essential for students to have skills to pick up new languages  | 
   101 %It is essential for students to have skills to pick up new languages  | 
    89 quickly.  | 
   102 %quickly.  | 
    90   | 
   103 %  | 
    91 \end{frame} | 
   104 %\end{frame} | 
    92 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     | 
   105 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     | 
    93   | 
   106   | 
    94   | 
   107   | 
    95 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
   108 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
    96 \begin{frame}[c] | 
   109 \begin{frame}[c] | 
   100 \item compiles to the JVM\\  | 
   113 \item compiles to the JVM\\  | 
   101   \textcolor{gray}{(also JavaScript, native X86 in the works)}\medskip | 
   114   \textcolor{gray}{(also JavaScript, native X86 in the works)}\medskip | 
   102 \item integrates seamlessly with Java\medskip  | 
   115 \item integrates seamlessly with Java\medskip  | 
   103 \item combines \underline{\bf functional} and {\bf object-oriented} programming\bigskip | 
   116 \item combines \underline{\bf functional} and {\bf object-oriented} programming\bigskip | 
   104 \item it is a bit on the ``mathematical'' side\\  | 
   117 \item it is a bit on the ``mathematical'' side\\  | 
   105   \textcolor{gray}{(no pointers, no \texttt{null})} | 
   118   \textcolor{gray}{(no pointers, no \texttt{null}, but expressions)} | 
   106     | 
   119     | 
   107 \item often one can write very concise and elegant code  | 
   120 \item often one can write very concise and elegant code  | 
   108 \end{itemize}\bigskip\medskip   | 
   121 \end{itemize}\bigskip\medskip   | 
   109   | 
   122   | 
   110 \small  | 
   123 \small  | 
   136   | 
   149   | 
   137 \end{frame} | 
   150 \end{frame} | 
   138 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     | 
   151 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     | 
   139   | 
   152   | 
   140 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
   153 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
   141 \begin{frame}[c] | 
   154 %\begin{frame}[c] | 
   142 \frametitle{Scala (imperative) vs Scala (functional)} | 
   155 %\frametitle{Scala (imperative) vs Scala (functional)} | 
   143   | 
   156 %  | 
   144 Reham's example  | 
   157 %Reham's example  | 
   145   | 
   158 %  | 
   146   | 
   159 %  | 
   147 \end{frame} | 
   160 %\end{frame} | 
   148 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
   161 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
   149   | 
   162   | 
   150   | 
   163   | 
   151   | 
   164   | 
   152 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
   165 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
   153 \begin{frame}[c] | 
   166 \begin{frame}[c] | 
   154 \frametitle{First Steps: Scala Tools} | 
   167 \frametitle{First Steps: Scala Tools} | 
   155   | 
   168   | 
   156 \begin{itemize} | 
   169 \begin{itemize} | 
         | 
   170 \item I use VS Code and a Scala extension  | 
         | 
   171 \begin{center}   | 
         | 
   172 \includegraphics[scale=0.10]{../pics/vscode.png}\\[-10mm]\mbox{} | 
         | 
   173 \end{center}\bigskip | 
         | 
   174     | 
   157 \item there is a plugin for Eclipse (called Scala IDE)\medskip  | 
   175 \item there is a plugin for Eclipse (called Scala IDE)\medskip  | 
   158 \item there is also a plugin for IntelliJ\medskip  | 
   176 \item there is also a plugin for IntelliJ\medskip  | 
   159 \item there is a worksheet mode in Eclipse and IntelliJ\bigskip  | 
         | 
   160 \item I use Sublime or venerable Emacs ;o)  | 
         | 
   161 \end{itemize}   | 
   177 \end{itemize}   | 
   162   | 
   178   | 
   163 \end{frame} | 
   179 \end{frame} | 
   164 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
   180 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
   165   | 
   181   |