• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Магистратура 2020/2021

Программирование (язык Python)

Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Лучший по критерию «Новизна полученных знаний»
Статус: Курс обязательный (Цифровые методы в гуманитарных науках)
Направление: 45.04.03. Фундаментальная и прикладная лингвистика
Когда читается: 1-й курс, 1-4 модуль
Формат изучения: без онлайн-курса
Преподаватели: Орехов Борис Валерьевич, Скоринкин Даниил Андреевич
Прогр. обучения: Цифровые методы в гуманитарных науках
Язык: русский
Кредиты: 7
Контактные часы: 120

Программа дисциплины

Аннотация

Курс «Программирование (язык Python)» читается на 1-ом курсе, в 1-4 модуле, магистерской программы «Цифровые методы в гуманитарных науках». Без использования онлайн-курса. Изучение дисциплины не требует специальных пререквизитов. Основные положения дисциплины должны быть использованы в дальнейшем при изучении дисциплин: 1. Научно-исследовательский семинар 2. Подготовка и защита выпускной квалификационной работы
Цель освоения дисциплины

Цель освоения дисциплины

  • Цель освоения дисциплины «Программирование (язык Python)» – научить слушателей применять базовые навыки на языке программирования Python для решения возникающих на практике задач по работе с текстовыми данными: автоматическая обработка и анализ текстовых данных, поиск информации, создание корпусов данных и др.
Планируемые результаты обучения

Планируемые результаты обучения

  • Умение работать с Git, знание об основных средах написания кода, умение задавать в коде переменные, умение использовать основные типы данных, операторы, комментарии.
  • Умение работать с циклами и условиями. обрабатывать данные.
  • Умение пользоваться словарями, множествами, генераторами умение работать форматом tsv.
  • Умение открывать файлы на чтение и на запись, умение пользоваться функциями в коде.
  • Умение регулярные выражения для обработки данных.
  • Умение работать с операционной системой из кода на Python.
  • Умение работать с SSH, запуск Mystem, pymorphy2
  • Владение основными библиотеками для выгрузки информации из сети Интернет, знание форматов данных, применяемых в сети Интернет, умение создать программу, работающую по одному из протоколов обмена текстовыми сообщениями.
  • Умение программно обращаться к API, работа с дампом Википедии.
  • Умение проектировать реляционную базу данных, делать к ней запросы в Python.
  • Уметь визуализировать данные в Python.
  • Уметь писать программы в объектно-ориентированном стиле
  • Уметь пользоваться возможностями pandas.
  • Уметь создавать векторные модели с помощью gensim, уметь работать с такими моделями (находить ближайших соседей, вычислять пропорции, находить лишнее).
  • Уметь пользоваться инструментами сетевого анализа в Python
  • Уметь выкладывать собственный пакет в каталоге PiPy
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Тема 1 Введение в программирование на языке Python
    Git, редакторы кода, переменные, типы данных, операторы, комментарии.
  • Тема 2 Управляющие структуры и строковые методы.
    Условия, циклы, строковые методы
  • Тема. 3 Базовые структуры данных.
    Структуры данных, списки, словари, множества, срезы, списковые включения, формат tsv
  • Тема 4 Работа с файлами и функции.
    Открытие файлов, функции
  • Тема 6 Работа с модулями os, time.
    Функции модулей os, time.
  • Тема 5 Регулярные выражения в языке Python.
    Регулярные выражения, docstring
  • Тема 7 Подключение к удаленному серверу по SSH, морфологический анализ русской словоформы
    SSH, mystem, pymorphy2
  • Тема 8 Работа с данными в Интернете.
    Urllib, requests, json, lxml, beautifulSoup
  • Тема 9 VK API, Wikipedia dump
    VK API, Wikipedia dump
  • Тема 10 Работа с базами данных
    Реляционные базы данных и Python, sqlite
  • Тема 11 Визуализация данных в Python, виртуальное окружение
    matplotlib, virtual environment
  • Тема 12 Объектно-ориентированное программирование
    Классы в Python
  • Тема 13 Возможности пакетов numpy, pandas
    numpy, pandas
  • Тема 14 Реализация word2vec-алгоритма в Python.
    Gensim, word2vec
  • Тема 15 Пакет networkx
    Построение сетей в Python
  • Тема 16 Тесты, публикация пакетов на PiPy.
    Тесты, публикация пакетов на PiPy.
Элементы контроля

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

  • неблокирующий Самостоятельная работа
  • неблокирующий Экзамен
    Разрешается дистанционная сдача экзамена по дисциплине в форме проекта, выполненного на языке Python. Экзамен проводится в письменной форме. На компьютере студента должны быть установлены интерпретатор языка Python и все дополнительные библиотеки, изученные в ходе курса. Студент может выполнить экзаменационное задание в удобное для него время. Никаких ограничений на выполнение задания не накладывается. Единственное условие: вовремя сданная работа.
Промежуточная аттестация

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

  • Промежуточная аттестация (4 модуль)
    0.6 * Самостоятельная работа + 0.4 * Экзамен
Список литературы

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

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

  • Аллен Б. Дауни - Think DSP. Цифровая обработка сигналов на Python - Издательство "ДМК Пресс" - 2017 - 160с. - ISBN: 978-5-97060-454-0 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/93566

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

  • Изучаем Python, Лутц, М., 2014