There will be a short mid-semester exam in week 7. The exam will run for 45 minutes. It will be marked out of 20 and worth 5 marks towards your final assessment. It is redeemable.
The exam may cover material up to and including the end of Week 5.
The exam will be run virtually (details to be provided on Piazza). You will be provided with the URL of a special exam gitlab server, where you will find a repo already forked into your account, called comp1110-mse. The exam will be open-book, which means you may use resources such books, course notes, and web search. However, you must complete the exam entirely on your own. If you seek assistance from another person you will have violated the ANU examination rules and may be subject to academic misconduct penalties.
Setup and technical check #
We will make the exam server available during your labs in week 7. During this time, you should clone the exam repository onto the computer that you will be using during the exam (typically, your own). Please read the notes for the final exam on what you will need to complete the exam, including for self-invigilation.
At this time, the repository will only contain a simple HelloWorld test
problem, which you should complete and push to ensure everything is working.
If you encounter any technical problems during the week leading up to the
exam, you should seek help from the tutors.
Access to the exam repository will close after the last lab of the week (at noon on Thursday), and will then only reopen at the start of the exam. At the start of the exam, you should pull from the repository to update your local clone with the actual exam questions. As you complete the exam, you must push your work to the repository. Only solutions that are pushed to the repository before the end of the exam will be marked.
Self Invigilation #
The problems with online proctoring are discussed in the popular press and academia. We therefore will not use such technology in this course. However, academic integrity is paramount.
For this reason, we provide you with the opportunity to self-invigilate. If you wish to do this, 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 required to pass your recording on to ANU. You should keep your recording safely for one month. If we raise any concerns about the integrity of the work you submitted for the exam, you will have the option to submit your screen recording as evidence to support your case.
Preparing for the Exam #
Please see the notes for the final exam for tips on how to prepare, including information on how to set up self-invigilation.
The exam will consist of four short coding questions of varying levels of difficulty. You will be provided with unit tests in IntelliJ and a CI. Your solutions will be tested automatically, using only the code that you successfully push to the server.
Each student’s repository will include four short coding questions. Each of the questions will be marked out of five. The final exam mark will be divided by four to give a final mark out of five. The questions will not be of equal difficulty; they will be progressively more difficult. Be sure to use your time wisely.
If you miss the exam or do poorly, you may redeem the marks from the final exam, E, using the formula: X = max(M/4, E/20)
Sample Exam #
The exam will be similar in style to the exam from Semester 2, 2020, which is available as a practice exam. A sample exam from 2019 is also available. This sample exam is based on the 2018 exam, and is 30 mins long. The material covered by the sample exam and its level of difficulty will be similar to your 2022 S2 exam, although your exam will not have any multiple choice questions.
Things to note:
- For the practice exams, you will need to fork the repo in order to get the template code and the tests. In the real exam, you will not have to fork your repo, but you will need to clone it into IntelliJ.
- You will be marked according to only what you commit and push. It is therefore essential that you push your work before you finish. It is possible that due to load the CI won’t finish before the end of the exam. That won’t affect your mark. You will be marked according to what you pushed before the end, not according to when the CI runs.
- The code you submit for the exam will be entirely auto-tested, so:
- Your code must pass the tests.
- You need to ensure that the code that you push is correct and complete.
For example, each class starts with
package comp1110.mse;; if you delete this from the file that you push, your code will not compile and will be marked as non-functional (i.e., zero).