Программная инженерия и анализ данных
Библиотека по методам проектирования
Сборник задач по проектированию программных систем с применением UML 2
Advanced Software Design (ASD) (since 2021)
The course learning objective is to understand modern software design and practice design and modeling methods in a team project. The students will be introduced to designing microservices applications using domain-driven design and UML2. A course project divided into two assignments will help practice analysis and design methods as part of a team. The course will be most relevant to software engineers, systems analysts and future software development leaders.
Проектирование программных систем (ППС) (с 2020)
Курс читается студентам 4 курса факультета Инноваций и высоких технологий (ФИВТ) школы Прикладной математики и информатики (ФПМИ) Московского Физико-Технического Института (МФТИ).
На курсе вы узнаете как использовать язык моделирования UML2 в разработке распределенных приложений в микросервисной архитектуре (MSA) с применением метода предметно-ориентированного проектирования (Domain-Driven Design).
А также, как анализировать и проверять требования, структурировать программы, почему интерфейс это не абстрактный класс, как разрабатывать большие системы из небольших сервисов, паттерны и приемы, используемые архитекторами и тим лидами.
Практика предполагает выполнение и защиту двух заданий по командному курсовому проекту.
Для разработчиков, системных аналитиков и будущих архитекторов программного обеспечения.
Перейти к курсу Проектирование программных систем (2020)
Программная инженерия для машинного обучения
Курс читается на кафедре Интеллектуальные системы ФПМИ МФТИ студентам первого года магистратуры.
Темы курса
- Разработка и написание кода для систем анализа данных
- Тестирование систем машинного обучения
- Процессы в проектах анализа данных и разработки систем: CI/CD, Crisp-DM, DevOps, Agile/Scrum
- Обзор типовых решений для систем анализа данных: микросервисы, lambda архитектура, NoSQL, Spark
- Повторяемость исследований и проведение экспериментов
Перейти к курсу Программная инженерия для машинного обучения
Исследовательский курс "Автоматизация программирования" (c 2020)
Курс кафедры Алгоритмов и технологий программирования (http://wiki.atp-fivt.org) в магистратуре.
В рамках курса рассматриваются современные и перспективные методы автоматизации разработки и тестирования программного обеспечения. Исследовательская часть курса включает небольшое самостоятельное исследование по темам курса.
Темы курса:
- Модельно-ориентированные методы разработки и предметно-ориентированные языки (DSL)
- Синтез программ по примерам средствами машинного обучения
- Автоматизация тестирования и верификации программ
- Верификация систем распределенного реестра
Перейти к страничке курса Автоматизация программирования (2023)
Автоматизация программирования (до 2020)
Курс предлагается студентам первого года магистратуры факультета Инноваций и высоких технологий (ФИВТ) Московского Физико-Технического Института (МФТИ).
Курс освещает пять основных тем в автоматизации разработки программного обеспечения:
- модельно-управляемая разработка (MDSD) на основе общеприменимых (generic) технологий моделирования (Executable UML, xtUML etc.)
- MDSD на основе предметно-ориентированных моделей и языков (DSM)
- автоматизация тестирование с помощью моделей (model-based testing, MBT)
- машинное обучение в программной инженерии, предсказание дефектов, синтез программ (machine learning in software engnieering)
- индустриальная практика и применение модельно-ориентированных подходов, фабрики программного обеспечения (software factories, SPLE)
Перейти к курсу Автоматизация программирования (2016)
Проектирование программных систем (ППС) (до 2019)
Курс читается студентам 4 курса факультета Инноваций и высоких технологий (ФИВТ) Московского Физико-Технического Института (МФТИ).
Целью данного курса является ознакомление студентов с основами проектирования и формирование представления о существующих методологиях проектирования программного обеспечения.
В процессе обучения, студенты овладевают принципами гибкого моделирования с использованием языка UML, а также основными принципами проектирования систем, такими как абстрагирование, сокрытие информации, модульность и другими. Студенты знакомятся со структурным и объектно-ориентированным подходами к проектированию.
Темы и подробный план лекций выкладывается здесь
Перейти к курсу Проектирование программных систем