• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

Бакалаврская программа «Дизайн»

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

2021/2022
Учебный год
RUS
Обучение ведется на русском языке
3
Кредиты
Кто читает:
Школа дизайна
Статус:
Курс обязательный
Когда читается:
3-й курс, 3, 4 модуль

Преподаватель

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

Аннотация

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

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

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

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

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

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

  • Арифметика
  • Условный оператор, цикл while
  • Вещественные числа и строки
  • Цикл for, функции
  • Словари и множества
  • Обработка текстовых файлов и электронных таблиц
  • Обработка и создание HTML-страниц
  • XML и передача параметров в URL
  • json и API
  • Визуализация данных
  • Основные конструкции и идиомы языков программирования Python
  • Интерпретатор языка Python
  • Программирование для извлечения и анализа данных
Элементы контроля

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

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

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

  • 2021/2022 учебный год 4 модуль
    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
  • Jaworski, M., & Ziadé, T. (2019). Expert Python Programming, : Become a Master in Python by Learning Coding Best Practices and Advanced Programming Concepts in Python 3.7, 3rd Edition (Vol. 3rd ed). Birmingham: Packt Publishing. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=2116999
  • Lutz, M. (2008). Learning Python (Vol. 3rd ed). Beijing: O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=415392
  • Massaron, L., & Mueller, J. (2019). Python for Data Science For Dummies (Vol. 2nd edition). Hoboken, New Jersey: For Dummies. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=2012364
  • Mathur, P. (2019). Machine Learning Applications Using Python : Cases Studies From Healthcare, Retail, and Finance. [Berkeley, California]: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1982259
  • 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
  • Shmueli, G., Bruce, P. C., Gedeck, P., & Patel, N. R. (2020). Data Mining for Business Analytics : Concepts, Techniques and Applications in Python. Newark: Wiley. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=2273611
  • Weiming, J. M. (2019). Mastering Python for Finance : Implement Advanced State-of-the-art Financial Statistical Applications Using Python, 2nd Edition (Vol. Second edition). Birmingham, UK: Packt Publishing. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=2116431
  • Джозеф, Л. Изучение робототехники с помощью Python / Л. Джозеф ; перевод с английского А. В. Корягина. — Москва : ДМК Пресс, 2019. — 250 с. — ISBN 978-5-97060-749-7. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/123716 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
  • Основы алгоритмизации и программирования на Python : учеб. пособие / С.Р. Гуриков. — М. : ФОРУМ : ИНФРА-М, 2017. — 343 с. — (Высшее образование: Бакалавриат). - Режим доступа: http://znanium.com/catalog/product/772265
  • Основы алгоритмизации и программирования на Python : учеб. пособие / С.Р. Гуриков. — М. : ФОРУМ : ИНФРА-М, 2018. — 343 с. — (Высшее образование: Бакалавриат). - Режим доступа: http://znanium.com/catalog/product/924699
  • Основы алгоритмизации и программирования на Python : учеб. пособие / С.Р. Гуриков. — М. : ФОРУМ : ИНФРА-М, 2018. — 343 с. — (Среднее профессиональное образование). - Режим доступа: http://znanium.com/catalog/product/961522
  • Основы алгоритмизации и программирования на Python : учеб. пособие / С.Р. Гуриков. — М. : ФОРУМ : ИНФРА-М, 2019. — 343 с. — (Среднее профессиональное образование). - Режим доступа: http://znanium.com/catalog/product/970143
  • Основы алгоритмизации и программирования на Python : учеб. пособие / С.Р. Гуриков. — М. : ФОРУМ : ИНФРА-М, 2020. — 343 с. — (Среднее профессиональное образование). - Режим доступа: http://znanium.com/catalog/product/1042452
  • Федоров Д. Ю. - ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ PYTHON 2-е изд. Учебное пособие для СПО - М.:Издательство Юрайт - 2019 - 161с. - ISBN: 978-5-534-11961-9 - Текст электронный // ЭБС ЮРАЙТ - URL: https://urait.ru/book/programmirovanie-na-yazyke-vysokogo-urovnya-python-446505
  • Федоров Д. Ю. - ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ PYTHON 2-е изд., пер. и доп. Учебное пособие для прикладного бакалавриата - М.:Издательство Юрайт - 2019 - 161с. - ISBN: 978-5-534-10971-9 - Текст электронный // ЭБС ЮРАЙТ - URL: https://urait.ru/book/programmirovanie-na-yazyke-vysokogo-urovnya-python-437489
  • Шарден, Б. Крупномасштабное машинное обучение вместе с Python : учебное пособие / Б. Шарден, Л. Массарон, А. Боскетти ; перевод с английского А. В. Логунова. — Москва : ДМК Пресс, 2018. — 358 с. — ISBN 978-5-97060-506-6. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/105836 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
  • Язык программирования Python: практикум : учеб. пособие / Р.А. Жуков. — М. : ИНФРА-М, 2019. — 216 с. + Доп. материалы [Электронный ресурс; Режим доступа: http://www.znanium.com]. — (Высшее образование: Бакалавриат). — www.dx.doi.org/10.12737/textbook_5cb5ca35aaa7f5.89424805.
  • Язык программирования Python: практикум : учебное пособие / Р.А. Жуков. — Москва : ИНФРА-М, 2020. — 216 с. + Доп. материалы [Электронный ресурс]. — (Высшее образование: Бакалавриат). — www.dx.doi.org/10.12737/textbook_5cb5ca35aaa7f5.89424805. - Режим доступа: http://znanium.com/catalog/product/1045700
  • Язык программирования Python: практикум : учебное пособие / Р.А. Жуков. — Москва : ИНФРА-М, 2020. — 216 с. + Доп. материалы [Электронный ресурс]. — (Среднее профессиональное образование). - Текст : электронный. - URL: http://znanium.com/catalog/product/1044193

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

  • Embarak O. Data Analysis and Visualization Using Python: Analyze Data to Create Visualizations for BI Systems. - Apress, 2018.
  • Haroon, D. (2017). Python Machine Learning Case Studies : Five Case Studies for the Data Scientist. [Berkeley, CA]: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1623520
  • 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
  • Mueller, J. (2018). Beginning Programming with Python For Dummies (Vol. 2nd edition). Hoboken, NJ: For Dummies. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1689584
  • Nandy, A., & Biswas, M. (2018). Reinforcement Learning : With Open AI, TensorFlow and Keras Using Python. [Berkeley, CA]: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1651811
  • Rubio, D. (2017). Beginning Django : Web Application Development and Deployment with Python. [Berkeley, CA]: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1623501
  • Sarkar, D., Bali, R., & Sharma, T. (2018). Practical Machine Learning with Python : A Problem-Solver’s Guide to Building Real-World Intelligent Systems. [United States]: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1667293
  • Vanderplas, J. T. (2016). Python Data Science Handbook : Essential Tools for Working with Data (Vol. First edition). Sebastopol, CA: Reilly - O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=nlebk&AN=1425081
  • Yan, Y. (2017). Python for Finance - Second Edition (Vol. Second edition). Birmingham, UK: Packt Publishing. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1547029
  • Бонцанини, М. Анализ социальных медиа на Python. Извлекайте и анализируйте данные из всех уголков социальной паутины на Python / М. Бонцанини ; перевод с английского А. В. Логунова. — Москва : ДМК Пресс, 2018. — 288 с. — ISBN 978-5-97060-574-5. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/108129 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
  • Груздев, А. В. Прогнозное моделирование в IBM SPSS Statistics, R и Python: метод деревьев решений и случайный лес : руководство / А. В. Груздев. — Москва : ДМК Пресс, 2018. — 642 с. — ISBN 978-5-97060-539-4. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/123700 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
  • Персиваль, Г. Python. Разработка на основе тестирования. Повинуйся Билли-тестировщику, используя Django, Selenium и JavaScript / Г. Персиваль ; перевод с английского А. В. Логунов. — Москва : ДМК Пресс, 2018. — 622 с. — ISBN 978-5-97060-594-3. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/111440 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
  • Шелудько, В. М. Язык программирования высокого уровня Python. Функции, структуры данных, дополнительные модули : учебное пособие / В. М. Шелудько ; Южный федеральный университет. - Ростов-наДону ; Таганрог : Издательство Южного федерального университета, 2017. - 107 с. - ISBN 978-5-9275-2648-2. - Текст : электронный. - URL: https://new.znanium.com/catalog/product/1021664 - Текст : электронный. - URL: http://znanium.com/catalog/product/1021664
  • Шелудько, В. М. Основы программирования на языке высокого уровня Python : учебное пособие / В. М. Шелудько ; Южный федеральный университет. - Ростов-на-Дону ; Таганрог : Издательство Южного федерального университета, 2017. - 146 с. - ISBN 978-5-9275-2649-9. - Текст : электронный. - URL: https://new.znanium.com/catalog/product/1021662 - Текст : электронный. - URL: http://znanium.com/catalog/product/1021662