NSWI142 Programming test
The aim of this document is to explain what the programming test for NSWI142 is and how to prepare for it. The following section will walk you step by step through the process of preparation, registration, ... all the way to what to do after you pass the test.
Please note that this is a live document. The content may change over time to best guide you in passing the programming test.
Preparing for the test
In order to prepare for the test, you need to implement a semestral project. Keep in mind you need to use the given GitLab repository, and you have to deploy the project to your webik in your home directory.
Enrolment and review
Once you have your project ready, you need to enroll for the lab test using SIS.
The main part of the programming test is a short interview. To best prepare for the test, we urge you to ask for a code review in GitLab. While we do our best to review as quickly as possible, it may take some time. To make sure you get your review in time, please try to ask for the review at least a week in advance.
You can request a review using a GitLab issue in your repository. You need to create an issue of Type "Task" with the title "Semestral project review" and assign the issue to "@skodape". Please use the following review issue template as the issue description. The template contains common issues, so we do not need to repeat them to each student.
# Semestral project review
This template contains common issues.
For each issue you are expected to:
- Address it in your project.
- Explain your approach as an answer to each issue.
## 1) Configuration
Your code must be deployable without the need to change the source code.
As a result, the configuration must be in a configuration file.
Explain what file format you used and why.
<!-- Replace with your answer. -->
## 2) README.md
Your repository must contain README.md file.
The file must contain step by step instruction on how to deploy the project.
Just confirm that the file is there.
<!-- Replace with your answer. -->
Please note that the review template may change over time as we encounter new common issues. Therefore, copy the template from here only when your code is ready for the review.
Once the review is ready, you receive it as a comment on the issue. Keep in mind that just as you, we have a different set of experiences in our team. As a result, each reviewer may focus on different aspects.
Each review has the same structure and consists of two categories: Issues and Comments. Issues represent what the reviewer believes are problems that will lead to losing points during the programming test. As a result, you should always address issues or be ready to explain and defend your decision during the exam. If unsure, we recommend selecting the first option. Comments are not as severe as issues; they may or may not cause you to lose some points.
Keep in mind that the review is designed to catch common mistakes. Passing the review does not guarantee the outcome of the programming test.
Before the test
Make sure you reflect all comments from the review, and everything is working. Also, make sure you fully understand all the code in your repository. Keep in mind that, quote:
... you must be able to explain your code on demand. Failure to do so may result in failing the whole test.
The test
You are ALLOWED to bring your own computer for the programming test. You are ALLOWED to use any materials you want. Yet, keep in mind you have to fully understand the code and be able to explain it on demand.
During the exam, your goal will be to extend or modify your solution according to the examiner's instructions. You should be able to do so in under 3 hours.
Failing the test
You may attend the test multiple times, but in cases of limited capacity, first-time attendees have priority over those who already failed the test.
Passing the test
If you have passed the test and you have done all mandatory assignments, you are eligible to get the credit. The credit can be awarded by the person supervising the test or the guarantor.
You can sum your points in ReCodEx and check if you have enough points to get the grade you like. If so, you need to send an email to the guarantor, Petr Škoda. The email must contain: the number of points you have and the corresponding grade. Please note that you will not be graded automatically even if you have the maximum number of points possible.