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

Programming for Linguists

2021/2022
Academic Year
RUS
Instruction in Russian
3
ECTS credits
Delivered at:
Department of Applied Mathematics and Informatics (Faculty of Informatics, Mathematics, and Computer Science (HSE Nizhny Novgorod))
Course type:
Elective course
When:
4 year, 1 module

Instructor


Лепигина Анастасия Анатольевна

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

Аннотация

Данный курс призван закрепить у студентов умение решать задачи, связанные с обработкой текста (токенизация, лемматизация и т.д.), а также расширить кругозор путем знакомства с некоторыми алгоритмами (сортировок, обхода графов и др.). Кроме того, знакомство с различными инструментами и особенностями языка Python и наличие большого количества оцениваемых работ помогает студентам получить больше опыта в программировании и улучшить качество владения языком Python.
Цель освоения дисциплины

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

  • Цель курса — научить студентов применять компьютерные технологии (в первую очередь, язык программирования Python) для решения возникающих на практике лингвистических задач (автоматическая обработка и анализ текстовых данных, поиск информации и др.)
  • Целями освоения дисциплины «Программирование для лингвистов» являются приобретение студентами навыков применения компьютерных технологий (в первую очередь, языка программирования Python) для решения возникающих на практике лингвистических задач, а также задач сортировки, обходов графа и нахождения в нем кратчайших путей, создания и использования собственных классов.
Планируемые результаты обучения

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

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

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

  • Инструменты обработки текста
  • Тема 1. Введение в ООП, Базовые принципы тестирования
  • Разбор и реализация некоторых алгоритмов сортировок
  • Тема 2. Система контроля версий Git, Сложность алгоритмов
  • Графы: разбор и реализация некоторых алгоритмов. Знакомство с networkx.
  • Тема 3. Структуры данных, Принципы тестирования, Принципы SOLID
  • ООП в питоне: создание классов, объектов, атрибутов и методов класса
Элементы контроля

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

  • неблокирующий Аудиторная работа
  • неблокирующий Экзамен
  • неблокирующий Практическое задание
  • неблокирующий Практическое задание
  • неблокирующий Практическое задание
  • неблокирующий Практическое задание
  • неблокирующий Практическое задание
  • неблокирующий Практическое задание
  • неблокирующий Практическое задание
Промежуточная аттестация

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

  • 2020/2021 учебный год 4 модуль
    0.5 * Экзамен + 0.5 * Аудиторная работа
  • 2021/2022 учебный год 1 модуль
    0.14 * Практическое задание + 0.14 * Практическое задание + 0.14 * Практическое задание + 0.14 * Практическое задание + 0.15 * Практическое задание + 0.14 * Практическое задание + 0.15 * Практическое задание
Список литературы

Список литературы

Рекомендуемая основная литература

  • Hetland, M. L. (2014). Python Algorithms : Mastering Basic Algorithms in the Python Language (Vol. Second edition). [New York, N.Y.]: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1174465
  • Алгоритмы и структуры данных (CDIO): Учебник / Царев Р.Ю., Прокопенко А.В. - Краснояр.:СФУ, 2016. - 204 с.: ISBN 978-5-7638-3388-1
  • Саммерфилд М. - Python на практике - Издательство "ДМК Пресс" - 2014 - ISBN: 978-5-97060-095-5 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/66480

Рекомендуемая дополнительная литература

  • Kurdi, M. Z. (2017). Natural Language Processing and Computational Linguistics 2 : Semantics, Discourse and Applications. London, UK: Wiley-ISTE. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1642577
  • Алексеев В.Е., Таланов В.А. - Графы и алгоритмы - Национальный Открытый Университет "ИНТУИТ" - 2016 - ISBN: 5-9556-0066-3 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/100593