Бакалавриат
2020/2021





Программирование для лингвистов
Лучший по критерию «Полезность курса для Вашей будущей карьеры»
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Статус:
Курс обязательный (Фундаментальная и прикладная лингвистика)
Направление:
45.03.03. Фундаментальная и прикладная лингвистика
Где читается:
Факультет гуманитарных наук (Нижний Новгород)
Когда читается:
4-й курс, 1 модуль
Формат изучения:
без онлайн-курса
Преподаватели:
Лепигина Анастасия Анатольевна
Язык:
русский
Кредиты:
3
Контактные часы:
28
Программа дисциплины
Аннотация
Данный курс призван закрепить у студентов умение решать задачи, связанные с обработкой текста (токенизация, лемматизация и т.д.), а также расширить кругозор путем знакомства с некоторыми алгоритмами (сортировок, обхода графов и др.). Кроме того, знакомство с различными инструментами и особенностями языка Python и наличие большого количества оцениваемых работ помогает студентам получить больше опыта в программировании и улучшить качество владения языком Python.
Цель освоения дисциплины
- Целями освоения дисциплины «Программирование для лингвистов» являются приобретение студентами навыков применения компьютерных технологий (в первую очередь, языка программирования Python) для решения возникающих на практике лингвистических задач, а также задач сортировки, обходов графа и нахождения в нем кратчайших путей, создания и использования собственных классов.
Планируемые результаты обучения
- Студент решает задачу сортировки при помощи одного из рассмотренных алгоритмов
- Студент решает задачи обхода графа в ширину и глубину, нахождения кратчайших путей, раскраски и визуализации графов.
- Студент решает задачу создания собственных классов и их использования
- Студент решает задачи токенизации, лемматизации текста и составления частотного словаря.
Содержание учебной дисциплины
- Инструменты обработки текстаИспользование модуля nltk для токенизации текста, mystem или pymorphy -- для лемматизации, составление частотного словаря.
- Разбор и реализация некоторых алгоритмов сортировокПолучение представления о задаче сортировки. Разбор и реализация двух алгоритмов сортировки: сортировка пузырьком и быстрая сортировка
- Графы: разбор и реализация некоторых алгоритмов. Знакомство с networkx.Получение представления о графах, основных задачах и способах их решения. Реализация некоторых алгоритмов:: поиск в глубину и ширину, раскраска графа, алгоритм Дейкстры, Краскала. Решение задачи построения графа слов. Знакомство с модулем networkx, визуализация графов при помощи него.
- ООП в питоне: создание классов, объектов, атрибутов и методов классаПолучение представления о задании собственных классов и их использовании, реализация примера.
Элементы контроля
- Практическое задание
- Практическое задание
- Практическое задание
- Практическое задание
- Практическое задание
- Практическое задание
- Практическое задание
Промежуточная аттестация
- Промежуточная аттестация (1 модуль)0.15 * Практическое задание + 0.14 * Практическое задание + 0.14 * Практическое задание + 0.14 * Практическое задание + 0.14 * Практическое задание + 0.14 * Практическое задание + 0.15 * Практическое задание
Список литературы
Рекомендуемая основная литература
- Алгоритмы и структуры данных (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
Рекомендуемая дополнительная литература
- Алексеев В.Е., Таланов В.А. - Графы и алгоритмы - Национальный Открытый Университет "ИНТУИТ" - 2016 - 153с. - ISBN: 5-9556-0066-3 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/100593