General instructions for programming labs

Code structure

During each task, you will write a Java class called ExerciseX.java, where X is the task number. This class should implement the appropriate IExerciseX.java interface provided to you. Please do not modify it or your code will not pass the tick. This may be slightly different to how you have used interfaces before, and it is important to note that your code should not be structured around this interface, but should be structured in a way that makes it flexible. You can submit multiple .java files. You must submit them as individual files, not a .jar.

Do not edit any of the data files. The tester assumes you are using the versions supplied.

Please don't submit the files you downloaded from the Moodle, such as the IExerciseX.java files. Do not submit any text files - this will cause compilation failure.

You are advised to wait until after the lecture to start the practical, because there is no guarantee that everything will be obvious from the material available online before the lecture: even if your code passes the automated assessment, you may fail to satisfy the demonstrator and hence not get the tick.

Make sure you saved your own copies of all the submission file. If your solution re-uses your code from previous practicals, you will have to re-submit the appropriate files.

Package

Please include your CRSid in the name of the package with your solution.

Testers

You can use the provided ExerciseXTester.java to test your code. This code is structured around the practical instructions and can help you figure out what the next step in the practical should be. You don't have to upload it, feel free to modify it. Before you use it, please make sure to replace the package in the import statement for ExerciseX with your own. The resources for Tasks 1 and 6 include files Data Preparation1.java and Data Preparation6.java respectively. The testers use these to load the data so make sure you download them if you want to use the tester code.

Ticking

Once your code has successfully passed the automatic tester, you may write your name on the whiteboard to let the demonstrator know you are ready to get your tick. You may start work on the next task before obtaining the tick if your assigned demonstrator is busy, or work on a starred tick. In most cases, the aim is to complete the assigned task in one session (one or two of the tasks may take longer), but it is unlikely to be possible for everyone to get their ticks in that session.

You may be asked to run your code through the tester again. The demonstrator will also want to see your lab book.

Announcement forum

Any important announcements about the practicals will be sent to this forum. Please make sure you monitor it. Posting is restricted to staff, everyone is subscribed.

Help forum

You may post requests for help here (anonymously if you like). This may also be used for reporting infelicities in the practicals.

The intention is that students get help with the practicals from the demonstrators during the timetabled sessions. The Help forum is primarily to allow you to get help from fellow students after the sessions. It will also be monitored by demonstrators for people who have to miss all or part of the session for some reason.

If you do help someone, short code snippets are fine, but please don't post complete solutions!

Demonstrators have been instructed not to respond to email about the course. If you have serious problems, your supervisor may be able to help. You may also contact one of the lecturers or talk to your DoS, of course.

Missing ticks and missing sessions

All students are expected to complete all assessed work. The penalties for failure to complete ticks by the formal deadline are serious.

If we think you are falling behind with ticks, we will contact you for an explanation and may contact your DoS.

You will be able to see a record of your ticks on the VLE if you like. The automated tester will give a score of 0.5 (except for one session where there is no automated tester). The full ticks will be uploaded after the end of the session when the tick was awarded. Please let one of the lecturers know if a tick you think you have been awarded does not appear by the following session.

The automatic tester for each task will have a deadline. If you have not completed the work by the deadline, you will need to contact aac10 in order to be able to submit your work and obtain the tick.

Please notify aac10 if you will be absent for multiple sessions. This is in addition to notifying your college.

FAQ

For some tasks, the tester checks parameter values. If you look at pseudocode from online sources, you should be aware that there may well be differences in the algorithm compared to the ones we are teaching and that such code may not pass the tester. The tester assumes natural logs.