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

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. Повторяемость исследований и проведение экспериментов

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

В весеннем семестре 2018 посещение семинара можно выбрать в качестве альтернативного курса Автоматизации программирования студентам первого года магистратуры ФИВТ МФТИ, или факультативного курса по выбору.

Темы семинара

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

Перейти к страничке семинара Программная инженерия и анализ данных

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

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

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

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

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

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

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

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

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

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