• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Machine Learning in SE

2021/2022
Academic Year
RUS
Instruction in Russian
4
ECTS credits
Delivered at:
Department of Informatics
Course type:
Elective course
When:
1 year, 1, 2 module

Instructor

Программа дисциплины

Аннотация

Машинное обучение активно используется в самых разных областях, программная инженерия в этом смысле не исключение. Данный курс предлагает для рассмотрения полтора десятка практических задач из области программирования и разработки ПО, а также области применения машинного обучения для их решения: какие данные и методы для этого используются, какие сложности возникают, каков текущий прогресс в этих задачах и какие проблемы в целом сейчас актуальны в области машинного обучения в SE. На курсе разбираются самые актуальные научные статьи последних лет, а для получения оценки студентам необходимо выполнить групповой практический проект по одной из предлагаемых тем. Является дисциплиной по выбору.
Цель освоения дисциплины

Цель освоения дисциплины

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

Планируемые результаты обучения

  • Знает области целесообразного применения методом машинного обучения, в том числе в области разработки программных проектов.
  • Знает области целесообразного применения методом машинного обучения, в том числе в области разработки программных проектов. Читает свой и чужой код, проводит отладку программы. Определяет целесообразность применения методов машинного обучения для выбранной задачи.
  • Знает основные подходы и методы машинного обучения, понимает их сильные и слабые стороны, границы применимости. Умеет замерять эффективность построенных моделей
  • Разрабатывает модели и прототипы приложений для выбранной задачи на распространённых языках программирования.
  • Формулирует алгоритм решения задачи в виде последовательности действий, основанных на методах машинного обучения. Реализует алгоритмы решения выбранной задачи на подходящих языках программирования и с использованием соответствующих библиотек.
  • Читает свой и чужой код, проводит отладку программы. Определяет целесообразность применения методов машинного обучения для выбранной задачи.
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Постановка задачи машинного обучения
  • Использования машинного обучения для предсказания и оценки
  • Использование машинного обучения для задач синтеза кода
  • Использование машинного обучения для оптимизации архитектуры кода
  • Использование машинного обучения для поиска дубликатов
  • Использование техник обработки естественных языков
  • Использование машинного обучения для анализа кода
Элементы контроля

Элементы контроля

  • неблокирующий Домашнее задание 1
  • неблокирующий Домашнее задание 2
  • неблокирующий Домашнее задание 3
  • блокирующий Устный экзамен
Промежуточная аттестация

Промежуточная аттестация

  • Промежуточная аттестация (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