Handout 1: pdf
Handout 2: pdf
This describes the first assessed exercise
Handout 3: pdf
This describes the second assessed exercise. The base code to develop your solution from is available in this directory: Expression. For ease of downloading, this directory is archived into a single zip file Expression.zip. Note that these files are now inside a java Package called Expression. This means that the ".java" source files must be inside a directory called Expression and you compile and run the program by changing directory to the one that contains the Expression directory and running the commands (on Unix)
javac Expression/Main.java
java Expression/Main
Note that I have made some minor changes to the Expr class hierarchy (notably in the draw method) that will make this exercise somewhat easier.
You may find this hint on rubber banding and XOR drawing useful.
Note that due to the unannounced problems with the access to the building over the weekend of 16th to 18th November, the deadline for the 2nd assessed exercise has been postponed by one week to Tuesday 27th November. As usual, paper submission must be by 10am.
IMPORTANT: there is an extra part that has now been added to this exercise. You should draw a conceptual class diagram of all the classes and relationships in your solution. This class diagram should fit on a single A4 sheet and can be drawn on paper by hand or using a drawing program on computer but should be neat and clearly labelled. The diagram will be inspected during the Viva on Tuesday 27th Nov AND must be submitted with your paper submission by 10am of the same day. Therefore you will probably need 2 copies of your class diagram.
Handout 5: pdf
This describes the third assessed exercise. The sample program and the data files mentioned in the handout are available from here. For convenience of downloading, I have archived them together into a single zip file Ex3Prep.zip. Note that the good an bad xml files (*.rml) contain comments that describes exactly what they are intended to test.
Handout 6: pdf
Note this fixes a few important typos in the first version that was distributed during the lecture: get this updated version from the library.
This discusses a few problems that a number of students have been having some difficulty with: Aliasing, Cloning and Equality testing.