## Final Programming Test

The exam period makes up the virtual 4th block, which has the same
criteria for success as every other block – you need to collect 60
points. The test:

 • will take place in a lecture room with school computers,
   ◦ which will have internet access disabled,
   ◦ and you won't be able to bring your own materials either,
 • you will however get a copy of the official study materials:
   ◦ this exercise collection (without reference solutions for type
     ‹e› and type ‹r› exercises),
   ◦ an offline copy of ‹cppreference› (sans fulltext search),
 • you may use a text editor or the development environment VS Code,
   the ‹g++› and ‹clang› compilers, ‹clang-tidy›, ‹valgrind› and
   ‹gdb›.

You will have 4 hours to complete the test, which will consist of 6
exercises, graded using automated tests (just like exercises during
the semester), with the maximal total score of 90 points. The
grading of each exercise is binary (either you get all 15 points or
none at all). Code quality will not be reviewed, nor will the code
need to pass ‹clang-tidy›. The exercises will be of difficulty
comparable to exercises of types ‹p›/‹r›/‹v› in this collection.

During the test, you can submit your solutions at any time (there is
no specific limit on the number of submissions) and each time, you
will get syntax and sanity test results. Part of the test bundle is
a file called ‹tokens.txt›, in which you will find 4 codes. You can
copy each code into a comment in one of the exercises «once» – each
code will reveal a single verity result «for a single exercise» (the
one into which you pasted it). If you submit with the same code
again (in the same or another file), the code will be quietly
ignored.

The final test will only take place after conclusion of the review
period for the third assignment set. The planned dates¹ are as
follows:

 • Friday 26.1. 9:00–13:00,
 • Friday  2.2. 9:00–13:00,
 • Friday  9.2. 9:00–13:00.

### Midterm Tests

In the last week of each block, that is

 • week 4 (16.–20. of October),
 • week 8 (13.–17. of November),
 • week 12 (11.–15. of December),

the second half of the seminar will take the form of a midterm
programming test, about 40 minutes in length. These tests will be
conducted under the same conditions as the final test described
above (and as such, will serve as a sort of a dry run). You
will however only solve a single exercise, for which you can the 3
points normally awarded for activity in the class.

¹ It could happen that we will have to move these dates for
  technical or organisational reasons. In that case, we will let you
  know in advance.
