Dev tools
The course focuses on introducing students to Linux and various dev tools.
Key topics
-
Linux
-
Filesystems. FHS
-
Terminals. Shells. Bash & Zsh
-
Systemd
-
Signals
-
Man pages
-
Alternatives (
/etc/alternatives) -
Package managers: rpm & deb
-
-
Dev utils
-
SSH. SSH client. Rsync
-
HTTP. FTP. Curl
-
Vim. Nano. Less
-
Modern alternatives to linux utils
-
Archives: tar, gzip, zip
-
-
Git
-
Working with git
-
LFS
-
Submodules
-
C/C++ compilation & build |
Java compilation & build |
|
|
-
Docker
-
Docker containers
-
Docker plugins (compose, buildx). Multi-architecture images
-
GitLab container registries
-
DOOD & DIND
-
-
CI & CD
-
GitLab CI
-
GitLab pages
-
Antora
-
-
Other
-
Regex
-
JSON. YAML. XML. TOML
-
Markdown. Asciidoc
-
Sha & gpg
-
Opensource licenses
-
Grading system
-
T— Tasks solution + code review (automated tests) -
I— Interviews (TA subjective grade) -
C— Final control work
max{T} := 45, max{I} := 55 and max{C} := 10
|
Final grade is min{(T + I)/10, C}.
Course policies are located here.
Instructors
- Lectures
-
Iwan Kalinin <koefic.cien@gmail.com>
- Seminars
-
Java: Iwan Kalinin
C++: Gennadij Poljakov - Teaching assistants
-
-
Victoria Popova (Head TA)
-
Polina Ushakova
-
Kirill Kudryavtsev
-
Maxim Plotnikov
-
- Assistants
-
-
Mikhail Agafonov
-