cws/cw02.tex
changeset 79 2d57b0d43a0f
parent 74 fb2d8012ed08
child 86 f8a781322499
--- a/cws/cw02.tex	Wed Nov 30 10:07:05 2016 +0000
+++ b/cws/cw02.tex	Thu Dec 01 17:08:02 2016 +0000
@@ -20,9 +20,10 @@
 backtracking. The first part is due on 23 November at 11pm; the
 second, more advanced part, is due on 30 November at 11pm. You are
 asked to implement Scala programs that solve various versions of the
-\textit{Knight's Tour Problem} on a chessboard. Make sure the files
-you submit can be processed by just calling \texttt{scala
-  <<filename.scala>>}.\bigskip
+\textit{Knight's Tour Problem} on a chessboard. Note the second part
+might include material you have not yet seen in the first two
+lectures.  Make sure the files you submit can be processed by just
+calling \texttt{scala <<filename.scala>>}.\bigskip
 
 \noindent
 \textbf{Important:} Do not use any mutable data structures in your
@@ -260,12 +261,17 @@
   \]
 
   \noindent That is, we want to find the first position where the
-  result of $f$ is not \texttt{None}, if there is one.\mbox{}\hfill[1 Mark]
+  result of $f$ is not \texttt{None}, if there is one. Note that you
+  do not (need to) know anything about the function $f$ except its
+  type, namely \texttt{Pos => Option[Path]}. There is one additional
+  point however you should take into account when implementing
+  \textit{first}: you will need to calculate what the result of $f(x)$
+  is; your code should do this only \textbf{once}!\\\mbox{}\hfill[1 Mark]
   
 \item[(2b)] Implement a first-tour function that uses the
   first-function from (2a), and searches recursively for an open tour.
   As there might not be such a tour at all, the first-tour function
-  needs to return an \texttt{Option[Path]}.\hfill[2 Marks]
+  needs to return an \texttt{Option[Path]}.\\\mbox{}\hfill[2 Marks]
 \end{itemize}
 
 \noindent