You don't need the credit from labs in order to attempt the exam. If you did not attend the labs, be sure to check that your Unix lab account works (try to sign in using SSH). Same for your own laptop.


The dates of exams will be in the information system. There will be sufficient number of dates. If there are any last minute changes, those will be announced on nswi015-l@mff.cuni.cz. See the main page on how to subscribe to the mailing list.


You should be able to make your program work with using terminal, compiler toolchain (gcc, make, ld, ...) and editor vim (vi). If an IDE of choice happens not to be working is not an excuse. Feel free to use your laptop.


You need to sign up for the exam in the Information system. If you cannot make it once signed up, it is necessary to cancel the sign up until 22:00 the day before the exam (the systsem does not allow it after that) If you fail to show up it will be considered as a failed attempt. You can sign up anytime.

There is a practical and oral examination. The duration of the practical part is around 2.5 hours. The goal is to produce short fully working program using Unix API. It is permitted to use any books or materials (slides and notes from the lecture, examples, books, man pages, web including search engines etc.) However, it is strictly prohibited to interact with any other person via any means of communication.

Oral examination has 2 parts:

  1. review of the program. Do not forget to use -Wall, C style and check return values of ,,important'' syscalls (e.g. open). Checking return values such as those for mutex lock/unlock is not necessary. In other words if you know what you are doing, you can omit some checks.
  2. theory (2 questions + additional question if in doubt). No tools allowed.

(Theory questions), sample tasks from previous years.


If the program does not work according to the instructions, it means failed attempt. Otherwise the quality of the implementation sets the evaluation of the first part of the exam.

Pet peeves (failing to heed these means worsened evaluation)

The evaluation of the oral exam is based on answers to 2 questions. If the resulting evaluation is worse than C (i.e. > 3), it means a failed attempt.

The overall evaluation is composed from the evaluation of the program and oral exam. Both need to be max C (= 3). If there is any doubt, the oral examination will decide.

Last change: