Аспирантура
2020/2021
Программирование
Статус:
Курс по выбору
Направление:
45.06.01. Языкознание и литературоведение
Кто читает:
Школа лингвистики
Когда читается:
1-й курс, 1 семестр
Формат изучения:
без онлайн-курса
Язык:
русский
Кредиты:
4
Контактные часы:
40
Программа дисциплины
Аннотация
Курс нацелен на решение конкретных исследовательских задач с помощью языков программирования Python и R. Аспиранты познакомятся с базовыми структурами данных, необходимыми для реализации алгоритмов, связанных с обработкой текста (деревья, графы и т. п.), а также научатся работать с ними средствами языков программирования. В рамках курса аспиранты работают с лингвистическими данными, собранными в ходе собственного диссертационного исследования.
Цель освоения дисциплины
- Цели курса: 1. познакомить слушателей, знакомых с основами программирования на языке Python, с объектно-ориентированным подходом и его особенностями в языке Python, а также с рядом функций и модулей этого языка; 2. познакомить слушателей с базовыми структурами данных, необходимыми для реализации алгоритмов, связанных с обработкой текста (деревья, графы и т. п.), и научить их работать с ними средствами языка Python.
Планируемые результаты обучения
- Знает английские эквиваленты всех используемых в курсе терминов и понятий
- Умеет пользоваться документацией на английском языке
- Владеет принципами объектно-ориентированного программирования и применяет их при работе с языком Python
- Использует ряд конструкций и модулей языка Python
- Умеет реализовывать базовые структуры данных на языке Python
- Умеет решать практические задачи, связанные с обработкой текстов, с помощью языка Python
Содержание учебной дисциплины
- 1. Объектно-ориентированное программирование.1. Принципы и понятия объектно-ориентированного программирования. 2. Пространства имён в языке Python. Классы, экземпляры классов, конструкторы, свойства и методы. Конструкторы с аргументами. 3. Наследование, переопределение функций. 4. Встроенные функции: __repr__, функции сравнения и их использование для сортировки объектов. 5. Композиция как альтернатива наследованию.
- 2. Базовые структуры данных и модули языка Python, применяемые при решении практических задач компьютерной лингвистики.1. Деревья, реализация базовых алгоритмов для работы с деревьями: поиск, обход дерева, нахождение пути между вершинами, нахождение всех вершин одного уровня. 2. Графы, базовые алгоритмы на графах 3. Стек, очередь. Поиск в ширину и глубину. 4. XML и HTML как деревья. Парсинг XML с помощью модуля lxml, сравнение с регулярными выражениями. 5. Реализация конечных автоматов и трансдьюсеров с помощью языка Python.
Список литературы
Рекомендуемая основная литература
- Bengfort, B., Bilbro, R., & Ojeda, T. (2018). Applied Text Analysis with Python : Enabling Language-Aware Data Products with Machine Learning. Beijing: O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=nlebk&AN=1827695
- Romano, F. (2015). Learning Python. Birmingham: Packt Publishing. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=nlebk&AN=1133614
Рекомендуемая дополнительная литература
- Bhasin, H. (2019). Python Basics : A Self-Teaching Introduction. Dulles, Virginia: Mercury Learning & Information. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1991381
- Lacey, N. (2019). Python by Example : Learning to Program in 150 Challenges. Cambridge: Cambridge University Press. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=2112094
- Layton, R. (2017). Learning Data Mining with Python - Second Edition (Vol. Second edition). Birmingham: Packt Publishing. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=nlebk&AN=1534825
- Zimmerman, J. (2018). Python Descriptors : Understanding and Using the Descriptor Protocol (Vol. Second edition). [New York]: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1910301