Автоматизация программирования весна 2026

Материал из Public ATP Wiki
Версия от 15:16, 30 января 2026; Yakusheva (обсуждение | вклад) (Новая страница: «== Описание == Курс посвящен применению интеллектуальных методов (machine learning) и средств авт…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Описание

Курс посвящен применению интеллектуальных методов (machine learning) и средств автоматизации в информатике (computer science) и программной инженерии (software engineering).

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

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

Форма отчетности по курсу: дифференцированный зачет.

Альтернативные варианты сдачи курса

  • Сдача экстерном

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

  • Перезачет

Курс может быть перезачтен, если он уже был пройден с оценкой "хорошо" или "отлично". В противном случае курс необходимо сдать повторно.

Система оценивания

  • Оценка за дифференцированный зачет по курсу выставляется преподавателем с учетом баллов, набранных при основении курса в течение семестра.
  • Итоговые баллы = Лабораторные работы (50%) + исследовательский проект (50%).
  • Всего для получения оценки отл(10) нужно 60 баллов из 82 максимально возможных.
  • Каждая лабораторная работа дает до 10 баллов при сдаче вовремя. 30 баллов - это 50% оценки. Максимум 40 баллов - это 67%. Пропуск срока по лабораторной - штраф 50%. Если за лабораторную набрано менее 50% баллов, они не засчитываются.
  • При пропусках занятий более 2-х раз или недостаточном количестве баллов (в сумме менее 24 баллов) к концу двенадцатой недели курса, или невыполнении исследовательского проекта, для получения оценки по курсу нужно пройти устный опрос по билетам по темам курса (добавит до 12 баллов до оценки удовл., на усмотрение преподавателя). Если и в этом случае баллов недостаточно, невыполненные задания по курсу могут быть сделаны к пересдаче.

Сдача лабораторных работ

Темы

  • Лабораторная работа 0 вступительная - автоматические методы (до XX.XX)
  • Лабораторная работа 1 по DSL - создание языка для Karel (до XX.XX)
  • Лабораторная работа 2 по синтезу программ - NPS для Karel (до XX.XX)
  • Лабораторная работа 3 по metamorphic testing (до XX.XX)
  • Лабораторная работа 4 по верификации блокчейн (до XX.XX)

Каждая лабораторная работа дает до 10 баллов при сдаче вовремя. 30 баллов - это 50% оценки. Максимум 40 баллов - это 67%. Пропуск срока по лабораторной - штраф в половину баллов.

Лабораторные работы поделены на задания. За каждое задание засчитывается указанное в нем число баллов. Если за лабораторную набрано менее 50% баллов, они не засчитываются.

Ориентировочные критерии оценки заданий лабораторных работ:

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

Исследовательский проект

Проект включает два задания на выбранную и согласованную тему: проведение систематического обзора и повторение вычислительного эксперимента.

Ориентировочные критерии оценки исследовательского проекта:

  • степень погружения и освоения выбранной темы проекта
  • следование методам проведения исследований, наличие и качество выполнения сопровождающих проект артефактов (таблиц, отчетов, слайдов)
  • научная ценность проведенного исследования, пригодность результатов для представления на научной конференции

Баллы за исследовательский проект складываются из баллов за выбор и обоснование темы (5 баллов), выполнение систематического обзора (10 баллов), повторение эксперимента (10 баллов), выступление с финальным докладом (5 баллов). Итого за проект - максимум 30 баллов.

Из суммы баллов за исследовательский проект вычитается 50% от максимальной суммы, результат умножается на 2. Нулевая и отрицательная оценка не засчитывается и считается равной нулю.

Систематический обзор

Систематический обзор литературы в определенной области - это метод исследования предметной области с целью получения ответов на интересующие вопросы. Систематический обзор, при должном исполнении, может быть отнесен к методам исследований, которые допускают проверку и повторение результатов.

Порядок выполнения систематического обзора приведен в таблице ниже. Результаты систематического обзора оформляются в виде набора документов

  • полный список источников (long list)
  • список отобранных источников (short list)
  • отчет с результатами


Темы курса

  • Введение в автоматические методы разработкии. Организационные вопросы, программа курса. Критерии оценки.
  • Предметно-ориентированные языки. DSL. Грамматики. Парсеры. Разработка языков.
  • Анализ кода репозиториев. Индукция и синтез программ. Задача программирования на естественном языке. Задача для робота Karel
  • Методы синтеза программ. Элементы обучения с подкреплением. Beam search. Execution. Partial programs, Meta-induction. Language models
  • Введение в тестирование. Моделирование и верификация программ. Модели конечных автоматов, pre- post- условий. *Генерация тестов. Мутационное тестирование
  • Автоматизация тестирования. Фаззинг. Тестирование свойств. Инварианты. Применения к различным задачам
  • Формальные методы верификации. Введение в блокчейн и смарт контракты. Применение метода “Проверка модели” для верификации блокчейн систем. Статистические методы верификации.
  • Систематичекий обзор. Поиск и изучение литературы. Systematic Literature Review (SLR). Mapping Study. Link Review.
  • Проблемы воспроизводимости в научных исследованиях. Методы и программные средства автоматизации воспроизводимых экспериментов. Оформление и требования к эксперименту. Анализ результатов.