diff -r a623dd1f2898 -r e03a0100ec46 slides/slides03.tex --- a/slides/slides03.tex Mon Nov 06 21:49:55 2023 +0000 +++ b/slides/slides03.tex Fri Dec 08 00:54:36 2023 +0000 @@ -7,8 +7,17 @@ \usetikzlibrary{shapes} \usepackage[export]{adjustbox} + \hfuzz=220pt +\usepackage{tcolorbox} +\newtcolorbox{mybox}{colback=red!5!white,colframe=red!75!black} +\newtcolorbox{mybox2}[1]{colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries,title=#1} +\newtcolorbox{mybox3}[1]{colback=Cyan!5!white,colframe=Cyan!75!black,fonttitle=\bfseries,title=#1} + + + + %\setmonofont[Scale=.88]{Consolas} %\newfontfamily{\consolas}{Consolas} @@ -45,7 +54,7 @@ \frametitle{% \begin{tabular}{@ {}c@ {}} \\[5mm] - \huge PEP Scala (3) + \hspace{7mm}\huge PEP Scala (\liningnums{3}) \end{tabular}} \normalsize @@ -55,16 +64,27 @@ %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}}\\ \\ + %Additionally: & (for Scala) Tuesdays 10:45 -- 11:45\\ \end{tabular} \end{center} + %\tiny + %developed since 2004 bv Martin Odersky + %picture about assignments + +\begin{textblock}{6}(0.5,0.5) +\includegraphics[scale=0.035]{../pics/assign.jpg}\\[-1mm] +\end{textblock} + \end{frame} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \begin{frame}[c] % \frametitle{Preliminary 6} @@ -84,30 +104,6 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{frame}[c,fragile] - -\begin{lstlisting}[language=Scala, numbers=none, xleftmargin=-1mm] -def collatz(n: Long) : Long = - { - val toReturn = collatzHelper(n, 0) - toReturn - } -\end{lstlisting} - -\pause -\bigskip -\rule{11cm}{0.3mm} -\bigskip - -\begin{lstlisting}[language=Scala, numbers=none, xleftmargin=-1mm] -def collatz(n: Long) : Long = - collatzHelper(n, 0) -\end{lstlisting} - -\end{frame} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\begin{frame}[c,fragile] \frametitle{Default Arguments} \small @@ -408,6 +404,150 @@ \end{frame} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +{ +\setbeamercolor{background canvas}{bg=cream} +\begin{frame}[c] + \frametitle{\mbox{}\hspace{40mm}\textbf{Feedback in + \textcolor{red}{\underline{CFL}!}}} + +\begin{minipage}{1.3\textwidth} +\begin{mybox3}{End-of-year feedback for 6CCS3CFL in 2019}\it\small +Unequivocally the worst module I've taken on this course. The subject +matter is fascinating, however the insistence on the use of this +abomination of a language "Scala" completely ruins it. If you're going +to teach something as complex as this, use a proper language, not some +"object oriented functional" abomination. Use C, you know, the +language that real compilers are written in. I will go to the end of +the earth to dissuade others from taking this module so long as Scala +is still being used.\\ +\mbox{}\hfill-- Lone voice in the end-of-year feedback in 2019 +\end{mybox3} +\end{minipage}\bigskip + +\end{frame} +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +{\definecolor{rred}{HTML}{C0504D} +\setbeamercolor{background canvas}{bg=cream} +\begin{frame}[c] +\frametitle{Students in CFL} + +\begin{center} +\begin{tikzpicture} + \begin{axis}[symbolic x coords={2016,2017,2018,2019,2020,2021,2022,2023}, + width = \textwidth, + height = 5cm, + bar width=8mm, + nodes near coords, + axis lines = left, + text=black, + ymin=0, + clip=false, + hide y axis, + axis line style={-}, + name=mygraph + ] + +\addplot[ybar,style={rred,fill=rred!75,mark=none},text=black] coordinates { +(2023,183) +(2022,112) +(2021,98) +(2020,59) +(2019,38) +(2018,20) +(2017,22) +(2016,8)}; +\end{axis} +\node[anchor=north, yshift=-10mm] at (mygraph.south) {\small{}Student numbers since the start of the compiler module.}; + +\end{tikzpicture} +\end{center} + +\begin{textblock}{5}(12, 2.5) + \includegraphics[scale=0.15]{../pics/cfl.png}\\ + \hspace{5mm}2021 +\end{textblock} + +\begin{textblock}{5}(12, 9) + \includegraphics[scale=0.15]{../pics/cfl2021.png}\\ + \hspace{5mm}2022 +\end{textblock} +\end{frame} +} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +{ +\setbeamercolor{background canvas}{bg=cream} +\begin{frame}[c] + +\mbox{}\\[-4mm] + +\begin{minipage}{1.3\textwidth} +\begin{mybox3}{One comment from this year}\it\small + I feel like the module's point is to help us experience what it is + like to program very challenging problems, it's not very realistic + as in a realistic scenario we would have access to the internet, and + other people's code and may collaborate. I feel like the point of + the module is taken away due to how the plagiarism and collusion + rules are put into place. +\end{mybox3} +\end{minipage}\smallskip + +\begin{minipage}{1.3\textwidth} +\begin{mybox3}{Another comment from this year}\it\small +To prepare students for the C++ coursework better, for example introducing recursion and/or backtracking, because that is a big part of the coursework but wasn't even touched upon in the videos +\end{mybox3} +\end{minipage}\smallskip + +\begin{minipage}{1.3\textwidth} +\begin{mybox3}{Even another comment from this year}\it\small +The coursework is too difficult. +\end{mybox3} +\end{minipage} + + + +\end{frame} +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +{ +\setbeamercolor{background canvas}{bg=cream} +\begin{frame}[c] + +\begin{itemize} +\item we reduced the amount of work this year and gave more time for C++ CW +\item we recruited TA's for\bigskip + +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 / general problems: +\begin{itemize} +\item Ruben Ticehurst-James (\texttt{\small{}ruben.ticehurst-james@kcl.ac.uk}) +\end{itemize} +\end{itemize} + +\only<2->{ +\begin{textblock}{7}(9, 8) + \textcolor{red}{\Large\bf Could you + please spend the next 10 mins to fill + out the end-of-year feedback.} + \includegraphics[scale=0.035]{thanks.png} +\end{textblock}} + +\end{frame} +} + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%