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 be distributed via GitLab, using the RSCS exam GitLab server. The exam will be similar in style to the exam from Semester 1, 2020, which is available as a practice exam.

Self Invigilation

The exam will be self-invigilated. You should create a screen recording of your entire exam (details below), including a webcam image of you and an ID card. Note that this process is encouraged, but not required. You will not be asked to pass your recording on to ANU. You should keep your recording safely for one month. If the ANU should raise any concerns about the integrity of the work you did during the exam, you will have the option to submit your screen recording as evidence to support your case.

What You Need To Do In The Weeks Before the Exam

Before the exam, you need to make sure all of your software is working correctly, that you know how to do screen recordings, can capture a live view on your webcam while doing a screen recording, and can do the practice exam and use the CI correctly.

  1. Ensure you have a working home setup for the course including IntelliJ, Java, JavaFX, and Git.
  2. Ensure you can access your ANU GitLab account.
  3. Find screen recording software that you trust works well on your computer. Test it, and make sure you can successfully record the whole of your screen. Some options:
    • Quicktime is built into MacOS and allows you to easily do a screen recording. Instructions from Apple here. Note that for Mojave and later, you can bring up the screen recording with the hotkey Shift+Command+5, described here.
    • Free Cam is an application for Windows that provides very similar features to Quicktime. There are instructions on how to use Free Cam here.
    • VLC is a widely used open source application for Windows, MacOs, and Linux. VLC supports screen recordings as described here.
    • OBS is an industrial-strength recording platform for Linux, Windows and MacOS. It does far more than screen recording (I use it to stream our lectures), and is somewhat more complex than the above options. It is free and has good online support. Instructions on how to do a screen recording with OBS are here.
    • Nvidia’s ShadowPlay is a simple way to record your whole desktop if you are using Windows and have a supported Nvidia graphics card. Here’s a youtube video explaining how to do it.
    • AMD offers similar software if you are using a supported AMD graphics card. Details from AMD here.
  4. Ensure that you have a working webcam and bring up a live view of your face, and your ID card, while recording. Ensure that this works, so that your screen recording can include a live view of you and your ID (if you don’t have an ANU ID you should use your driver’s license or passport).
  5. Familiarize yourself with the practice exam, and do as many questions as you can.
  6. Ensure that you can run the unit tests in the practice exam.
  7. Ensure that the CI is working correctly in the practice exam.
  8. Try doing some questions with your screen recording going to ensure that it captures your work. Include a brief live view with your webcam and ID at the start of the recording. Be sure to stop your screen recording at the end and check the saved file has captured things correctly. Ensure that your recording contains your whole screen and your webcam live view at the start.

What You Need To Do The Morning Of The Exam

On the morning of the exam, we will run an important technical check (from 11:00-12:00am on the morning of the exam). The check is optional, but very strongly encouraged. It should only take you a few minutes, but it is very important, as it will greatly reduce the chances of you having a technical problem during the final exam.

  1. Start your screen recording. Use your webcam to show your face and your ANU ID or your license or passport.
  2. Log on to Piazza and check for announcements there.
  3. Log on to Zoom (link will be provided on Piazza). Listen for annoucements there.
  4. Clone your copy of the final exam into IntelliJ. You will gain access to a private GitLab repository in the Exam GitLab server, named (where you replace your-uid with your actual UID). No student has access to their exam gitlab server outside of the designated times. The repo will have the exam instructions in it and a simple safety check question in it (HelloWorld). It will not have the exam questions in it. Do not change the name of this repo.
  5. Complete the simple HelloWorld safety check question, which should only take a minute or two. Check that the unit test runs correctly in IntelliJ. Complete the simple multiple-choice questions. Commit and push your work. Check the exam-gitlab web page to ensure that your push was successful. Check the CI on the exam-gitlab web page and ensure that it correctly graded your safety check questions (it may be slow, so you may have to wait). These two questions are not worth any marks, and are only there so that you can test that the technology is working correctly.
  6. Stop your full screen recording and review the recording to determine whether it worked correctly.

If you have any problems completing the above, you will be able to ask for help from tutors, and we will help you fix any technical issues you may have. Please follow instructions in Piazza on how to ask for help. Because this is done well before the exam, it should be a relatively painless way to minimize the chances of any problem in the actual exam.

What You Need To Do During The Exam

  1. Make yourself comfortable and power down all communication channels, besides the class Piazza forum and the exam zoom session (details will be made available before the exam).
  2. Start your full screen recording now.
  3. Open the exam in IntellJ (you should have cloned it earlier in the day, see above). Note: If you did not do the technical check, you will need to clone your exam now (your repo will be on the Exam GitLab server, named
  4. Log on to Piazza and be sure to follow instructions there.
  5. Connect to the Zoom session (instructions will be on Piazza) and listen for the exam start announcement.
  6. As soon as the exam starts (but not before), do a pull on your exam repo. The pull will fetch all of the exam questions and the tests for them.
  7. Take time to carefully read the file in the exam and to read over each question. There is no need to spend exactly 15 minutes reading, but we have allowed 15 minutes of reading time for you.
  8. Complete the exam. Commit your work regularly, and push whenever you’ve completed a question.
  9. It is your responsibility to watch your time and finish on time. However, we will provide you with aural annoucements on Zoom, just as you might hear in an real-life exam room.
  10. Five minutes before you finish the exam, check again that you’ve committed and pushed all of your work. As soon as the exam time completes, you will not be able to push. The last commit that you push to GitLab before the end of the exam will be used for marking. Any commits pushed after the end time of the exam will be blocked and will not count towards your exam mark. You may commit and push as many times as you wish during the exam time; only the final commit prior to the deadline will be marked.
  11. At the end of the exam, stop your screen recording, save it, check it, and keep it in a safe place for one month. Do not send it to ANU or add it to your repo.

Exam Do’s and Don’ts

  • Do not submit your video recording. This file stays private to you, unless we have a specific reason to request this file from you.
  • Do not post to Piazza visible to all during the exam - ever.
  • Feel free to ask question directly posting to “Instructors” on Piazza
  • The exam is designed so that you do not need to consult any material, but if you feel the urge to look up something on your computer, this is fine.
  • Do not use any communication system (other than direct posts on Piazza to Instructors and the class exam zoom) during your exam - if you do, it will be counted immediately as collusion and will have serious academic honesty consequences.
  • Do not upload any material anywhere (other than pushing work to the exam server). If you do so, you will also become part of an academic collusion case which will stay on your permanent record at the ANU.
  • Be very very careful searching for any material on-line. If you find yourself seeing references to material which might be the result of collusion (which hopefully will not exist), you are one click away from becoming part of a serious academic honesty case yourself. Remember that any of your activity must appear in your recording, and according to basic academic standards, we also expect you to reference in your pdf file anything which you might have included in your working. You will likely waste valuable time for your exam and expose yourself to serious risks, so we recommend to defer from doing so.

Finally: This is easier than it sounds and we provided plenty of time to do your exam. So, take your time and formulate neat and precise answers on your path to a great grade.

Oral Examinations

All assessment in this course may be subject to an oral examination. As part of the final exam, we will 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.

Any student who is unable to complete the final exam on the designated date of the exam - for example, due to illness or technical difficulties accessing the exam - will sit an examination at a later date.

Sample Exam

We have provided a sample exam, which you can use to practice with the format that will be used for the final exam. The number of weighting of questions and the material covered for the final exam may be different from the sample exam. Please note that Question 2 (Awk) of the practice exam depends on you knowing Java NIO which we did not teach. So you should not expect to be able to do Question 2 of the sample exam.

Updated:    15 Jan 2021 / Responsible Officer:    Head of School / Page Contact:    Josh Milthorpe