• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Аспирантура 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.
Элементы контроля

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

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

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

  • Промежуточная аттестация (I семестр)
    0.5 * Домашнее задание + 0.5 * Экзамен
Список литературы

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

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

  • 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