Organization
- Date:: December 13th, 8am
- Duration: 1h (+20 minutes for students with extra time)
- Place: the evaluation will be carried out on a physical machine with exam-specific accounts.
- Scoring: the result of the evaluation will count for 25% of the final grade
Scope
The exam is meant to evaluate your basic skills and knowledge with respect to the Java programming language and environment.
The subjects on which you will be challenged are covered in the course (see slides in the Overview
section), in the Exercises
labs (threads and networking), and in the videos.
The exam will have two parts:
- Quiz on moodle (20-30 minutes): you will have to answer questions related to the java language and the JVM.
- Hands-on java programming (30-40 minutes): you will have to modify a small existing code base to make it pass some predefined unit tests.
Notes: as it will be carried out on exam-specific accounts you will not have access to your specific environment. You will have access to maven
and pre-installed text editors. Make sure you know how to use mvn
to compile and run tests on a Linux distribution.
You can bring your own keyboard (QWERTY, DVORAK, ...) if you are not happy with the AZERTY layout, but you will not be able to use your own machine.
Training for the exam
Just make sure you have well understood the concepts presented in the course and labs. The programming tasks should very straightforward if you are at ease with them.
As already mentioned you should be at ease with maven to build and run tests on the command line.
You can download here an archive that contains a maven project simpler but representative of the one you will be given during the exam. The objective of giving you this is to make sure you understand the environment and commands that you will face.
Process to complete (will be the same for the exam):
- Download and unzip the archive (unnecessary for the exam itself)
- Read the
README
- run
mvn compile
-> it will fail because you do not have filled in your first and last names in the code. - Fill in your names
mvn compile
-> it compiles \o/mvn test
-> will show test failures, like in the image below- Select the next test to fix, fix it and go back to 6.
FAQ
- Do we have access to documents during the exam?
- No documents or network access allowed during the Quiz
- Documents and network access is allowed during the programming part (for accessing the course website, stackoverflow, ... but not ChatGPT or other LLM).
- What is the type of programs that will be written for the second part?
- You will be asked to complete several very small functions. There is no puzzle, design patterns or algorithmics involved. Just assessing if you are able to complete very simple programming tasks rapidly (which requires you to be fast and know the essential properties and idioms of the language).