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

Programming and Data Analysis

2021/2022
Academic Year
RUS
Instruction in Russian
7
ECTS credits
Delivered at:
Institute of Media
Course type:
Compulsory course
When:
1 year, 2-4 module

Instructor


Granovsky, Vladimir

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

Аннотация

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

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

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

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

  • Знать особенности работы с современными дистрибутивами Python
  • Знает этапы предварительной обработки текста и умеет реализовывать их на практике
  • Применяет готовые функции Python, пишет собственные функции на Python, умеет работать с классами, описывает собственные объекты в Python и определяет методы на них
  • Программа для сбора открытых данных
  • Программа на языке Python для работы с базами данных
  • Реализация REST интерфейс
  • Умеет выполнять операции с массивами NumPy
  • Умеет загружать и сохранять файлы с данными различных форматов
  • Умеет загружать файлы с данными; выполняет обработку табличных данных средствами Python
  • Умеет работать в среде Jupyter Notebook, создает переменные разных типов, выполняет приведение типов
  • Умеет решать прикладные задачи с применением циклов
  • Умеет создавать списки, кортежи, множества и словари в Python, обращаться к их элементам и изменять их
  • Умеет создавать списки, решает прикладные задачи с применением условных конструкций
  • Умеет строить графики математических функций и визуализировать данные в Python, знает этапы разведывательного анализа данных и умеет реализовывать их на практике
Содержание учебной дисциплины

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

  • Начало работы в Python
  • Управляющие конструкции в Python
  • Структуры данных в Python
  • Циклы в Python
  • Функции и классы в Python
  • Работа с файлами
  • Работа с текстами
  • Массивы NumPy
  • Работа с таблицами
  • Визуализация и разведывательный анализ данных
  • Высокопроизводительные дистрибутивы Python
  • Веб-программирование с помощью Python
  • Открытые данные
  • Современные СУБД
Элементы контроля

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

  • неблокирующий Домашние задания
    Домашние задания предполагают решение задач по программированию по пройденным темам. С учетом разного уровня подготовки студентов домашние задания представляют собой набор задач разной сложности, которые весят разное количество баллов. В начале каждого домашнего задания указано общее число баллов, которое нужно набрать, чтобы получить оценку 10. Таким образом, студент может выбирать, какие задачи ему решать. Например, если за все домашнее задание нужно набрать 8 баллов, чтобы получить оценку 10, студент может решить 8 задач по одному баллу или 4 задачи по одному баллу и одну задачу на 4 балла. Кроме того, студент может решить больше задач, чтобы потренироваться. Все задачи будут проверены и оценены, но получить оценку выше 10 за домашнее задание невозможно. Оценка за домашние задания, которая подставляется в формулу оценивания, определяется как округленное до целого среднее арифметическое оценок, полученных за домашние работы (способ округления – стандартный арифметический). Домашние задания, сданные после срока, оцениваются с использованием понижающих коэффициентов: опоздание в пределах часа – штраф 10% от полученной оценки, в пределах суток – штраф 20%, в пределах недели – штраф 50%. Домашние задания, сданные через неделю после указанного срока и позже, не принимаются и не оцениваются.
  • неблокирующий Проект
    Проект представляет собой написание корректно работающей программы прикладного назначения с последующей устной защитой в виде презентации. Проект включает в себя следующие части: программа Python (файл с расширением .py или файл Jupyter Notebook с расширением .ipynb), самостоятельно созданная веб-страница и презентация, включающая публичную демонстрацию работы программы. Проект обязательно должен включать использование навыков, полученных в результате прохождения тем второго и третьего модулей, то есть работу с веб-страницами, сохранение данных в датафрейм pandas с последующей их обработкой или анализом, визуализацию данных. Проект выполняется в командах.
Промежуточная аттестация

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

  • 2021/2022 учебный год 2 модуль
    0.5 * Проект + 0.5 * Домашние задания
  • 2021/2022 учебный год 3 модуль
    0.5 * Проект + 0.5 * Домашние задания
  • 2021/2022 учебный год 4 модуль
    0.5 * Проект + 0.5 * Домашние задания
  • 2022/2023 учебный год 2 модуль
    0.5 * Проект + 0.5 * Домашние задания
Список литературы

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

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

  • Nelli, F. (2018). Python Data Analytics : With Pandas, NumPy, and Matplotlib (Vol. Second edition). New York, NY: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1905344
  • Федоров Д. Ю. - ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ PYTHON 2-е изд. Учебное пособие для СПО - М.:Издательство Юрайт - 2019 - 161с. - ISBN: 978-5-534-11961-9 - Текст электронный // ЭБС ЮРАЙТ - URL: https://urait.ru/book/programmirovanie-na-yazyke-vysokogo-urovnya-python-446505

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

  • Perkins, J. (2014). Python 3 Text Processing with NLTK 3 Cookbook. Birmingham: Packt Publishing. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=836632
  • Python и анализ данных, Маккинли, У., 2015
  • Скрапинг веб - сайтов с помощью Python : сбор данных из современного интернета, Митчелл, Р., 2016