• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Basics of Python Programming and Data Analysis

2024/2025
Academic Year
RUS
Instruction in Russian
6
ECTS credits
Delivered at:
School of Sociology
Course type:
Compulsory course
When:
1 year, 1, 2 module

Instructor

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

Аннотация

Цель учебной дисциплины – познакомить студентов с основами языка программирования Python в приложении к анализу данных в социальных науках. Эта цель достигается через решение двух параллельных задач: познакомить с такими основами языка программирования Python, как (1) установка и интерфейс Jupyter, (2) модули и пакеты, (3) наиболее востребованные классы данных и их индексирование, (4) циклы for in и while, (5) условные конструкции if elif else, (6) пакет pandas, датафрейм и его индексирование; познакомить с такими основами анализа данных, как (1) переменные и их типы шкал, (2) статгипотезы и дов.интервалы. Знакомство с программированием происходит в контексте решения содержательных социологических задач, предполагающих анализ данных. В результате освоения дисциплины студенты смогут решать простейшие задачи анализа данных посредством самостоятельного написания кода на языке программирования Python, привлечения релевантных пакетов и модулей этой среды, интерпретации выдачи.
Цель освоения дисциплины

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

  • Научиться осознанному программированию на уровне достаточном для самостоятельного решения социологических задач с привлечением программистских навыков; общения с подрядчиками-программистами на одном языке; понимания программистских схем и границ их применимости.
  • Изучить основы Python, его пакеты и модули, позволяющие осуществлять веб-скрапинг, структурировать собранные данные в формат Excel, применять описательную статистику и искать связи между парой переменных с учётом их типов шкал.
Планируемые результаты обучения

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

  • Устанавливает сборку Anaconda, запускает и использует Jupyter Notebook, пишет простую программу на Python, использует Google Colab
  • Умеет посредством Python правильно оформлять выгруженные характеристики в удобную таблицу Excel
  • Умеет анализировать архитектуру веб-источника, пользоваться модулями в среде Python для выгрузки больших данных со статических веб-страниц, а также владеет универсальным алгоритмом веб-скэпинга
  • Различает три основных типа шкал переменных (номинальные, порядковые, интервальные-числовые) на основе ориентиров
  • Умеет применять к переменным релевантные методы описательной статистики (одномерные частотные таблицы и графики, меры центральной тенденции и неоднородности) и корректно интерпретировать результаты
  • Умеет пользоваться модулями в среде Python для анализа данных в социальных науках
  • Умеет применять к переменным релевантные методы парной связи (коэффициент корреляции Пирсона, коэффициент ранговой корреляции Спирмана, критерий Хи-квадрат и его остатки) и корректно интерпретировать результаты
Содержание учебной дисциплины

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

  • Занятие 1. Введение
  • Занятие 2. Основы Python на примере применения пакетов requests, bs4 и pandas
  • Занятие 3. Основы Python на примере углублённого парсинга посредством пакета bs4
  • Занятие 4. Основы Python на примере углублённого парсинга посредством комбинации пакетов bs4 и re
  • Занятие 5. Сборка итогового скрипта для веб-скрапинга характеристик конкурсов сайта fl.ru
  • Занятие 6. Основы Python на примере операций над файловой системой посредством пакета os
  • Занятие 7. Знакомство с типами шкал и распределениями переменных
  • Занятие 8. Меры центральной тенденции и однородности
  • Занятие 9. Парная связь интервальных переменных
  • Занятие 10. Парная связь переменных, среди которых есть номинальная
Элементы контроля

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

  • неблокирующий Домашняя работа №1
    Сбор данных в рамках персонального или командного мини-проекта
  • неблокирующий Активность на занятии
    Активность на занятиях выставляется на каждом занятии за обоснованные ответы и демонстрацию проделанной работы
  • неблокирующий Контрольная работа №2
    Решение задач в соответствии с уникальным вариантом работы
  • неблокирующий Экзамен
    Экзамен в формате теста
  • неблокирующий Контрольная работа №1
    Решение задач в соответствии с уникальным вариантом работы
  • неблокирующий Домашняя работа №2
    Первичный анализ собранных данных в рамках персонального или командного мини-проекта
Промежуточная аттестация

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

  • 2024/2025 2nd module
    0.2 * Активность на занятии + 0.14 * Домашняя работа №1 + 0.15 * Домашняя работа №2 + 0.125 * Контрольная работа №1 + 0.125 * Контрольная работа №2 + 0.26 * Экзамен
Список литературы

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

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

  • Harish Garg. (2018). Mastering Exploratory Analysis with Pandas : Build an End-to-end Data Analysis Workflow with Python. Packt Publishing.

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

  • McKinney, W. (2018). Python for Data Analysis : Data Wrangling with Pandas, NumPy, and IPython (Vol. Second edition). Sebastopol, CA: O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1605925

Авторы

  • Десятова Мария Ивановна
  • Ротмистров Алексей Николаевич
  • Андреева Дарья Александровна