Differences
This shows you the differences between two versions of the page.
| apmdd [2026/08/29 07:53] – Bulk sync migration user | apmdd [2026/08/29 07:59] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ===== Автоматизация программирования (кафедра АТП) ===== | ||
| + | Курс посвящен применению интеллектуальных методов (machine learning) и средств автоматизации в информатике (computer science) и программной инженерии (software engineering). | ||
| + | |||
| + | В первой части курса студентам предлагается познакомиться с методами автоматического создания программ с применением грамматик, | ||
| + | |||
| + | Вторая часть курса посвящена выполнению небольшого исследовательского проекта, | ||
| + | |||
| + | Форма отчетности по курсу: дифференцированный зачет. | ||
| + | |||
| + | ==== Темы и курса ==== | ||
| + | |||
| + | - Введение в автоматические методы разработкии. Организационные вопросы, | ||
| + | - Предметно-ориентированные языки. DSL. Грамматики. Парсеры. Разработка языков. | ||
| + | - Анализ кода репозиториев. Индукция и синтез программ. Задача программирования на естественном языке. Задача для робота Karel | ||
| + | - Методы синтеза программ. Элементы обучения с подкреплением. Beam search. Execution. Partial programs, Meta-induction. Language models | ||
| + | - Введение в тестирование. Моделирование и верификация программ. Модели конечных автоматов, | ||
| + | - Автоматизация тестирования. Фаззинг. Тестирование свойств. Инварианты. Применения к различным задачам | ||
| + | - Формальные методы верификации. Введение в блокчейн и смарт контракты. Применение метода “Проверка модели” для верификации блокчейн систем. Статистические методы верификации. | ||
| + | - Систематичекий обзор. Поиск и изучение литературы. Systematic Literature Review (SLR). Mapping Study. Link Review. | ||
| + | - Проблемы воспроизводимости в научных исследованиях. Методы и программные средства автоматизации воспроизводимых экспериментов. Оформление и требования к эксперименту. Анализ результатов. | ||
| + | |||
| + | ==== Система оценивания ==== | ||
| + | |||
| + | Оценка за дифференцированный зачет по курсу выставляется преподавателем с учетом баллов, | ||
| + | |||
| + | Итоговые баллы = Лабораторные работы (50%) + исследовательский проект (50%). | ||
| + | |||
| + | Всего для получения оценки отл(10) нужно 60 баллов из 82 максимально возможных. | ||
| + | |||
| + | **Лабораторные работы** | ||
| + | |||
| + | * Лабораторная работа вступительная - автоматические методы (до 18 февраля) | ||
| + | * Лабораторная работа по DSL - создание языка для Karel (до 25 февраля) | ||
| + | * Лабораторная работа по синтезу программ - NPS для Karel (до 22 апреля) | ||
| + | * Лабораторная работа по metamorphic testing (до 25 марта) | ||
| + | * Лабораторная работа по верификации блокчейн (до 08 апреля) | ||
| + | |||
| + | Каждая лабораторная работа дает до 10 баллов при сдаче вовремя. 30 баллов - это 50% оценки. Максимум 40 баллов - это 67%. Пропуск срока по лабораторной - х0.5. | ||
| + | |||
| + | Лабораторные работы поделены на задания. За каждое задание засчитывается указанное в нем число баллов. Если за лабораторную набрано менее 50% баллов, | ||
| + | |||
| + | Ориентировочные критерии оценки заданий лабораторных работ: | ||
| + | |||
| + | - правильность выполнения задач и ответов на вопросы, | ||
| + | - полнота решения, | ||
| + | - понимание примененных методов и способность аргументировать решение и разобраться и исправить ошибки | ||
| + | |||
| + | **Сдача экстерном** | ||
| + | |||
| + | Для уточнения возможности и условий сдачи курса экстерном, | ||
| + | |||
| + | **Исследовательский проект** | ||
| + | |||
| + | Проект включает два задания на выбранную и согласованную тему: проведение систематического обзора и повторение вычислительного эксперимента. | ||
| + | |||
| + | Ориентировочные критерии оценки исследовательского проекта: | ||
| + | |||
| + | - степень погружения и освоения выбранной темы проекта | ||
| + | - следование методам проведения исследований, | ||
| + | - научная ценность проведенного исследования, | ||
| + | |||
| + | Баллы за исследовательский проект складываются из баллов за выбор и обоснование темы (5 баллов), | ||
| + | |||
| + | Из суммы баллов за исследовательский проект вычитается 50% от максимальной суммы, результат умножается на 2. Нулевая и отрицательная оценка не засчитывается и считается равной нулю. | ||
| + | |||
| + | **Посещаемость, | ||
| + | |||
| + | При пропусках занятий более 2-х раз или недостаточном количестве баллов (в сумме менее 24 баллов) к концу двенадцатой недели курса, или невыполнении исследовательского проекта, | ||
| + | |||
| + | **Информация о пересдачах** | ||
| + | |||
| + | Система оценивания при пересдаче курса, в том числе при восстановлении и переводе, | ||
| + | |||
| + | Доделанные задания по курсу нужно отправить за два дня до даты пересдачи для их своевременной проверки. | ||
| + | |||
| + | Даты и время проведения пересдач по курсу смотрите в личном кабинете или следите за объявлениями кафедры. | ||
| + | |||
| + | **Досрочная сдача курса** | ||
| + | |||
| + | В случае вынужденного отсутствия по уважительной причине в период проведения аттестации по курсу (сдачи заданий, | ||
| + | |||
| + | ==== Систематический обзор ==== | ||
| + | |||
| + | Систематический обзор литературы в определенной области - это метод исследования предметной области с целью получения ответов на интересующие вопросы. Систематический обзор, при должном исполнении, | ||
| + | |||
| + | Порядок выполнения систематического обзора приведен в таблице ниже. Результаты систематического обзора оформляются в виде набора документов | ||
| + | |||
| + | - полный список источников (long list) | ||
| + | - список отобранных источников (short list) | ||
| + | - отчет с результатами | ||
| + | |||
| + | ^ № ^ Что делать ^ В чем результат ^ Где фиксируется результат ^ | ||
| + | | 1. | Сформулиовать цели проведения обзора | Формулировка цели, перечень вопросов (Research Questions, напр. RQ1, RQ2..) | Отдельный раздел в отчете с результатами | | ||
| + | | 2. | Описать протокол поиска источников | Приведен перечень баз данных, | ||
| + | | 3. | Сформулировать критерии выбора источников | Требования, | ||
| + | | 4. | Выполнить поиск источников согласно протоколу | Полный список найденных источников | Таблица с полным списком в отдельном документе | | ||
| + | | 5. | Отобрать источники из полного списка, | ||
| + | | 6. | По каждому вопросу исследования собрать информацию из отобранных источников | Ответ на вопрос с отсылками к источникам | Для каждого вопроса - отдельный подраздел | | ||
| + | | 7. | Подготовить заключение: | ||
| + | |||
| + | Литература: | ||
| + | |||
| + | - Kitchenham, B.A. and S. Charters (2007) Guidelines for performing systematic literature reviews in software engineering, | ||
| + | - См. также слайды. | ||
| + | |||
| + | ==== Повторение эксперимента ==== | ||
| + | |||
| + | Повторение опубликованных ранее результатов другими исследователями - важная процедура в научном исследовании, | ||
| + | |||
| + | Порядок повторения результатов по теме приведен в таблице ниже. Результаты фиксируются в следующих документах | ||
| + | |||
| + | - отчет о повторении результатов | ||
| + | - исходный код и данные | ||
| + | |||
| + | Требования к статье для повторения | ||
| + | |||
| + | - должен быть доступен исходный код для основного результата статьи | ||
| + | - доступны данные, | ||
| + | - результат отражает state-of-the-art | ||
| + | |||
| + | ^ # ^ Что делать ^ В чем результат ^ Где фиксируется результат ^ | ||
| + | | 1. | Найти и согласовать статью, | ||
| + | | 2. | Получить и сохранить код и данные, | ||
| + | | 3. | Повторить эксперимент по описаннию в статье | Выявлены отклонения и неточности в описании эксперимента, | ||
| + | | 4. | Сравнить результаты с полученными в статье | Получены собственные количественные результаты эксперимента, | ||
| + | | 5. | Сделать выводы о повторяемости результатов статьи | Выводы о повторяемости результатов статьи и возможности их использования | Раздел в отчете о повторении результатов | | ||
| + | |||
| + | Литература | ||
| + | |||
| + | - Geir Kjetil Sandve, Anton Nekrutenko, James Taylor, Eivind Hovig. Ten Simple Rules for Reproducible Computational Research | ||
| + | - См. также сайт reproducibleresearch.net | ||
| + | |||
| + | ==== Контакты ==== | ||
| + | |||
| + | **Хританков Антон Сергеевич**, | ||
| + | |||
| + | **Федотов Иван Андреевич**, | ||
| + | |||
| + | **Якушева Софья Федоровна**, | ||