--- a/cws/core_cw02.tex Mon Nov 10 16:24:46 2025 +0000
+++ b/cws/core_cw02.tex Thu Nov 13 17:44:58 2025 +0000
@@ -9,7 +9,7 @@
%% should ask to lower case the words.
-\section*{Core Part 2 (Scala, 3 Marks)}
+\section*{Core Part 2 (Scala, 1.5 Marks)}
\mbox{}\hfill\textit{``What one programmer can do in one month,}\\
\mbox{}\hfill\textit{two programmers can do in two months.''}\smallskip\\
@@ -66,7 +66,7 @@
\newpage
-\subsection*{Core Part 2 (3 Marks, file docdiff.scala)}
+\subsection*{Core Part 2 (1.5 Marks, file docdiff.scala)}
It seems plagiarism---stealing and submitting someone
else's code---is a serious problem at other
@@ -87,7 +87,7 @@
\texttt{\textbackslash{}w+} for recognising words and the library function
\texttt{findAllIn}. The function should return a document (a list of
strings).
- \mbox{}\hfill\mbox{[0.5 Marks]}
+ \mbox{}\hfill\mbox{[0.25 Marks]}
\item[(2)] In order to compute the overlap between two documents, we
associate each document with a \texttt{Map}. This Map represents the
@@ -108,7 +108,7 @@
\pcode{occurrences(List("d", "b", "d", "b", "d"))}
\end{center}
- produces \pcode{Map(d -> 3, b -> 2)}.\hfill[1 Mark]
+ produces \pcode{Map(d -> 3, b -> 2)}.\hfill[0.5 Marks]
\item[(3)] You can think of the Maps calculated under (2) as memory-efficient
representations of sparse ``vectors''. In this subtask you need to
@@ -130,7 +130,7 @@
\underbrace{1 * 3}_{"d"} \qquad = 7
\]
- \hfill\mbox{[1 Mark]}
+ \hfill\mbox{[0.5 Marks]}
\item[(4)] Implement first a function that calculates the overlap
between two documents, say $d_1$ and $d_2$, according to the formula
@@ -147,7 +147,7 @@
two strings, by first extracting the substrings using the clean
function from (1)
and then calculating the overlap of the resulting documents.\\
- \mbox{}\hfill\mbox{[0.5 Marks]}
+ \mbox{}\hfill\mbox{[0.25 Marks]}
\end{itemize}