- Teacher: Geesara Prathap Kulathunga Kulathunga Mudiyanselage
- Teacher: Илья Афанасьев
- Teacher: Muhammad Ahmad
- Teacher: Elena Gryazina
- Teacher: Vitaly Romanov
- Teacher: Andrey Tremba
- Teacher: Anton Shiryaev
- Teacher: Александр Климчик
- Teacher: Александр Малолетов
- Teacher: Шамиль Мамедов
- Teacher: Рамиль Хусаинов
- Teacher: Ivan Grebenkin
- Teacher: Ярослав Холодов
Scientific foundations for software engineering depend on the use of precise, abstract models and logics for characterizing and reasoning about properties of software systems. There are a number of basic models and logics that over time have proven to be particularly important and pervasive in the study of software systems. This course is concerned with that body of knowledge. It considers many of the standard models for representing sequential and concurrent systems, such as state machines, algebras and traces. It shows how different logics can be used to specify properties of software systems, such as functional correctness, deadlock freedom, and internal consistency. Concepts such as composition mechanisms, abstraction relations, invariants, non-determinism, and inductive and denotational descriptions are recurrent themes throughout the course.
- Teacher: Mansur Khazeev
- Teacher: Мануэль Маццара
- Teacher: Александр Наумчев
Large scale software development requires the
ability to manage resources - both human and computational — through control of
the development process. This course is a breadth oriented course, designed to
help technically-trained software engineers to acquire the knowledge and skills
necessary to lead a project team, understand the relationship of software
development to overall project engineering, estimate time and costs, and
understand the software process. The nature of software development is
sufficiently unique to require specialized management techniques, especially in
the areas of the estimating and scheduling.
- Teacher: Mansur Khazeev
- Teacher: Nikita Nigmatullin
- Teacher: Евгений Бобров
- Teacher: Олег Игнатов
- Teacher: Ильдар Нигматуллин
- Teacher: Андрей Садовых
The course focuses on approaches to collect and manage software requirements. During the course, students will learn the different techniques used to collect requirements in different development contexts. In particular, the course will compare plan-based and agile approaches to requirements collection and analysis. Moreover, students will be introduced to approaches to deal with conflicting requirements.
- Teacher: Евгений Бобров
- Teacher: Олег Игнатов
- Teacher: Ильдар Нигматуллин
- Teacher: Альберто Силлитти
- Teacher: Khomyakov Ilya
- Teacher: Владимир Иванов
- Teacher: Джианкарло Суччи
- Teacher: Алексей Шикулин
- Teacher: Vitaly Romanov
- Teacher: Владимир Иванов
- Teacher: Алексей Шикулин
- Teacher: Aidar Gabdullin
- Teacher: Никита Богомазов
- Teacher: Евгений Зуев