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

Big Data Software Engineering

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

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

Аннотация

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

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

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

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

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

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

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

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

  • неблокирующий Домашнее задание 1
  • неблокирующий Домашнее задание 2
  • неблокирующий Домашнее задание 3
  • блокирующий Экзамен
    Экзамен проходит в онлайн-формате на платформе Zoom.
Промежуточная аттестация

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

  • Промежуточная аттестация (3 модуль)
    0.24 * Домашнее задание 1 + 0.23 * Домашнее задание 2 + 0.23 * Домашнее задание 3 + 0.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