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. In this course, our goal is to bridge the gap between basic programming skills commonly taught during BSc programs and the industrial-grade engineering required by top-notch MSc, Ph.D., or R&D positions.

Topics include:

As a project, the students will be required to work in teams to design, engineer, test, and deploy a real large software system using the principles described in this course.


Foundations of Software Engineering

Instructor: Alexey Artemov

TAs:

Arseniy Bozhenko

Emil Bogomolov

Vladislav Ishimtsev


📄 Syllabus

⭕ Canvas Page

✈️ Telegram Channel

🟦 Permanent Zoom link for the sessions

🐱 Github Lectures

😺 Github Seminars

🎦 Youtube Lectures

💜 Anonymous feedback form


Active Deadlines

Past Deadlines


Lectures timeline

Background picture source: https://www.theatlantic.com/technology/archive/2017/09/saving-the-world-from-code/540393/