Бакалавриат
2020/2021
Программирование для лингвистов
Лучший по критерию «Полезность курса для Вашей будущей карьеры»
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Лучший по критерию «Новизна полученных знаний»
Статус:
Курс обязательный (Фундаментальная и прикладная лингвистика)
Направление:
45.03.03. Фундаментальная и прикладная лингвистика
Где читается:
Факультет гуманитарных наук (Нижний Новгород)
Когда читается:
2-й курс, 1, 2 модуль
Формат изучения:
без онлайн-курса
Преподаватели:
Демидовский Александр Владимирович
Язык:
русский
Кредиты:
4
Контактные часы:
60
Программа дисциплины
Аннотация
Курс предназначен для приобретения навыков программирования с использованием компьютерных технологий (в первую очередь, язык программирования Python) для решения возникающих на практике лингвистических задач.
Цель освоения дисциплины
- Получение навыков написания программ с использованием объектно-ориентированного подхода
- Получение навыков составления и реализации программ на языке Python
- Приобретение опыта работы со средами разработки для языка Python (PyCharm, ipython)
- Использование языка Python для реализации задач машинного обучения в лингвистике
Планируемые результаты обучения
- Умеет строить программный прототип в рамках объектно-ориентированной парадигмы
- Умеет разрабатывать интерфейс программного прототипа в pygame
- Умеет осуществлять следующие операции с xml-файлами: создание, удаление, изменение и поиск элемента. Сохранение измененных данных
- Может формализовать и программно реализовать алгоритм ближайшего соседа
- Может формализовать и программно реализовать алгоритм Байеса
- Может формализовать и программно реализовать алгоритм q learning
Содержание учебной дисциплины
- Тема 1. Введение в объектно-ориентированное программирование (ООП).Принципы и понятия объектно-ориентированного программирования. Создание классов, наследование, доступ к параметрам класса, написание функционала класса.Понятие модели данных. Структуризация данных. Операции над данными. Ограничения целостности. Реляционная модель данных (РМД). Отношение, схема отношения, свойства отношения.
- Тема 2. Изучение pygameИзучение возможностей библиотеки pygame для создания GUI приложения. Создание окна, обработка нажатий клавиш, отрисовка изменений.
- Тема 3. Алгоритмы работы с xmlИзучение возможностей библиотеки xml.etree.ElementTree. Обработка xml файла, создание, удаление, изменение и поиск элемента. Сохранение измененных данных.
- Тема 4. Основы алгоритмов машинного обученияПринципы и понятия машинного обучения. Постановки и примеры задач. Обучение с учителем и без учителя. Базовые алгоритмы машинного обучения. Разбор таких алгоритмов, как алгоритм ближайшего соседа, алгоритм Байеса, метод машины опорных векторов и q learning.
Промежуточная аттестация
- Промежуточная аттестация (2 модуль)0.35 * Аудиторная работа + 0.15 * Домашнее задание + 0.5 * Экзамен
Список литературы
Рекомендуемая основная литература
- Основы алгоритмизации и программирования на Python : учеб. пособие / С.Р. Гуриков. — М. : ФОРУМ : ИНФРА-М, 2018. — 343 с. — (Среднее профессиональное образование). - Режим доступа: http://znanium.com/catalog/product/961522
Рекомендуемая дополнительная литература
- Sarkar, D., Bali, R., & Sharma, T. (2018). Practical Machine Learning with Python : A Problem-Solver’s Guide to Building Real-World Intelligent Systems. [United States]: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1667293