Руководитель программы: академик Иванников В. П.
Целью магистерской программы является подготовка магистров, специализирующихся по разработке оптимизирующих фаз компиляторов с использованием как традиционных, так и новых методов агрессивной оптимизации программ с учетом их профилей, а также оптимизации периода связывания (линковки) модулей программы. Изучаются методы динамической и адаптивной оптимизации процедур, составляющих программу, в компиляторах времени выполнения. Выпускники программы будут владеть современными методами анализа и трансформации программ, уметь решать вопросы, связанные с обеспечением безопасной эксплуатации программ: поиском злонамеренного кода, выявлением уязвимостей защиты программ, поиском недокументированных возможностей, запутыванием программ.
|
Учебный план обучения в магистратуре строится из общей части (одинаковой для всех магистерских программ всех потоков), и вариативной части, в которой разные магистерские программы расходятся. Вариативная часть учебного плана содержит в себе уникальные дисциплины, обучение по которым ведется в только рамках одной программы, а также специальные дисциплины, часть из которых читается преподавателями кафедры системного программирования, часть — преподавателями других кафедр. Среди дисциплин вариативной части есть блок дисциплин по выбору. В рамках этого блока в программе предлагается список курсов, из которого обучающиеся сами выбирают дисциплины для обучения. Часть этих дисциплин читается преподавателями кафедры системного программирования, остальные — преподавателями других кафедр в рамках других магистерских программ.
Осенний семестр 1-го курса магистратуры
Вариативная часть:
Уникальные дисциплины:
• Оптимизация в компиляторах. Лекционный курс с экзаменом и практическими заданиями в среде LLVM. В курсе рассматриваются методы и алгоритмы машинно-независимой оптимизации, межпроцедурная оптимизация, методы и алгоритмы машинно-ориентированной оптимизации, динамическая и адаптивная оптимизация, выбор последовательности оптимизаций в компиляторе.
• Спецсеминар «Компиляторные технологии» (зачет)
Специальные дисциплины:
• Параллельные вычисления. Курс кафедры СКИ с экзаменом.
• Компьютерные сети и телекоммуникации (дополнительные главы). Курс кафедры АСВК с экзаменом.
Дисциплины общей части:
• Иностранный язык (зачет)
• Современная философия и методология науки (экзамен)
• Межфакультетский курс по выбору (зачет)
Весенний семестр 1-го курса магистратуры
Вариативная часть:
Уникальные дисциплины:
• Дедуктивный анализ программ. Лекционный курс с экзаменом, семинарами и практическими заданиями. Цель курса — дать теоретические основы дедуктивного анализа программ и подкрепить их практическими примерами, техниками и инструментами. Дедуктивный анализ предполагает четкое формулирование утверждений о поведении программ и их доказательство. Задания по данному курсу выполняются при помощи современных инструментов, используемых на практике.
• Спецсеминар «Компиляторные технологии» (зачет)
Специальные дисциплины:
• Дисциплина по выбору. Лекционный курс с экзаменом.
• Введение в информационную безопасность. Курс кафедры АСВК с экзаменом.
Дисциплины общей части:
• Иностранный язык (экзамен)
• Правоведение (экзамен)
• Межфакультетский курс по выбору (зачет)
В конце первого года магистратуры защищается курсовая работа.
Осенний семестр 2-го курса магистратуры
Вариативная часть:
Уникальные дисциплины:
• Анализ кода и информационная безопасность. Лекционный курс с экзаменом, семинарами и практическими заданиями. Курс посвящен проблемам информационной безопасности, возникающим на ключевых этапах жизненного цикла ПО. Рассматриваются особенности разработки и отладки программ, влияющие на безопасность, а также методы изучения программ в отсутствии исходных кодов.
• Спецсеминар «Компиляторные технологии» (зачет)
Специальные дисциплины:
• Теория игр и исследование операций. Курс кафедры ИО с экзаменом.
• Методы анализа и проектирования программного обеспечения. Курс кафедры СП с экзаменом и практическими заданиями по UML-моделированию.В курсе рассматриваются современные методы и средства анализа и проектирования программного обеспечения, основанные на применении объектно-ориентированного подхода и унифицированного языка моделирования, а также их практическое использование.
• Дисциплина по выбору. Лекционный курс с экзаменом.
Дисциплины общей части:
• Суперкомпьютерное моделирование и технологии. Курс кафедры СКИ с экзаменом.
• История и методология прикладной математики. Курс кафедры АСВК с зачетом.
• Межфакультетский курс по выбору (зачет).
• Научно-исследовательская работа (зачет).
Весенний семестр 2-го курса магистратуры
Вариативная часть:
Уникальные дисциплины:
• Современные архитектуры и компиляторные технологии. Лекционный курс с экзаменом, семинарами и практическими заданиями. В данном курсе будут рассмотрены параллельные модели и соответствующие им программные реализации. Студенты получат теоретические и практические знания о проблемах и сложностях параллельного программирования, существующих решениях, способах отладки и оптимизации программ. Акцент будет сделан на системную составляющую и организацию работы, а не конкретные технологии. Курс подкреплен практикумом с использованием современных технологий. Аналогом является курс института Беркли CS267 (Applications of Parallel Computers).
• Анализ программ: понимание и оптимизация. Лекционный курс на английском языке с зачетом.
• Спецсеминар «Компиляторные технологии» (зачет)
Специальная дисциплина:
• Дисциплина по выбору. Лекционный курс с зачетом.
Дисциплины общей части:
В конце второго года магистратуры выполняется преддипломная практика, защищается магистерская диссертация и сдается государственный экзамен.
Список курсов, предлагаемых как дисциплины по выбору:
• Контроль качества программного обеспечения. Лекционный курс кафедры СП с семинарами и практическими заданиями. Он знакомит слушателей с основными проблемами проверки качества сложных программных систем и современными подходами к их решению на основе тестирования. Рассматриваются как классические техники построения тестов, использующие конечные автоматы и комбинаторные схемы, так и более пригодные для систем реальной сложности интегрированные подходы. Разбираются различные техники организации тестовых наборов, понятие полноты тестирования и различные критерии полноты. Слушатели получают базовые знания в тестировании на основе моделей — новой, динамично развивающейся области на границе между теоретической информатикой и программной инженерией, а также представление о практических приложениях этого подхода.
• Методы интеллектуального анализа данных. Курс кафедры АСВК.
• Компьютерная алгебра. Курс кафедры АЯ.
• Модель данных SQL. Курс кафедры СП. Детально рассматривается язык SQL: его структура, типы данных SQL, средства определения, изменения определения и отмены определения доменов, неявные и явные преобразования типа или домена, средства определения базовых таблиц и ограничений целостности, структура оператора выборки и его разделов.
• Методы верификации моделей программного обеспечения. Лекционный курс кафедры СП с практическими заданиями. В курсе рассматриваются моделирование программ и формализация требований, спецификация и верификация параллельных программ, язык Promela и инструмент проверки моделей Spin, моделирование программ структурами Крипке, Автоматы Бюхи и ω-регулярные языки, дополнительные вопросы верификации моделей программ.
• Облачные вычисления и виртуализация информационных ресурсов. Курс кафедры АСВК.
|