We use cookies in order to improve the quality and usability of the HSE website. More information about the use of cookies is available here, and the regulations on processing personal data can be found here. By continuing to use the site, you hereby confirm that you have been informed of the use of cookies by the HSE website and agree with our rules for processing personal data. You may disable cookies in your browser settings.

  • 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. — 338 с. — ISBN 978-5-97060-095-5. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/66480 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.

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

  • 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
  • Алексеев, В. Е. Графы и алгоритмы : учебное пособие / В. Е. Алексеев, В. А. Таланов. — 2-е изд. — Москва : ИНТУИТ, 2016. — 153 с. — ISBN 5-9556-0066-3. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100593 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.

Авторы

  • Тугарев Артем Михайлович
  • Лепигина Анастасия Анатольевна