2023/2024
Машинное обучение в SE
Лучший по критерию «Полезность курса для Вашей будущей карьеры»
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Лучший по критерию «Новизна полученных знаний»
Статус:
Маго-лего
Кто читает:
Департамент информатики
Когда читается:
3 модуль
Охват аудитории:
для своего кампуса
Преподаватели:
Шпильман Алексей Александрович
Язык:
русский
Кредиты:
3
Контактные часы:
32
Программа дисциплины
Аннотация
Является дисциплиной по выбору. Студенты изучат основные области применения методов машинного обучения для задач анализа и генерации кода, анализа хода программных проектов, поиска и исправления ошибок, генерации тестов и тестовых данных, реструктуризации кода и других видов деятельности, осуществляемых в проектах по разработке программного обеспечения. Для освоения дисциплины студентам необходимы знания из области больших данных.
Цель освоения дисциплины
- Формирование у студентов теоретических знаний и практических навыков использования методов машинного обучения и естественной обработки текстов в области работы с кодом и разработки программного обеспечения.
Планируемые результаты обучения
- Знает основные виды деятельности, осуществляемые при разработке программного обеспечения, и то, как в них могли бы быть использованы методы машинного обучения.
- Умеет выбрать подходящий метод машинного обучения и естественной обработки текстов для создания модели или прототипа инструмента, помогающего в решении задач, возникающих при разработке программного обеспечения.
- Умеет реализовать сбор и предобработку данных на основе репозитория с исходным кодом.
- Имеет навыки использования существующих популярных библиотек, реализующих алгоритмы машинного обучения, для решения задач, актуальных в проектах по разработке программного обеспечения.
Содержание учебной дисциплины
- Раздел 1. Постановка задачи машинного обучения в области программной инженерии
- Раздел 2. Использования машинного обучения для предсказания и оценки
- Раздел 3. Использование машинного обучения для задач синтеза кода
- Раздел 4. Использование машинного обучения для оптимизации архитектуры кода
- Раздел 5. Использование машинного обучения для поиска дубликатов
- Раздел 6. Использование техник обработки естественных языков
- Раздел 7. Использование машинного обучения для анализа кода
Элементы контроля
- ЭкзаменУстный экзамен проводится в форме ответов на вопросы экзаменационного билета и дополнительные вопросы по материалам курса. Экзаменационный билет содержит два вопроса. На подготовку ответа выделяется 40 минут.
- Домашнее задание №1Домашнее задание №1 выдается студентам в одном варианте. Срок выполнения домашнего задания – 3 недели. Форма представления обучающимися домашнего задания – программа на одном из распространённых языков программирования.
- Домашнее задание №3Домашнее задание №3 выдается студентам в одном варианте. Срок выполнения домашнего задания – 3 недели. Форма представления обучающимися домашнего задания – программа на одном из распространённых языков программирования.
- Домашнее задание №2Домашнее задание №2 выдается студентам в одном варианте. Срок выполнения домашнего задания – 2 недели. Форма представления обучающимися домашнего задания – программа на одном из распространённых языков программирования.
Промежуточная аттестация
- 2023/2024 учебный год 3 модульПреподаватель учитывает оценку за текущий контроль (домашние задания). Онакопленная = (Од/з1 + Од/з2 + Од/з3) / 3
Список литературы
Рекомендуемая основная литература
- Zimmermann, T., Menzies, T., & Bird, C. (2015). The Art and Science of Analyzing Software Data. Amsterdam: Morgan Kaufmann. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=593414
Рекомендуемая дополнительная литература
- Kelleher, J. D. (2019). Deep Learning. Cambridge: The MIT Press. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=2234376