5 \usepackage{../styles/langs} |
5 \usepackage{../styles/langs} |
6 %%\usepackage{../data} |
6 %%\usepackage{../data} |
7 \usetikzlibrary{shapes} |
7 \usetikzlibrary{shapes} |
8 \usepackage[export]{adjustbox} |
8 \usepackage[export]{adjustbox} |
9 |
9 |
|
10 |
10 \hfuzz=220pt |
11 \hfuzz=220pt |
|
12 |
|
13 \usepackage{tcolorbox} |
|
14 \newtcolorbox{mybox}{colback=red!5!white,colframe=red!75!black} |
|
15 \newtcolorbox{mybox2}[1]{colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries,title=#1} |
|
16 \newtcolorbox{mybox3}[1]{colback=Cyan!5!white,colframe=Cyan!75!black,fonttitle=\bfseries,title=#1} |
|
17 |
|
18 |
|
19 |
11 |
20 |
12 %\setmonofont[Scale=.88]{Consolas} |
21 %\setmonofont[Scale=.88]{Consolas} |
13 %\newfontfamily{\consolas}{Consolas} |
22 %\newfontfamily{\consolas}{Consolas} |
14 |
23 |
15 \lstset{language=Scala, |
24 \lstset{language=Scala, |
43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
52 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
44 \begin{frame}[t] |
53 \begin{frame}[t] |
45 \frametitle{% |
54 \frametitle{% |
46 \begin{tabular}{@ {}c@ {}} |
55 \begin{tabular}{@ {}c@ {}} |
47 \\[5mm] |
56 \\[5mm] |
48 \huge PEP Scala (3) |
57 \hspace{7mm}\huge PEP Scala (\liningnums{3}) |
49 \end{tabular}} |
58 \end{tabular}} |
50 |
59 |
51 \normalsize |
60 \normalsize |
52 \begin{center} |
61 \begin{center} |
53 \begin{tabular}{ll} |
62 \begin{tabular}{ll} |
54 Email: & christian.urban at kcl.ac.uk\\ |
63 Email: & christian.urban at kcl.ac.uk\\ |
55 %Office: & N\liningnums{7.07} (North Wing, Bush House)\bigskip\\ |
64 %Office: & N\liningnums{7.07} (North Wing, Bush House)\bigskip\\ |
56 Slides \& Code: & KEATS\bigskip\\ |
65 Slides \& Code: & KEATS\bigskip\\ |
57 |
66 |
58 Office Hour: & Fridays 11:00 -- 12:00\\ |
67 Office Hour: & Fridays 13:00 -- 14:00\\ |
59 Location: & N7.07 (North Wing, Bush House)\bigskip\\ |
68 Location: & N7.07 (North Wing, Bush House)\bigskip\\ |
60 |
69 |
61 Pollev: & \texttt{\alert{https://pollev.com/cfltutoratki576}}\\ \\ |
70 Pollev: & \texttt{\alert{https://pollev.com/cfltutoratki576}}\\ \\ |
|
71 %Additionally: & (for Scala) Tuesdays 10:45 -- 11:45\\ |
62 \end{tabular} |
72 \end{tabular} |
63 \end{center} |
73 \end{center} |
64 |
74 |
65 \end{frame} |
75 %\tiny |
66 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
76 %developed since 2004 bv Martin Odersky |
|
77 %picture about assignments |
|
78 |
|
79 \begin{textblock}{6}(0.5,0.5) |
|
80 \includegraphics[scale=0.035]{../pics/assign.jpg}\\[-1mm] |
|
81 \end{textblock} |
|
82 |
|
83 \end{frame} |
|
84 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
85 |
|
86 |
67 |
87 |
68 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
88 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
69 % \begin{frame}[c] |
89 % \begin{frame}[c] |
70 % \frametitle{Preliminary 6} |
90 % \frametitle{Preliminary 6} |
71 |
91 |
79 % \end{itemize} |
99 % \end{itemize} |
80 % \end{frame} |
100 % \end{frame} |
81 |
101 |
82 |
102 |
83 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
103 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
84 |
|
85 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
86 \begin{frame}[c,fragile] |
|
87 |
|
88 \begin{lstlisting}[language=Scala, numbers=none, xleftmargin=-1mm] |
|
89 def collatz(n: Long) : Long = |
|
90 { |
|
91 val toReturn = collatzHelper(n, 0) |
|
92 toReturn |
|
93 } |
|
94 \end{lstlisting} |
|
95 |
|
96 \pause |
|
97 \bigskip |
|
98 \rule{11cm}{0.3mm} |
|
99 \bigskip |
|
100 |
|
101 \begin{lstlisting}[language=Scala, numbers=none, xleftmargin=-1mm] |
|
102 def collatz(n: Long) : Long = |
|
103 collatzHelper(n, 0) |
|
104 \end{lstlisting} |
|
105 |
|
106 \end{frame} |
|
107 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
108 |
104 |
109 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
105 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
110 \begin{frame}[c,fragile] |
106 \begin{frame}[c,fragile] |
111 \frametitle{Default Arguments} |
107 \frametitle{Default Arguments} |
112 |
108 |
406 \includegraphics[scale=0.35]{../pics/commits.png} |
402 \includegraphics[scale=0.35]{../pics/commits.png} |
407 \end{textblock} |
403 \end{textblock} |
408 |
404 |
409 \end{frame} |
405 \end{frame} |
410 |
406 |
|
407 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
408 { |
|
409 \setbeamercolor{background canvas}{bg=cream} |
|
410 \begin{frame}[c] |
|
411 \frametitle{\mbox{}\hspace{40mm}\textbf{Feedback in |
|
412 \textcolor{red}{\underline{CFL}!}}} |
|
413 |
|
414 \begin{minipage}{1.3\textwidth} |
|
415 \begin{mybox3}{End-of-year feedback for 6CCS3CFL in 2019}\it\small |
|
416 Unequivocally the worst module I've taken on this course. The subject |
|
417 matter is fascinating, however the insistence on the use of this |
|
418 abomination of a language "Scala" completely ruins it. If you're going |
|
419 to teach something as complex as this, use a proper language, not some |
|
420 "object oriented functional" abomination. Use C, you know, the |
|
421 language that real compilers are written in. I will go to the end of |
|
422 the earth to dissuade others from taking this module so long as Scala |
|
423 is still being used.\\ |
|
424 \mbox{}\hfill-- Lone voice in the end-of-year feedback in 2019 |
|
425 \end{mybox3} |
|
426 \end{minipage}\bigskip |
|
427 |
|
428 \end{frame} |
|
429 } |
|
430 |
|
431 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
432 {\definecolor{rred}{HTML}{C0504D} |
|
433 \setbeamercolor{background canvas}{bg=cream} |
|
434 \begin{frame}[c] |
|
435 \frametitle{Students in CFL} |
|
436 |
|
437 \begin{center} |
|
438 \begin{tikzpicture} |
|
439 \begin{axis}[symbolic x coords={2016,2017,2018,2019,2020,2021,2022,2023}, |
|
440 width = \textwidth, |
|
441 height = 5cm, |
|
442 bar width=8mm, |
|
443 nodes near coords, |
|
444 axis lines = left, |
|
445 text=black, |
|
446 ymin=0, |
|
447 clip=false, |
|
448 hide y axis, |
|
449 axis line style={-}, |
|
450 name=mygraph |
|
451 ] |
|
452 |
|
453 \addplot[ybar,style={rred,fill=rred!75,mark=none},text=black] coordinates { |
|
454 (2023,183) |
|
455 (2022,112) |
|
456 (2021,98) |
|
457 (2020,59) |
|
458 (2019,38) |
|
459 (2018,20) |
|
460 (2017,22) |
|
461 (2016,8)}; |
|
462 \end{axis} |
|
463 \node[anchor=north, yshift=-10mm] at (mygraph.south) {\small{}Student numbers since the start of the compiler module.}; |
|
464 |
|
465 \end{tikzpicture} |
|
466 \end{center} |
|
467 |
|
468 \begin{textblock}{5}(12, 2.5) |
|
469 \includegraphics[scale=0.15]{../pics/cfl.png}\\ |
|
470 \hspace{5mm}2021 |
|
471 \end{textblock} |
|
472 |
|
473 \begin{textblock}{5}(12, 9) |
|
474 \includegraphics[scale=0.15]{../pics/cfl2021.png}\\ |
|
475 \hspace{5mm}2022 |
|
476 \end{textblock} |
|
477 \end{frame} |
|
478 } |
|
479 |
|
480 |
|
481 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
482 { |
|
483 \setbeamercolor{background canvas}{bg=cream} |
|
484 \begin{frame}[c] |
|
485 |
|
486 \mbox{}\\[-4mm] |
|
487 |
|
488 \begin{minipage}{1.3\textwidth} |
|
489 \begin{mybox3}{One comment from this year}\it\small |
|
490 I feel like the module's point is to help us experience what it is |
|
491 like to program very challenging problems, it's not very realistic |
|
492 as in a realistic scenario we would have access to the internet, and |
|
493 other people's code and may collaborate. I feel like the point of |
|
494 the module is taken away due to how the plagiarism and collusion |
|
495 rules are put into place. |
|
496 \end{mybox3} |
|
497 \end{minipage}\smallskip |
|
498 |
|
499 \begin{minipage}{1.3\textwidth} |
|
500 \begin{mybox3}{Another comment from this year}\it\small |
|
501 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 |
|
502 \end{mybox3} |
|
503 \end{minipage}\smallskip |
|
504 |
|
505 \begin{minipage}{1.3\textwidth} |
|
506 \begin{mybox3}{Even another comment from this year}\it\small |
|
507 The coursework is too difficult. |
|
508 \end{mybox3} |
|
509 \end{minipage} |
|
510 |
|
511 |
|
512 |
|
513 \end{frame} |
|
514 } |
|
515 |
|
516 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
517 { |
|
518 \setbeamercolor{background canvas}{bg=cream} |
|
519 \begin{frame}[c] |
|
520 |
|
521 \begin{itemize} |
|
522 \item we reduced the amount of work this year and gave more time for C++ CW |
|
523 \item we recruited TA's for\bigskip |
|
524 |
|
525 installation problems: |
|
526 \begin{itemize} |
|
527 \item Oscar Sjostedt (\texttt{\small{}oscar.sjostedt@kcl.ac.uk}) |
|
528 \item Nicole Lehchevska (\texttt{\small{}nicole.lehchevska@kcl.ac.uk})\bigskip |
|
529 \end{itemize} |
|
530 github problems: |
|
531 \begin{itemize} |
|
532 \item Quan Tran (\texttt{\small{}anh.tran@kcl.ac.uk})\bigskip |
|
533 \end{itemize} |
|
534 discussion forum / general problems: |
|
535 \begin{itemize} |
|
536 \item Ruben Ticehurst-James (\texttt{\small{}ruben.ticehurst-james@kcl.ac.uk}) |
|
537 \end{itemize} |
|
538 \end{itemize} |
|
539 |
|
540 \only<2->{ |
|
541 \begin{textblock}{7}(9, 8) |
|
542 \textcolor{red}{\Large\bf Could you |
|
543 please spend the next 10 mins to fill |
|
544 out the end-of-year feedback.} |
|
545 \includegraphics[scale=0.035]{thanks.png} |
|
546 \end{textblock}} |
|
547 |
|
548 \end{frame} |
|
549 } |
|
550 |
411 |
551 |
412 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
552 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
413 |
553 |
414 |
554 |
415 \end{document} |
555 \end{document} |