Note: For this lab, you can work together in teams of up to 4 students. However, this is not a necessity. The assignment is small enough to do it alone in which case you may get more experience. You can use Piazza to find team members and discuss problems.
You will need a Java Development Kit (JDK) and a Java IDE (any text editor should do as well).
Many environments have the property that there are several paths that lead to the same state.
The Java project for the lab can be found on Skel. See, instructions below on how to get it.
The project contains a State class that could be thought of implementing a state of some robot. The state consists of a position, an orientation and a boolean holding the information of whether or not the robot is turned on. The project also contains code to test how good the hashCode() method of the State class is. To run the tests simply run the Main class or use “ant run” on the terminal.
s1
and s2
that you'd consider the same, s1.equals(s2)
must return true and false otherwise.o1
and o2
, if o1.equals(o2)
then o1.hashCode() == o2.hashCode()
must be true!Connect to skel.ru.is using your favorite ssh client and unpack the assignment into your home directory by running the following commands:
[student14@skel ~]$ tar xvf /labs/arti16/lab2/lab2.tar [student14@skel ~]$ cd arti16/lab2 [student14@skel hw1]$ ls answers build.xml dist Makefile questions src
You can copy the code to your own machine for development by using any SCP or SFTP client (e.g., WinSCP). However, you need to copy it back to skel before handing in.
To answer the questions run make answers
while being in the directory containing Makefile
.
Single answers will be put into files called answers/answerX.Y.txt
, which you can also edit.
Finally, to hand in your answers run make handin
while being in the directory containing Makefile
.
This should produce a file ``/labs/art16/.handin/lab2/student14/handin.tar.gz''. You can check if it exists using the ls command.