The software has become an integral part of our daily life: from mobile apps and cloud computing to embedded systems and complex industrial plants. Sound knowledge is required in order to devise and implement solutions in the dynamic sphere of computer science. In this respect, the lines between research and development, application orientation and practical implementation are blurred.