--- a/slides/slides01.tex Sat Nov 04 18:53:37 2023 +0000
+++ b/slides/slides01.tex Mon Nov 06 14:18:26 2023 +0000
@@ -110,7 +110,7 @@
%Office: & N\liningnums{7.07} (North Wing, Bush House)\bigskip\\
Slides \& Code: & KEATS\bigskip\\
- Office Hour: & Fridays 11:00 -- 12:00\\
+ Office Hour: & Fridays 13:00 -- 14:00\\
Location: & N7.07 (North Wing, Bush House)\bigskip\\
Pollev: & \texttt{\alert{https://pollev.com/cfltutoratki576}}\\ \\
@@ -141,11 +141,12 @@
\includegraphics[scale=0.30]{../pics/guardian.jpg}\\[-3mm]
\mbox{}\hspace{-2mm}\includegraphics[scale=0.38]{../pics/morgan.png}\\[-3mm]
\includegraphics[scale=0.30]{../pics/suisse.png}\\
+Standard \& Poor's\\
{\large\bf ...}
\end{tabular}
\end{textblock}
-\begin{textblock}{6}(9,3)
+\begin{textblock}{6}(8,3)
\begin{tabular}{l}
\includegraphics[scale=0.20]{../pics/edf.png}\\[-1mm]
\includegraphics[scale=0.08]{../pics/novell.png}\\[-1mm]
@@ -155,6 +156,13 @@
\end{tabular}
\end{textblock}
+\begin{textblock}{6}(11,3)
+\begin{tabular}{l}
+\includegraphics[scale=0.08]{../pics/lichess.png}\\[-1mm]
+{\footnotesize lichess engine (open source)}
+\end{tabular}
+\end{textblock}
+
\begin{textblock}{12}(2,11)
\footnotesize
@@ -259,18 +267,23 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[c]
-\frametitle{First Steps: Scala Tools}
+\frametitle{First Steps: \textcolor{red}{Scala 3} Tools}
+\mbox{}\\
+
+\begin{minipage}{1.1\textwidth}
\begin{itemize}
-\item contains a REPL
-\item I use VS Code and a Scala extension (M'place)
+\item contains a REPL $\Rightarrow$ but this year we use
+ \textcolor{red}{\texttt{scala-cli}}
+\item I use VS Codium and a Scala extension (M'place)
\begin{center}
\includegraphics[scale=0.10]{../pics/vscode.png}\\[-10mm]\mbox{}
\end{center}\bigskip
\item there is a plugin for Eclipse (called Scala IDE)\medskip
\item there is also a plugin for IntelliJ\medskip
-\end{itemize}
+\end{itemize}
+\end{minipage}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -297,12 +310,44 @@
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{frame}[c, fragile]
+\frametitle{This year Scala 3/ \textbf{\texttt{scala-cli}}}
+
+\mbox{}\\
+
+\begin{minipage}{1.3\textwidth}
+\begin{center}
+\textbf{\texttt{scala-cli}}
+$\quad\Rightarrow$ {\small\url{https://scala-cli.virtuslab.org/}}\bigskip
+\end{center}
+
+Installation problems:
+\begin{itemize}
+\item Oscar Sjostedt (\texttt{\small{}oscar.sjostedt@kcl.ac.uk})
+\item Nicole Lehchevska (\texttt{\small{}nicole.lehchevska@kcl.ac.uk})\bigskip
+\end{itemize}
+Github problems:
+\begin{itemize}
+\item Quan Tran (\texttt{\small{}anh.tran@kcl.ac.uk})\bigskip
+\end{itemize}
+Discussion forum:
+\begin{itemize}
+\item Ruben Ticehurst-James (\texttt{\small{}ruben.ticehurst-james@kcl.ac.uk})
+\end{itemize}
+\end{minipage}
+
+\end{frame}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t]
\frametitle{Why Scala?}
-\onslide<2->{%
+\only<2-4>{%
\begin{center}
{\large\bf{}Money?}\bigskip\\
\begin{tabular}{@{}c@{}c@{}}
@@ -313,19 +358,28 @@
\end{center}
\RIGHTarrow{2}{2.0}{6.3}
\DOWNarrow{2}{10.1}{4.4}
-}
-
\small
Elm, Rust, Haskell, Ocaml, F$\#$, Erlang, ML, Lisp (Racket)\ldots
+}
\only<3>{
+\begin{textblock}{2}(7.5,6.7)
+\includegraphics[scale=0.2]{../pics/salary3.png}
+\end{textblock}
+\RIGHTarrow{2}{2.0}{6.3}
+\DOWNarrow{2}{10.1}{4.4}}
+
+
+\only<4>{
\begin{textblock}{6}(3.3,6.2)
\begin{bubble}[6.5cm]
\bf\huge\textcolor{RoyalBlue}{Functional Programming!}
\end{bubble}
\end{textblock}}
+
+
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -342,12 +396,12 @@
Elm, Haskell, Ocaml, F$\#$, Erlang, ML, Lisp (Racket)\ldots
\only<2>{
-\begin{textblock}{6}(1.3,6.2)
-\begin{bubble}[10cm]
-\normalsize``If you want to see which features will be in mainstream programming
+\begin{textblock}{8}(1.3,6.2)
+\begin{bubble}[12cm]
+\normalsize\it``If you want to see which features will be in mainstream programming
languages tomorrow, then take a look at functional programming
languages today.''\medskip\small\\
- \hfill{}---Simon Peyton Jones (works at Microsoft)\\
+ \hfill{}---Simon Peyton Jones (works at Epic Games, used to work at Microsoft)\\
\hfill{}main developer of the Glasgow Haskell Compiler
\end{bubble}
\end{textblock}}
@@ -898,7 +952,8 @@
\begin{frame}[t,fragile]
\begin{bubble}[10.5cm]
- "PEP was my favourite module so far during these 2 years. It motivated me to apply and get a summer internship offer at S\&P Global as a Scala developer. The module content was more than enough for me to start working on the projects here at the company." -- Szabolcs Daniel Nagi (PEP 2021)
+\it "PEP was my favourite module so far during these 2 years. It motivated me to apply and get a summer internship offer at S\&P Global as a Scala developer. The module content was more than enough for me to start working on the projects here at the company."\\
+ \mbox{}\hfill{}--- Szabolcs Daniel Nagi (PEP 2021)
\end{bubble}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -909,18 +964,18 @@
\frametitle{Conclusion for Today}
\begin{itemize}
-\item Scala is still under development, 2.13.1 came out in Sept.\\
- (the compiler is terribly slow)\medskip
-\item {\bf\url{http://www.scala-lang.org/}}\bigskip
+\item This year we will be using Scala 3 with the \texttt{scala-cli} REPL!\\
+ \medskip
+\item {\bf\url{https://scala-cli.virtuslab.org/}}\bigskip
-\item it is a rather \textbf{\alert{deep}} language\ldots i.e.~gives
- you a lot of rope to shoot yourself\bigskip
+\item Scala can be a rather \textbf{\alert{deep}} language\ldots i.e.~gives
+ you a lot of rope to shoot yourself.\bigskip
-\item learning functional programming is not easy\ldots{}when you have
+\item Learning functional programming is not easy\ldots{}when you have
spent all of your career thinking in an imperative way, it is hard to
- change\bigskip\medskip
+ change.\bigskip\medskip
-\item hope you have fun with Scala and the assignments
+\item Hope you have fun with Scala and the assignments.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%