slides/slides01.tex
changeset 199 54befaf23648
parent 195 fc3ac7b70a06
child 200 01ee4b576eb2
equal deleted inserted replaced
198:d59c7995bcb2 199:54befaf23648
    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