236
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
1 |
\usepackage{xcolor}
|
399
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
2 |
%%\usepackage{fontspec}
|
236
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
3 |
\usepackage[sc]{mathpazo}
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
4 |
\usepackage{fontspec}
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
5 |
\setmainfont[Ligatures=TeX]{Palatino Linotype}
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
6 |
\usepackage{amssymb}
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
7 |
\usepackage{amsmath}
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
8 |
\usepackage{menukeys}
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
9 |
\definecolor{darkblue}{rgb}{0,0,0.6}
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
10 |
\usepackage[colorlinks=true,urlcolor=darkblue,linkcolor=darkblue]{hyperref}
|
618
|
11 |
\usepackage{soul}
|
743
|
12 |
\usepackage{marginnote}
|
|
13 |
\usepackage{fontawesome5}
|
236
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
14 |
|
400
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
15 |
%%% for regular expressions and values
|
398
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
16 |
\newcommand{\ZERO}{\mbox{\bf 0}}
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
17 |
\newcommand{\ONE}{\mbox{\bf 1}}
|
400
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
18 |
\newcommand{\Left}{\textit{Left}}
|
669
|
19 |
\newcommand{\Right}{\textit{Right}}
|
433
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
20 |
\newcommand{\Der}{\textit{Der}}
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
21 |
\newcommand{\der}{\textit{der}}
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
22 |
\newcommand{\Ders}{\textit{Ders}}
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
23 |
\newcommand{\ders}{\textit{ders}}
|
669
|
24 |
\newcommand{\inj}{\textit{inj}}
|
|
25 |
\newcommand{\nullable}{\textit{nullable}}
|
398
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
26 |
|
327
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
27 |
%%% for trees
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
28 |
%% http://anorien.csc.warwick.ac.uk/mirrors/CTAN/graphics/pgf/contrib/forest/forest.pdf
|
295
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
29 |
|
239
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
30 |
\newcommand\grid[1]{%
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
31 |
\begin{tikzpicture}[baseline=(char.base)]
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
32 |
\path[use as bounding box]
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
33 |
(0,0) rectangle (1em,1em);
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
34 |
\draw[red!50, fill=red!20]
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
35 |
(0,0) rectangle (1em,1em);
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
36 |
\node[inner sep=1pt,anchor=base west]
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
37 |
(char) at (0em,\gridraiseamount) {#1};
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
38 |
\end{tikzpicture}}
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
39 |
\newcommand\gridraiseamount{0.12em}
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
40 |
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
41 |
\makeatletter
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
42 |
\newcommand\Grid[1]{%
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
43 |
\@tfor\z:=#1\do{\grid{\z}}}
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
44 |
\makeatother
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
45 |
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
46 |
\newcommand\Vspace[1][.3em]{%
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
47 |
\mbox{\kern.06em\vrule height.3ex}%
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
48 |
\vbox{\hrule width#1}%
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
49 |
\hbox{\vrule height.3ex}}
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
50 |
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
51 |
\def\VS{\Vspace[0.6em]}
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
52 |
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
53 |
|
743
|
54 |
%%% url pointers
|
|
55 |
\newcommand{\here}[1]{\marginnote{\href{#1}{\faHandPointRight[regular]}}}
|
|
56 |
\newcommand{\video}[1]{\marginnote{\href{#1}{\faFilm}}}
|
|
57 |
\newcommand{\alert}{\reversemarginpar\marginpar{\mbox{}\hfill\textcolor{red}{\faExclamationTriangle}}}
|
|
58 |
|
|
59 |
|
239
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
60 |
\newcommand{\dn}{\stackrel{\mbox{\scriptsize def}}{=}}
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
61 |
\newcommand{\defn}[1]{\textit{\textbf{#1}}}
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
62 |
\newcommand{\dq}[1]{\mbox{\tt{"}}#1\mbox{\tt{"}}}
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
63 |
|
236
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
64 |
\definecolor{codegray}{gray}{0.9}
|
331
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
65 |
|
395
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
66 |
\makeatletter
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
67 |
\def\fnote{\gdef\@thefnmark{}\@footnotetext}
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
68 |
\makeatother
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
69 |
|
331
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
70 |
\newcommand{\HEADER}{{\bf Please submit your solutions via email. Please submit
|
743
|
71 |
only PDFs! Every solution should be preceeded by the corresponding
|
461
|
72 |
question text, like:
|
347
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
73 |
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
74 |
\begin{center}
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
75 |
\begin{tabular}{ll}
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
76 |
Q$n$: & \ldots a difficult question from me\ldots\\
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
77 |
A: & \ldots an answer from you \ldots\\
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
78 |
Q$n+1$ & \ldots another difficult question\ldots\\
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
79 |
A: & \ldots another brilliant answer from you\ldots
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
80 |
\end{tabular}
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
81 |
\end{center}
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
82 |
|
438
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
83 |
\noindent Solutions will only be accepted until 20th December! Please send only
|
394
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
84 |
one homework per email.}\bigskip}
|
403
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
85 |
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
86 |
\newcommand{\POSTSCRIPT}{
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
87 |
{\bf (Optional)} This question is for you to provide
|
416
|
88 |
regular feedback to me: for example
|
|
89 |
what were the most interesting, least interesting, or confusing
|
|
90 |
parts in this lecture? Any problems with my Scala code? Please
|
618
|
91 |
feel free to share any other questions or concerns. Also, all my
|
|
92 |
material is \st{crap} imperfect. If you have any suggestions for
|
743
|
93 |
improvement, I am very grateful to hear.\medskip
|
|
94 |
|
|
95 |
If *you* want to share anything (code, videos, links), you are
|
|
96 |
encouraged to do so. Just drop me an email.}
|
719
|
97 |
|
|
98 |
|
|
99 |
% CW deadlines
|
|
100 |
\def\cwONE{11 October}
|
|
101 |
\def\cwTWO{4 November}
|
|
102 |
\def\cwTHREE{22 November}
|
|
103 |
\def\cwFOUR{11 December}
|
|
104 |
|
|
105 |
\def\cwISABELLE{11 December}
|