Магистратура
2020/2021
Машинное обучение в SE
Статус:
Курс по выбору (Промышленное программирование)
Направление:
01.04.02. Прикладная математика и информатика
Кто читает:
Департамент информатики
Когда читается:
2-й курс, 1, 2 модуль
Формат изучения:
без онлайн-курса
Преподаватели:
Брыксин Тимофей Александрович
Прогр. обучения:
Промышленное программирование
Язык:
русский
Кредиты:
4
Контактные часы:
44
Программа дисциплины
Аннотация
Целью освоения дисциплины является формирование у студентов теоретических знаний и практических навыков использования методом машинного обучения и естественной обработки текстов в области работы с кодом и разработки программного обеспечения. В результате изучения этой дисциплины студенты будут понимать основные области применения методов машинного обучения для задач анализа и генерации кода, анализа хода программных проектов, поиска и исправления ошибок, генерации тестов и тестовых данных, реструктуризации кода и других видов деятельности, осуществляемых в проектах по разработке программного обеспечения. В результате освоения дисциплины студент должен: − понимать основные виды деятельности, осуществляемые при разработке программного обеспечения, и то, как в них могли бы быть использованы методы машинного обучения; − уметь выбрать подходящий метод машинного обучения и естественной обработки текстов для создания модели или прототипа инструмента, помогающего в решении задач, возникающих при разработке программного обеспечения; − уметь реализовать сбор и предобработку данных на основе репозитория с исходным кодом; − иметь навыки (приобрести опыт) использования существующих популярных библиотек, реализующих алгоритмы машинного обучения, для решения задач, актуальных в проектах по разработке программного обеспечения.
Цель освоения дисциплины
- формирование у студентов теоретических знаний и практических навыков использования методом машинного обучения и естественной обработки текстов в области работы с кодом и разработки программного обеспечения.
Планируемые результаты обучения
- Знает области целесообразного применения методом машинного обучения, в том числе в области разработки программных проектов.
- Знает области целесообразного применения методом машинного обучения, в том числе в области разработки программных проектов. Читает свой и чужой код, проводит отладку программы. Определяет целесообразность применения методов машинного обучения для выбранной задачи.
- Знает основные подходы и методы машинного обучения, понимает их сильные и слабые стороны, границы применимости. Умеет замерять эффективность построенных моделей
- Разрабатывает модели и прототипы приложений для выбранной задачи на распространённых языках программирования.
- Формулирует алгоритм решения задачи в виде последовательности действий, основанных на методах машинного обучения. Реализует алгоритмы решения выбранной задачи на подходящих языках программирования и с использованием соответствующих библиотек.
- Читает свой и чужой код, проводит отладку программы. Определяет целесообразность применения методов машинного обучения для выбранной задачи.
Содержание учебной дисциплины
- Постановка задачи машинного обучения
- Использования машинного обучения для предсказания и оценки
- Использование машинного обучения для задач синтеза кода
- Использование машинного обучения для оптимизации архитектуры кода
- Использование машинного обучения для поиска дубликатов
- Использование техник обработки естественных языков
- Использование машинного обучения для анализа кода
Промежуточная аттестация
- Промежуточная аттестация (2 модуль)0.16 * Домашнее задание 1 + 0.16 * Домашнее задание 2 + 0.18 * Домашнее задание 3 + 0.5 * Устный экзамен
Список литературы
Рекомендуемая основная литература
- 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