--- a/slides/slides01.tex Fri Sep 19 18:41:04 2025 +0100
+++ b/slides/slides01.tex Fri Sep 26 19:09:50 2025 +0100
@@ -241,7 +241,7 @@
\begin{tabular}{@ {}c@ {}}
\\[-3mm]
\LARGE Compilers and \\[-1mm]
- \LARGE Formal Languages\\[-5mm]
+ \LARGE Formal Languages\\[-3mm]
\end{tabular}}
%\begin{center}
@@ -254,10 +254,10 @@
\begin{center}
\begin{tabular}{ll}
Email: & christian.urban at kcl.ac.uk\\
- Office Hour: & Fridays 12 -- 14\\
+ Office Hour: & Fridays 11:30 -- 12:30\\
Location: & N7.07 (North Wing, Bush House)\\
Slides \& Progs: & KEATS\\
- Pollev: & \texttt{\alert{https://pollev.com/cfltutoratki576}}\\
+ %Pollev: & \texttt{\alert{https://pollev.com/cfltutoratki576}}\\
\end{tabular}
\end{center}
@@ -637,13 +637,33 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
{\setbeamercolor{background canvas}{bg=cream}
\begin{frame}[c]
+\frametitle{How to study for CFL?}
+
+My recommendation for each week:
+
+\begin{itemize}
+\item read the handout
+\item watch the videos
+\item re-read the handout
+\item do the HW to be discussed at the SGT
+\item later on do the CW
+\end{itemize}
+
+
+\end{frame}}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+{\setbeamercolor{background canvas}{bg=cream}
+\begin{frame}[c]
\frametitle{Some Housekeeping}
\textbf{Exam will be computer-based, invigilated in some big examination hall:}\bigskip
\begin{itemize}
-\item final exam in January (\xout{35\%} \textbf{40\%})
-\item coursework (\xout{65\%} \textbf{60\%- very first part is now optional})
+\item final exam in January (\textbf{40\%})
+\item coursework (\textbf{60\%- the first part is optional})
\end{itemize}\bigskip\bigskip\pause
@@ -666,10 +686,7 @@
Until 3 years ago: I did not give out solutions; students
sent emails to me and I responded to them individually.\bigskip\\
-Now: We will review the homework mainly during the SGTs.\bigskip\\\pause
-
-I will still choose the questions from the HW for the exam, but there might be
-some larger amount of deviation.\bigskip\pause
+Now: TAs will review the homework mainly during the SGTs.\bigskip\\\pause
Do not harass your TAs for the solutions!
@@ -684,8 +701,8 @@
\begin{center}
\begin{tikzpicture}
- \begin{axis}[symbolic x coords={2016,2017,2018,2019,2020,2021,2022,2023,2024},
- width = 1.1\textwidth,
+ \begin{axis}[symbolic x coords={2016,2017,2018,2019,2020,2021,2022,2023,2024,2025},
+ width = 1.2\textwidth,
height = 5cm,
bar width=8mm,
nodes near coords,
@@ -699,16 +716,7 @@
]
\only<1>{\addplot[ybar,style={rred,fill=rred!75,mark=none},text=black] coordinates {
-(2024,136)
-(2023,169)
-(2022,111)
-(2021,98)
-(2020,59)
-(2019,38)
-(2018,20)
-(2017,22)
-(2016,8)}};
-\only<2>{\addplot[ybar,style={rred,fill=rred!75,mark=none},text=black] coordinates {
+(2025,181)
(2024,173)
(2023,169)
(2022,111)
@@ -734,39 +742,51 @@
\begin{frame}[c]
\frametitle{Some Housekeeping}
-\textbf{Coursework (4 parts accounting for 60\%; submission deadline \underline{2nd January}):}\bigskip
+\textbf{Coursework (4 parts accounting for 60\%; submission deadline \underline{5th January 2026}):}\bigskip
\begin{itemize}
-\item matcher \xout{(5\%)}\;\;\textcolor{red}{optional from this year}
+\item matcher \xout{(5\%)}\;\;\textcolor{red}{optional}
\item lexer (10\%)
-\item parser / interpreter (10\%)
+\item parser / interpreter (15\%)
\item JVM compiler (15\%)
-\item LLVM compiler (25\%)
-\end{itemize}\bigskip\pause
-
-you can use \alert{any} programming language you like (Haskell, Rust, Swift)\\\pause
-you can use any code I show you and is uploaded to KEATS\ldots\textbf{BUT NOTHING ELSE!}
-
+\item LLVM compiler (20\%)
+\end{itemize}
\end{frame}
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
{
\setbeamercolor{background canvas}{bg=cream}
-\begin{frame}[c,fragile]
-\end{frame}
+\begin{frame}[c]
+\frametitle{Some Housekeeping}
+
+\begin{itemize}
+\item you can use any code I show you and is uploaded to KEATS; therefore
+ most students use Scala/Ammonite
+\item but you can use \alert{any} programming language you like (Haskell, Rust, Swift\ldots you have to show me how to run your code)
+\pause
+\item \textcolor{red}{\textbf{you can even use AI for CW}}\pause\bigskip
+\item \textbf{BUT YOU CANNOT COPY FROM OR COLLABORATE WITH OTHER STUDENTS!}
+\end{itemize}
+\end{frame}
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%{
+%\setbeamercolor{background canvas}{bg=cream}
+%\begin{frame}[c,fragile]
+%\end{frame}
+%}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
{
\setbeamercolor{background canvas}{bg=cream}
\begin{frame}[c,fragile]
%%\frametitle{Scala 3}
-I will show you all my code in Scala 3
+I will show you all my code in Scala 3\bigskip
\begin{minipage}{1.4\textwidth}
\begin{lstlisting}[language={},numbers=none,basicstyle=\ttfamily\small]
-$ scala-cli
-Welcome to Scala 3.5.0 (21.0.4, Java OpenJDK 64-Bit Server VM).
+$ scala
+Welcome to Scala 3.7.3 (21.0.8, Java OpenJDK 64-Bit Server VM).
Type in expressions for evaluation. Or try :help.
scala> 1 + 2
@@ -775,17 +795,17 @@
\end{minipage}\medskip
\pause
-Since Scala 3.5.0, scala-cli is included in "plain" Scala
-
-\begin{minipage}{1.4\textwidth}
-\begin{lstlisting}[language={},numbers=none,basicstyle=\ttfamily\small]
-$ scala
-Welcome to Scala 3.5.1 (21.0.4, Java OpenJDK 64-Bit Server VM).
-Type in expressions for evaluation. Or try :help.
-
-scala>
-\end{lstlisting} %% $
-\end{minipage}
+%Since Scala 3.5.0, scala-cli is included in "plain" Scala
+%
+%\begin{minipage}{1.4\textwidth}
+%\begin{lstlisting}[language={},numbers=none,basicstyle=\ttfamily\small]
+%$ scala
+%Welcome to Scala 3.5.1 (21.0.4, Java OpenJDK 64-Bit Server VM).
+%Type in expressions for evaluation. Or try :help.
+%
+%scala>
+%\end{lstlisting} %% $
+%\end{minipage}
\end{frame}
}
@@ -802,21 +822,21 @@
\begin{lstlisting}[language={},numbers=none,basicstyle=\ttfamily\small]
$ amm
Loading...
-Welcome to the Ammonite Repl 3.0.0-M2 (Scala 3.3.3 Java 21.0.4)
-scala> 1 + 2
+Welcome to the Ammonite Repl 3.0.2 (Scala 3.3.5 Java 21.0.8)
+@ 1 + 2
res0: Int = 3
\end{lstlisting} %% $
\end{minipage}\medskip
\pause
-Do not use Amm + Scala 2!
+Do not use Amm + Scala 2! Do not use sbt!
\begin{minipage}{1.4\textwidth}
\begin{lstlisting}[language={},numbers=none,basicstyle=\ttfamily\small]
$ amm2
Loading...
Welcome to the Ammonite Repl 2.5.9 (Scala 2.13.11 Java 17.0.7)
-scala>
+@
\end{lstlisting} %% $
\end{minipage}
\end{frame}
@@ -827,11 +847,10 @@
\setbeamercolor{background canvas}{bg=cream}
\begin{frame}[c]
\frametitle{For Install Problems}
-
+
\begin{itemize}
-\item Harry Dilnot (harry.dilnot@kcl.ac.uk) \\
- \;\;Windows expert
-\item Oliver Iliffe (oliver.iliffe@kcl.ac.uk)
+\item Flavio Melinte Citea\\ (flavio.melinte\_citea@kcl.ac.uk)\bigskip \\
+\item Zishan Rahman\\ (zishan.rahman@kcl.ac.uk)
\end{itemize}
\end{frame}
@@ -2036,13 +2055,10 @@
\begin{tabular}{lll}
- SGT TAs: & Flavio Melinte Citea & (was a KURF two summers ago)\\
- & Zishan Rahman\\
- & Harry Dilnot\\
- & Opale Sjostedt\medskip\\
- Amm Helpers & Harry Dilnot & (harry.dilnot@kcl.ac.uk)\\
- & Oliver Iliffe & (oliver.iliffe@kcl.ac.uk)\medskip\\
- & \multicolumn{2}{l}{\hspace{5mm}(was a KURF last summer)}\\
+ SGT TAs: & Flavio Melinte Citea\\
+ & Zoltan Meszaros\bigskip\\
+Amm Helpers & Flavio Melinte Citea & (flavio.melinte\_citea@kcl.ac.uk)\\
+ & Zishan Rahman & (zishan.rahman@kcl.ac.uk)\medskip\\
\end{tabular}
\mbox{}
\end{frame}