Please read the following carefully. Please note that details here may be updated, and you should re-read this information as you get closer to the exam time.

The final exam will take place on-campus in various linux computer labs. The exam is 3 hours long, plus 15 minutes reading time. You will have access to Intellij. It is a closed book exam.

Materials (2024-S1): You can bring a single sheet of A4 paper with notes on both sides. No other materials are permitted.

You will have access to Java documentation one way or another.

Internet access will be restricted, and you will only be able to access (and possibly the Java documentation site, depending on how we arrange it). You will have your exam paper pre-forked onto your user account on exam-gitlab. You will need to clone this in Intellij and commit and push back changes to exam-gitlab.


You will have to use one of the linux lab computers. You will not be permitted to bring your laptop. You will need your ANU creditials (UID and password) to sign in to the lab computers and to access your account on the exam-gitlab instance. Make sure you can login to the lab computers and are familiar with the use of Intellij. Do this in the days leading up to the exam so that any issues can be resolved.

The ANU occasionaly might require that you change your password. Make sure you can login to To be safe, check you can log in the morning of the exam. There are instances where student passwords expired overnight and they weren’t aware.

Exam Instructions#

More details on how the exam will run will follow as some finer details are resolved. Please see back here at a later date.

Entering the Room#

When you enter the room and sit down at a desk, you may log into your lab computer. You can do this prior to the start of the exam, but you MUST NOT run any applications. You should leave it on a blank desktop until reading time formally starts.

Reading Time#

During the reading time you may clone the exam project in Intellij and browse it there or on exam-gitlab. However, you MUST NOT be writting any code or answering questions, just reading and planning out your approach. You may take notes on the provided scribble paper. Make sure you understand the provided exam instructions.

The exam will be “pre-forked” under your username on gitlab. You won’t need to fork it again, rather directly clone it to your lab machine.

Exam Time#

When reading time finishes you may start coding and answering the exam questions in Intellij. Be sure to remember to commit and push your code regularly. Whenever you complete a question or part of a question is a good idea. Please do not push broken builds. Ensure that everything is building before pushing a commit. We will only mark the last push received before the deadline.

The CI will not be running during the exam. If you see an error in relation the CI on gitlab, don’t worry about it. We will trigger it separately and run the CI on all your submissions after the exam.

Oral Examinations#

All assessment in this course may be subject to an oral examination. As part of the final exam, we may select a subset of students for followup oral examination, consisting of a small number of questions aiming to confirm their exam mark. If the convenor is not satisfied with the outcome of this oral examination, this may result in reduction of exam mark, failure of the final exam, and/or an investigation under ANU’s academic integrity rules.

Deferred examination#

If you are unable to sit the final exam on the designated exam date - for example, due to illness - you must apply for deferred examination. To do so, read and follow the instructions at Please note that applications for deferral are decided by the exams office, not the course convenors, who are only informed if your application is approved.

Sample Exams#

We have provided several sample exams, which you can use to practice with a similar format to the final exam. The number and weighting of questions and the material covered for the final exam may be different from the sample exam.

bars search caret-down plus minus arrow-right times arrow-up