• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Бакалавриат 2021/2022

Python для извлечения и обработки данных

Статус: Курс обязательный (Современное искусство)
Направление: 50.03.02. Изящные искусства
Кто читает: Школа дизайна
Когда читается: 3-й курс, 3 модуль
Формат изучения: с онлайн-курсом
Охват аудитории: для своего кампуса
Язык: русский
Кредиты: 3
Контактные часы: 2

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

Аннотация

Курс «Программирование на языке Python» имеет целью обучить студентов не только работе в Python, но и основам программирования вообще, поскольку наиболее базовые принципы являются схожими почти во всех языках программирования. При решении ряда задач исследователи часто сталкиваются с необходимостью работать с большими массивами данных. Для того чтобы эффективно работать с разными типами данных, необходимо знать основы программирования, так как именно навыки программирования позволяют автоматически собирать необходимую информацию за достаточно быстрое время. В качестве языка программирования в данном курсе используется Python. Язык Python на данный момент является очень популярным, в том числе в исследованиях в рамках социальных наук. Дисциплина подразделяется на два блока. Первый блок посвящен основам программирования и включает необходимые для дальнейшей работы в Python темы: переменные и типы данных, списки и кортежи, словари, условные конструкции, циклы и функции. Второй блок посвящен решению прикладных задач в Python и включает темы, связанные со сбором и анализом данных: выгрузка данных с сайтов, парсинг веб-страниц, работа с таблицами.
Цель освоения дисциплины

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

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

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

  • Визуализирует графики с использованием pyplot, отображает картографическую информацию с помощью API leaflet
  • Обрабатывает данные в формате json, работает с публичным интерфейсом API
  • Применяет цикл for, функцию range, решает задачи с использованием локальных и глобальных переменных
  • Применяет списки, кортежи, множества, методы работы с отдельными элементами и всеми структурами
  • Применяет логические выражения, условный оператор, оператор цикла while
  • Размечает данные с помощью XML, умеет получать геоданные
  • Решает задачи на ввод-вывод и целочисленную арифметику
  • Решает задачи на работу с вещественными числами, применяет функции работы со строками
  • Знает основы HTML, получает ресурсы по URL-адресу, использует библиотеки для обработки HTML
  • Умеет работать с текстом, структурированными файлами (csv), xlsx-файлами и листами в них
Содержание учебной дисциплины

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

  • Визуализация и публикация данных
  • Работа с геоданными
  • Ввод-вывод и целочисленная арифметика, логические выражения и условный оператор
  • Оператор цикла while, цикл for, функции и рекурсия
  • Списки и кортежи, структуры и сортировка структур
  • Множества, словари
  • Анализ текстовых данных
  • Получение структурированных данных
  • Получение и обработка неструктурированных данных
  • Получение данных через API
Элементы контроля

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

  • неблокирующий Домашнее задание
    Домашние задания предполагают решение задач по программированию по пройденным темам. С учетом разного уровня подготовки студентов домашние задания представляют собой набор задач разной сложности, которые весят разное количество баллов. В начале каждого домашнего задания указано общее число баллов, которое нужно набрать, чтобы получить оценку 10. Все задачи будут проверены и оценены, но получить оценку выше 10 за домашнее задание невозможно. Работы сдаются в установленную преподавателем дату не позднее 23:59 (мск). После 23:59 (мск) работы не принимаются, выставляется оценка 0. В случае подозрения в несамостоятельном выполнении домашнего задания преподаватель имеет право обнулить оценку за него. По усмотрению преподавателя допускается провести устную защиту домашнего задания для восстановления оценки (но не более двух раз за курс для каждого студента).
  • неблокирующий Тесты
    Тесты представляют собой набор вопросов с выбором ответа по пройденным темам. Тесты направлены на проверку теоретических знаний студентов по программированию в Python: назначение и особенности работы операторов, устройство управляющих конструкций и циклов, особенности типов и структур данных, типы ошибок. Тесты проводятся в начале лекции и рассчитаны на 15 минут, формат open book. Всего в течение курса предполагается проведение 4 тестов.
  • неблокирующий Онлайн курс
    Выполнение блоков из онлайн курсов «Python как иностранный» на платформе online.hse по разбираемым темам. Перед лекцией на платформе вывешивается задание с фиксированным дедлайном – просмотреть материалы по определенной теме и выполнить предложенные в блоке задачи. Оценка за онлайн-курс формируется по следующей формуле: 0.4 * тесты + 0.6 * задачи (средняя оценка по выполненным тестам и задачам соответственно).
  • блокирующий Экзамен
    Экзамен проводится в конце модуля и рассчитан на 120 минут. Экзамен состоит из двух частей: теоретической и практической. Экзамен организуется на платформе online.hse.ru. Теоретическая часть включает несколько тестовых вопросов и вопросов с развернутым ответом по базовым фактам о языке программирования Python (типы данных, изменяемость объектов, особенности работы с разными объектами Python), а также задания с небольшими отрывками кода, в которых необходимо найти ошибки или пояснить, что будет выведено на экран при исполнении кода. Практическая часть включает три задачи по программированию. Во время выполнения экзамена разрешается пользоваться материалами, предоставленными преподавателями. Во время экзамена запрещается общаться с другими студентами, использовать мобильные телефоны, открывать социальные сети и создавать новые вопросы на компьютерных форумах и ресурсах по типу stackoverflow. В случае нарушения правил проведения экзамена студент удаляется с экзамена с оценкой «0». К нарушениям правил проведения экзамена относятся: коммуникация с другими студентами во время выполнения работы, использование социальных сетей/телефона во время работы (с любой целью), списывание. Оценка за экзамен рассчитывается как доля набранных баллов из всех возможных баллов, домноженная на 10 (без округления).
Промежуточная аттестация

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

  • 2021/2022 учебный год 3 модуль
    0.6*онлайн + 0.4*экзамен блок
Список литературы

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

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

  • 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
  • Nelli, F. (2015). Python Data Analytics : Data Analysis and Science Using Pandas, Matplotlib and the Python Programming Language. [Berkeley, CA]: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1056488
  • Основы алгоритмизации и программирования на Python : учеб. пособие / С.Р. Гуриков. — М. : ФОРУМ : ИНФРА-М, 2019. — 343 с. — (Среднее профессиональное образование). - Режим доступа: http://znanium.com/catalog/product/970143

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

  • Сузи, Р. А. Язык программирования Python : учебное пособие / Р. А. Сузи. — 2-е изд. — Москва : ИНТУИТ, 2016. — 350 с. — ISBN 5-9556-0058-2. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100546 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.