Программная инженерия и анализ данных

The course is available to the first year students of Systems and Software Engineering M.Sc. programme at HSE University.

Course syllabus

The topics of the course include product analysis and requirements engineering, building Domain-Driven Design (DDD) models with UML2 and structural methods, fundamentals of software design and design patterns, microservices architecture (MSA) and other topics.

The practice on the course consists of a team project and individual assignments performed under supervision of teaching assistants.

The course is most suited for systems analysts, software engineerrs and prospective software architects.

Go to the course page.

Курс читается студентам 4 курса факультета Инноваций и высоких технологий (ФИВТ) школы Прикладной математики и информатики (ФПМИ) Московского Физико-Технического Института (МФТИ).

Программа курса

На курсе вы узнаете как использовать язык моделирования UML2 в разработке распределенных приложений в микросервисной архитектуре (MSA) с применением метода предметно-ориентированного проектирования (Domain-Driven Design).

А также, как анализировать и проверять требования, структурировать программы, почему интерфейс это не абстрактный класс, как разрабатывать большие системы из небольших сервисов, паттерны и приемы, используемые архитекторами и тим лидами.

Практика предполагает выполнение и защиту двух заданий по командному курсовому проекту.

Для разработчиков, системных аналитиков и будущих архитекторов программного обеспечения.

Перейти к курсу Проектирование программных систем (2020)

Курс читается на кафедре Интеллектуальные системы ФПМИ МФТИ студентам первого года магистратуры.

Темы курса

  1. Разработка и написание кода для систем анализа данных
  2. Тестирование систем машинного обучения
  3. Процессы в проектах анализа данных и разработки систем: CI/CD, Crisp-DM, DevOps, Agile/Scrum
  4. Обзор типовых решений для систем анализа данных: микросервисы, lambda архитектура, NoSQL, Spark
  5. Повторяемость исследований и проведение экспериментов

Перейти к курсу Программная инженерия для машинного обучения

Курс чиатется студентам первого курса магистратуры кафедры АТП ФПМИ.

Перейти к страничке курса Автоматизация программирования.

Темы курса

  1. Методы автоматизации разработки программ
  2. Синтез программ по примерам средствами машинного обучения
  3. Автоматическое обнаружение проблем и анализ программного обеспечения
  4. Обработка и автоматизация анализа требований к ПО
  5. Автоматизация тестирования

С 2018 по 2020 курс проводился в формате исследовательского семинара Программная инженерия и анализ данных

Курс предлагается студентам первого года магистратуры факультета Инноваций и высоких технологий (ФИВТ) Московского Физико-Технического Института (МФТИ).

Курс освещает пять основных тем в автоматизации разработки программного обеспечения:

  • модельно-управляемая разработка (MDSD) на основе общеприменимых (generic) технологий моделирования (Executable UML, xtUML etc.)
  • MDSD на основе предметно-ориентированных моделей и языков (DSM)
  • автоматизация тестирование с помощью моделей (model-based testing, MBT)
  • машинное обучение в программной инженерии, предсказание дефектов, синтез программ (machine learning in software engnieering)
  • индустриальная практика и применение модельно-ориентированных подходов, фабрики программного обеспечения (software factories, SPLE)

Перейти к курсу Автоматизация программирования

Курс читается студентам 4 курса факультета Инноваций и высоких технологий (ФИВТ) Московского Физико-Технического Института (МФТИ).

Программа курса

Целью данного курса является ознакомление студентов с основами проектирования и формирование представления о существующих методологиях проектирования программного обеспечения.

В процессе обучения, студенты овладевают принципами гибкого моделирования с использованием языка UML, а также основными принципами проектирования систем, такими как абстрагирование, сокрытие информации, модульность и другими. Студенты знакомятся со структурным и объектно-ориентированным подходами к проектированию.

Темы и подробный план лекций выкладывается здесь

Перейти к курсу Проектирование программных систем