Магистратура
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 Введение в программирование на языке PythonGit, редакторы кода, переменные, типы данных, операторы, комментарии.
- Тема 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 dumpVK API, Wikipedia dump
- Тема 10 Работа с базами данныхРеляционные базы данных и Python, sqlite
- Тема 11 Визуализация данных в Python, виртуальное окружениеmatplotlib, virtual environment
- Тема 12 Объектно-ориентированное программированиеКлассы в Python
- Тема 13 Возможности пакетов numpy, pandasnumpy, 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