Exams for Unix/Linux Programming in C (NSWI015)


First, see information on final lab assignment and the deadlines.

If you did not attend the labs, be sure to check that your Unix lab account works (try to sign in using SSH). You can work on your laptop and send us your solution via email when you are done. If using your laptop, make sure you can connect to wifi in the labs though.


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 system 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: