The Linux operating system is one of the most widespread and popular. It runs in servers and desktops, in various devices, as well as in cell phones, tablets and smart watches, providing a system basis for Android, Tizen, Sailfish. In addition, Linux is open source, which makes it indispensable for training purposes, because anyone can look at the details of the implementation of system mechanisms and interfaces and improve their level by understanding specific technical solutions of professional developers. Linux is POSIX-compatible, which allows you to automatically extend your programming skills to other operating systems, such as Mac OS X.

The course will cover the basic tools for writing programs for Linux, as well as touch upon the main application interfaces concerning process management, working with the file system, organizing inter-process and network communication. Also, attention will be paid to many aspects of program development, such as: using dynamic libraries, organizing multithreaded computing and shared memory, obtaining advanced system information. It should be noted that this course deliberately does not cover the issues of graphical user interface programming, which are the subject of separate courses.

After completing the course you will be able to confidently develop simple application and server applications, organize data processing on Linux computers.

Who this course is for

Those who are interested in programming, have confident skills of working in Linux as a user and are familiar with the basics of C/C++ programming.

Initial requirements

To comfortably comprehend the course material, you should have an understanding of how to work in Linux at the user level, as well as confident programming skills in C or C++.