diff -r be818c5a67d4 -r 8a61bcd51ec3 slides/slides01.tex --- 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} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%