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 |