• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Foundations of Software Engineering

2024/2025
Academic Year
ENG
Instruction in English
Course type:
Elective course
When:
1 year, 1 module

Course Syllabus

Abstract

This course is intended to serve as an introduction into basics of everyday industrial software engineering. Oftentimes students seek to obtain proficiency in complicated subjects such as machine learning, algorithms, or computer vision, but lack basic literacy in software engineering and therefore have little practical skills required to carry out research or industrial projects. The course focuses on Unix fundamentals (shell and command line, tools such as vim and awk, scripting, filesystem, streams and pipes, parameter parsing, remote machine and ssh, etc.) and software engineering in teams (code review and version control, building and auto-making programs, reproducibility and containers, testing and test-driven development, improving code style, software deployment and APIs, etc.).