Courses
Экономика цифровых платформ (по выбору Сбербанк)
Course categoryВесенний семестр
Преподаватель: Игорь Николаевич Баранов, Галина Федоровна Богданова
Протоколы всемирной паутины Гурьев Д.Е.(Технологии сети Интернет 2) (по выбору)
Course categoryВесенний семестр
Преподаватель: Дмитрий Гурьев
Современная индустриальная разработка ПО (Денисов В.С.)
Course categoryВесенний семестр
В ходе курса мы рассмотрим современный индустриальный подход к разработке программного обеспечения. Изучим основные этапы жизненного цикла ПО, решаемые на каждом этапе задачи и требования, применяемый для этого инструментарий. Поговорим о типовом составе инженерной части компании по разработке ПО.
Преподаватель: Виктор Денисов
Автоматизация управления сетевой инфраструктурой, (на английском) (Денисов В.С.)
Course categoryВесенний семестр
summary
Преподаватель: Виктор Денисов
Стандарты, протоколы, сервисы интернета вещей (Намиот Д.Е.)
Course categoryВесенний семестр
Часы: 36 Практикум: нет 0 часов
Преподаватель: Намиот Д.Е.
Описание
В результате изучения дисциплины студент должен:
Получить базовые сведения по архитектуре систем Интернета Вещей (IoT), существующим и разрабатываемым стандартам Интернета Вещей, сетевым протоколам, сбору и агрегации данных в системах Интернета Вещей, анализу данных и системам безопасности.
В курсе изучаются основные стандарты и открытые решения в области Интернета Вещей, основные сетевые протоколы, применяемые в системах Интернета Вещей, а также методы обеспечения безопасности.
Результаты обучения: понимание принципов построения систем IoT, умение взаимодействовать с заказчиками систем IoT, понимание основных элементов систем IoT и умение строить архитектуру для реализации систем IoT, умение взаимодействовать с программистами при реализации систем IoT. Умение разбираться в методах обработки и анализа информации, применяемых в системах IoT, понимание организации систем кибербезопасности в IoT
Перечень разделов курса.
Архитектура и стандарты IoT. Архитектура и основные понятия. M2M, IIOT, CPS. Стандарты IoT. Международная стандартизация, открытое программное обеспечение.
Кибер-физические системы. Развитие стандартов IoT. Кибер-физические системы. Цифровые двойники.
Сети данных в IoT. Сети и протоколы в IoT. Wi-Fi, Bluetooth, LoRa, Z-Wave и др. IoT messaging: MQTT, COAP.
Сбор данных в IoT. IoT middleware. Сбор и агрегация данных в IoT. Стандарты, открытое программное обеспечение. Потоковая обработка данных. IoT и системы реального времени.
Oбработка и анализ данных в IoT. Алгоритмы и модели анализа данных, используемые в IoT приложениях. Потоковые алгоритмы.
Кибербезопасность в IoT. Компоненты и технологии для защиты IoT систем. Угрозы, уязвимости и риски в IoT приложениях.
Преподаватель: Намиот Д.Е.
Описание
В результате изучения дисциплины студент должен:
Получить базовые сведения по архитектуре систем Интернета Вещей (IoT), существующим и разрабатываемым стандартам Интернета Вещей, сетевым протоколам, сбору и агрегации данных в системах Интернета Вещей, анализу данных и системам безопасности.
В курсе изучаются основные стандарты и открытые решения в области Интернета Вещей, основные сетевые протоколы, применяемые в системах Интернета Вещей, а также методы обеспечения безопасности.
Результаты обучения: понимание принципов построения систем IoT, умение взаимодействовать с заказчиками систем IoT, понимание основных элементов систем IoT и умение строить архитектуру для реализации систем IoT, умение взаимодействовать с программистами при реализации систем IoT. Умение разбираться в методах обработки и анализа информации, применяемых в системах IoT, понимание организации систем кибербезопасности в IoT
Перечень разделов курса.
Архитектура и стандарты IoT. Архитектура и основные понятия. M2M, IIOT, CPS. Стандарты IoT. Международная стандартизация, открытое программное обеспечение.
Кибер-физические системы. Развитие стандартов IoT. Кибер-физические системы. Цифровые двойники.
Сети данных в IoT. Сети и протоколы в IoT. Wi-Fi, Bluetooth, LoRa, Z-Wave и др. IoT messaging: MQTT, COAP.
Сбор данных в IoT. IoT middleware. Сбор и агрегация данных в IoT. Стандарты, открытое программное обеспечение. Потоковая обработка данных. IoT и системы реального времени.
Oбработка и анализ данных в IoT. Алгоритмы и модели анализа данных, используемые в IoT приложениях. Потоковые алгоритмы.
Кибербезопасность в IoT. Компоненты и технологии для защиты IoT систем. Угрозы, уязвимости и риски в IoT приложениях.
Преподаватель: Dmitry Namiot
Преподаватель: Ольга Робертовна Лапонина
Основы администрирования Astra Linux, по выбору (Якушин А.В.)
Course categoryВесенний семестр
Курс будет интересен тем кто хочет изучить Linux и администрирование Linux. Подробная информация внутри курса.
В курсе рассматривается Astra Linux Common Edition и Astra Linux Special Edition.
По результатам экзамена студенты получившие 4 или 5 получат дополнительно сертификат от компании ГК Astra Linux (ООО «РусБИТех-Астра»).
Для записи на курс пишите yakushin@cs.msu.ru
В курсе рассматривается Astra Linux Common Edition и Astra Linux Special Edition.
По результатам экзамена студенты получившие 4 или 5 получат дополнительно сертификат от компании ГК Astra Linux (ООО «РусБИТех-Астра»).
Для записи на курс пишите yakushin@cs.msu.ru
Преподаватель: Алексей Валериевич Якушин
Основные задачи и методы анализа данных (Шитов А.Н.)
Course categoryВесенний семестр
Курс "Основные задачи и методы анализа данных" посвящен подробному изучению базовых методов машинного обучения.
В нем рассматриваются основные алгоритмы машинного обучения: линейная и логистическая регрессия, обобщенные линейные модели, метод опорных векторов, нейронные сети, метрические и логические методы, байесовские методы, методы бустинга и другие. Также ряд лекций посвящен задачам обучения без учителя и общим вопросам построения моделей машинного обучения, рассматриваются такие темы как обработка признаков, критерии выбора моделей и оценка качества классификации и регрессии.
В нем рассматриваются основные алгоритмы машинного обучения: линейная и логистическая регрессия, обобщенные линейные модели, метод опорных векторов, нейронные сети, метрические и логические методы, байесовские методы, методы бустинга и другие. Также ряд лекций посвящен задачам обучения без учителя и общим вопросам построения моделей машинного обучения, рассматриваются такие темы как обработка признаков, критерии выбора моделей и оценка качества классификации и регрессии.
Преподаватель: Андрей Шитов
Разработка объектно-ориентированных систем программирования интегрированных в среду Eclipse (Романов В.Ю.)
Course categoryВесенний семестр
Часы: 36 Практикум: в режиме самостоятельной работы 0 часов
Преподаватель: Романов В.Ю.
Описание
В результате обучения учащийся будет
Знать: способы визуализации в среде Eclipse графической нотации языка UML, способы использования в среде Eclipse метамодели стандартного языка моделирования UML.
Уметь отображать распознанные тексты программ на объектно-ориентированных языках программирования в UML-модель этих программ, визуализировать в среде Eclipse программы, разработанные на объектно-ориентированных языках программирования, с помощью графической нотации языка UML.
Владеть навыками использования метамодели и графической нотации языка UML при разработке CASE-инструментов как расширений среды Eclipse.
Способен разрабатывать системы программирования интегрированные в среду разработки модульных кроссплатформенных приложений Eclipse
Тема 1. Архитектура среды Eclipse.
Способы расширения среды Eclipse. Создание расширения среды Eclipse для системы программирования.
Создание перспективы системы программирования в среде Eclipse.
Использование и создание видов системы программирования в среде Eclipse.
Выдача диагностики об ошибках в программе и простановка маркеров в исходных текстах программ.
Разработка синтаксически ориентированных редакторов для языков программирования.
Тема 2. Построение и визуализация UML модели программы.
Использование классов метамодели языка UML в среде Eclipse.
Представление в UML-модели элементов программы: пакетов, классов, интерфейсов, методов и переменных.
Представление в UML-модели отношений между элементами программы.
Использование кода виртуальной машины Java для построения UML-модели программы.
Тема 3. Разработка распознавателей языков программирования
Генератор компиляторов ANTLR4.
Описание синтаксиса языка программирования.
Описание семантических действий распознавателя языка программирования.
Построение синтаксического дерева программы и его использование для построения UML-модели программы.
Тема 4. Построение UML-модели по текстам языка программирования.
Введение в язык программирования GoLang.
Описание и отладка грамматики языка программирования GoLang.
Распознавание пакетов, структур и интерфейсов языка GoLang.
Построение UML-модели программы написанной на языке GoLang.
Тема 5. Визуализация UML-модели программы в виде UML-диаграммы.
Использование Graphical Editing Framework (Draw2d) для построения диаграмм. Разработка элементов для диаграммы статической структуры языка UML в среде Eclipse.
Построение и структурирование узлов UML-диаграмм.
Построение ребер UML-диаграмм для визуализации отношений между элементами программы.
Организация взаимодействия между видами среды Eclipse представляющими UML-модель.
Интерактивное взаимодействие с UML-диаграммами.
Анализ и визуализация архитектуры программ написанных на языке GoLang.
Преподаватель: Романов В.Ю.
Описание
В результате обучения учащийся будет
Знать: способы визуализации в среде Eclipse графической нотации языка UML, способы использования в среде Eclipse метамодели стандартного языка моделирования UML.
Уметь отображать распознанные тексты программ на объектно-ориентированных языках программирования в UML-модель этих программ, визуализировать в среде Eclipse программы, разработанные на объектно-ориентированных языках программирования, с помощью графической нотации языка UML.
Владеть навыками использования метамодели и графической нотации языка UML при разработке CASE-инструментов как расширений среды Eclipse.
Способен разрабатывать системы программирования интегрированные в среду разработки модульных кроссплатформенных приложений Eclipse
Тема 1. Архитектура среды Eclipse.
Способы расширения среды Eclipse. Создание расширения среды Eclipse для системы программирования.
Создание перспективы системы программирования в среде Eclipse.
Использование и создание видов системы программирования в среде Eclipse.
Выдача диагностики об ошибках в программе и простановка маркеров в исходных текстах программ.
Разработка синтаксически ориентированных редакторов для языков программирования.
Тема 2. Построение и визуализация UML модели программы.
Использование классов метамодели языка UML в среде Eclipse.
Представление в UML-модели элементов программы: пакетов, классов, интерфейсов, методов и переменных.
Представление в UML-модели отношений между элементами программы.
Использование кода виртуальной машины Java для построения UML-модели программы.
Тема 3. Разработка распознавателей языков программирования
Генератор компиляторов ANTLR4.
Описание синтаксиса языка программирования.
Описание семантических действий распознавателя языка программирования.
Построение синтаксического дерева программы и его использование для построения UML-модели программы.
Тема 4. Построение UML-модели по текстам языка программирования.
Введение в язык программирования GoLang.
Описание и отладка грамматики языка программирования GoLang.
Распознавание пакетов, структур и интерфейсов языка GoLang.
Построение UML-модели программы написанной на языке GoLang.
Тема 5. Визуализация UML-модели программы в виде UML-диаграммы.
Использование Graphical Editing Framework (Draw2d) для построения диаграмм. Разработка элементов для диаграммы статической структуры языка UML в среде Eclipse.
Построение и структурирование узлов UML-диаграмм.
Построение ребер UML-диаграмм для визуализации отношений между элементами программы.
Организация взаимодействия между видами среды Eclipse представляющими UML-модель.
Интерактивное взаимодействие с UML-диаграммами.
Анализ и визуализация архитектуры программ написанных на языке GoLang.
Преподаватель: Vladimir Romanov
Унифицированный процесс разработки программного обеспечения (Романов В.Ю.)
Course categoryВесенний семестр
Часы: 36 Практикум: в режиме самостоятельной работы 0 часов
Преподаватель: Романов В.Ю.
Описание
В результате обучения учащийся будет
Знать: основные особенности унифицированного процесса разработки программного обеспечения, потоки работ процесса, участников и артефакты каждого из потоков работ, последовательности деятельностей в потоках работ.
Уметь организовывать процесс разработки программного обеспечения командой разработчиков в соответствии с полученными знаниями об унифицированном процессе.
Владеть навыками использования языка UML при разработке программных систем с использованием унифицированного процесса разработки программного обеспечения.
Способен использовать графическую нотацию языка UML при проектировании программного обеспечения с помощью CASE-инструментов при объектно-ориентированном проектировании и программировании на основе знаний структуры метамодели стандартного языка моделирования.
Тема 1. Основные принципы унифицированного процесса разработки ПО.
Управление процессом с помощью прецедентов использования системы. Понятие архитектуры системы. Ориентация унифицированного процесса на раннюю разработку архитектуры системы. Понятие итерации в разработке программной системы. Итеративность и инкрементальность унифицированного процесса. Потоки работ процесса. Фазы процесса.
Тема 2. Управление процессом с помощью прецедентов.
Определение прецедентов использования системы с помощью модели прецедентов на языке UML. Итерация как последовательность разработки моделей на языке UML. Связь различных моделей на языке UML. Пример разработки последовательности моделей, начиная с модели прецедентов.
Тема 3. Разработка архитектуры программной систем.
Процесс ориентированный на разработку архитектуры системы. Необходимость описания архитектуры системы для организации работы участников процесса. Использование вариантов использования системы при разработке архитектуры. Этапы в разработке архитектуры системы. Пример описания архитектуры с помощью графической нотации языка UML.
Тема 4. Итеративность и инкрементальность процесса.
Необходимость итеративной и инкрементальной разработки. Риски в разработке программной системы и их влияние на выбор итерации. Типовая итерация. Инкремент как результат итерации. Итерации в жизненном цикле системы. Развитие моделей программной системы в результате итераций. Пример развития моделей на языке UML.
Тема 5. Поток работ для получения требований к системе.
Прецеденты использования системы. Модель прецедентов использования системы. Актеры как средство представления пользователей и внешней среды программной системы. Прототип интерфейса пользователя. Глоссарий терминов используемых при сборе требований. Модель архитектуры, описанная с помощью диаграмм прецедентов языка UML.
Участники потока работ по сбору требований: архитектор, системный аналитик, спецификатор сценариев использования, проектировщик интерфейса пользователя.
Деятельности потока работ: поиск актеров и сценариев использования, определение приоритетов для сценариев использования, детализация сценариев использования, создание прототипа интерфейса пользователя, структурирование модели сценариев использования.
Тема 6. Поток работ по анализу системы.
Роль модели анализа в жизненном цикле программного обеспечения.
Артефакты потока работ: описание архитектуры системы, анализ класса, анализ реализации сценария использования, анализ пакетов.
Участники потока работ: архитектор, разработчик прецедентов, разработчик компонентов.
Деятельности потока работ: архитектурный анализ, анализ сценариев использования, анализ классов, анализ пакетов.
Тема 7. Поток работ по проектированию системы.
Роль потока работ проектирования в жизненном цикле программного обеспечения.
Артефакты потока работ: описание архитектуры (вид потока проектирования), проект класса, проект реализации прецедента, проект подсистемы, проект интерфейса, описание модели внедрения системы.
Участники потока работ: архитектор, разработчик прецедентов, разработчик компонентов.
Деятельности потока работ: проектирование архитектуры, проектирование прецедентов, проектирование классов, проектирование подсистем.
Тема 8. Поток работ по реализации системы.
Роль потока работ по реализации в жизненном цикле программного обеспечения.
Артефакты потока работ: описание архитектуры, компоненты, подсистема реализации, интерфейсы, план интеграции для реализации.
Участники потока работ: архитектор, разработчик компонентов, системный интегратор.
Деятельности потока работ: реализация архитектуры, интеграция системы, реализация подсистемы, реализация класса, выполнение тестирования для единицы компиляции.
Тема 9. Поток работ по тестированию системы.
Роль потока работ по тестированию в жизненном цикле программного обеспечения.
Артефакты потока работ: описание архитектуры, набор тестов, процедура тестирования, компонента тестирования, план тестирования, дефекты, оценка теста.
Участники потока работ: проектировщик теста, разработчик компонента, тестировщик интеграции, тестировщик системы.
Деятельности потока работ: планирование теста, проектирование теста, реализация теста, выполнение тестирования интеграции, выполнение тестирования системы, оценка теста.
Преподаватель: Романов В.Ю.
Описание
В результате обучения учащийся будет
Знать: основные особенности унифицированного процесса разработки программного обеспечения, потоки работ процесса, участников и артефакты каждого из потоков работ, последовательности деятельностей в потоках работ.
Уметь организовывать процесс разработки программного обеспечения командой разработчиков в соответствии с полученными знаниями об унифицированном процессе.
Владеть навыками использования языка UML при разработке программных систем с использованием унифицированного процесса разработки программного обеспечения.
Способен использовать графическую нотацию языка UML при проектировании программного обеспечения с помощью CASE-инструментов при объектно-ориентированном проектировании и программировании на основе знаний структуры метамодели стандартного языка моделирования.
Тема 1. Основные принципы унифицированного процесса разработки ПО.
Управление процессом с помощью прецедентов использования системы. Понятие архитектуры системы. Ориентация унифицированного процесса на раннюю разработку архитектуры системы. Понятие итерации в разработке программной системы. Итеративность и инкрементальность унифицированного процесса. Потоки работ процесса. Фазы процесса.
Тема 2. Управление процессом с помощью прецедентов.
Определение прецедентов использования системы с помощью модели прецедентов на языке UML. Итерация как последовательность разработки моделей на языке UML. Связь различных моделей на языке UML. Пример разработки последовательности моделей, начиная с модели прецедентов.
Тема 3. Разработка архитектуры программной систем.
Процесс ориентированный на разработку архитектуры системы. Необходимость описания архитектуры системы для организации работы участников процесса. Использование вариантов использования системы при разработке архитектуры. Этапы в разработке архитектуры системы. Пример описания архитектуры с помощью графической нотации языка UML.
Тема 4. Итеративность и инкрементальность процесса.
Необходимость итеративной и инкрементальной разработки. Риски в разработке программной системы и их влияние на выбор итерации. Типовая итерация. Инкремент как результат итерации. Итерации в жизненном цикле системы. Развитие моделей программной системы в результате итераций. Пример развития моделей на языке UML.
Тема 5. Поток работ для получения требований к системе.
Прецеденты использования системы. Модель прецедентов использования системы. Актеры как средство представления пользователей и внешней среды программной системы. Прототип интерфейса пользователя. Глоссарий терминов используемых при сборе требований. Модель архитектуры, описанная с помощью диаграмм прецедентов языка UML.
Участники потока работ по сбору требований: архитектор, системный аналитик, спецификатор сценариев использования, проектировщик интерфейса пользователя.
Деятельности потока работ: поиск актеров и сценариев использования, определение приоритетов для сценариев использования, детализация сценариев использования, создание прототипа интерфейса пользователя, структурирование модели сценариев использования.
Тема 6. Поток работ по анализу системы.
Роль модели анализа в жизненном цикле программного обеспечения.
Артефакты потока работ: описание архитектуры системы, анализ класса, анализ реализации сценария использования, анализ пакетов.
Участники потока работ: архитектор, разработчик прецедентов, разработчик компонентов.
Деятельности потока работ: архитектурный анализ, анализ сценариев использования, анализ классов, анализ пакетов.
Тема 7. Поток работ по проектированию системы.
Роль потока работ проектирования в жизненном цикле программного обеспечения.
Артефакты потока работ: описание архитектуры (вид потока проектирования), проект класса, проект реализации прецедента, проект подсистемы, проект интерфейса, описание модели внедрения системы.
Участники потока работ: архитектор, разработчик прецедентов, разработчик компонентов.
Деятельности потока работ: проектирование архитектуры, проектирование прецедентов, проектирование классов, проектирование подсистем.
Тема 8. Поток работ по реализации системы.
Роль потока работ по реализации в жизненном цикле программного обеспечения.
Артефакты потока работ: описание архитектуры, компоненты, подсистема реализации, интерфейсы, план интеграции для реализации.
Участники потока работ: архитектор, разработчик компонентов, системный интегратор.
Деятельности потока работ: реализация архитектуры, интеграция системы, реализация подсистемы, реализация класса, выполнение тестирования для единицы компиляции.
Тема 9. Поток работ по тестированию системы.
Роль потока работ по тестированию в жизненном цикле программного обеспечения.
Артефакты потока работ: описание архитектуры, набор тестов, процедура тестирования, компонента тестирования, план тестирования, дефекты, оценка теста.
Участники потока работ: проектировщик теста, разработчик компонента, тестировщик интеграции, тестировщик системы.
Деятельности потока работ: планирование теста, проектирование теста, реализация теста, выполнение тестирования интеграции, выполнение тестирования системы, оценка теста.
Преподаватель: Vladimir Romanov
Спецсеминар "Безопасность веб-технологий"
Course categoryВесенний семестр
Преподаватель: Ольга Робертовна Лапонина
Спецсеминар
Course categoryВесенний семестр
Технологии и принципы обеспечения безопасности в сети интернет
Course categoryВесенний семестр