diff -r ef37fb04a343 -r 0f1b97538ad4 cws/core_cw02.tex --- 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}