• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site
Master 2024/2025

Foundations of Software Engineering

Type: Elective course (Math of Machine Learning)
When: 1 year, 1 module
Open to: students of one campus
Language: English

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.).