Programming Technologies
The course focuses on introducing students to Linux and various dev tools.
Key topics
-
Computer architecture
-
Linux filesystem
-
Git. Merge Requests in GitLab. Pull Requests in GitHub
-
Shell. Bash and its alternatives
-
SSH. SSH client
-
HTTP. FTP. Working with a server via protocols. Curl CLI
-
Linux package managers (dpkg, apt)
-
Compilation stages in C/C++
-
Compiling C VS Compiling C++
-
SLL & DLL libraries
-
Build systems: make, CMake
-
Library/package installation in CMake
-
Gtest framework
-
Gmock framework
-
Benchmarks
-
Containerisation. Docker
-
Docker plugins (compose, buildx). Multi-architecture images
-
Nginx
-
GitLab CI. GitHub Actions
-
GitLab registry, GitLab pages
-
Opensource licenses
Grading system
-
Tsk— Tasks solution + code review -
Cq— Colloqium -
Sem— Activity during the semester
max{Tsk} := 90, max{Cq} := 10 and max{Sem} := 10
|
Final grade is min{(Tsk + Cq + Sem)/10, 10}.
Course policies are located here.
Instructors
- Lectures
-
Iwan Kalinin <koefic.cien@gmail.com>
- Teaching assistants
-
-
Georgij Morev
-
Aleksej Zlobin
-
Ahmet Gazakbaev
-
Arslan Khalilov
-
- Assistants
-
-
Victoria Popova
-