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

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

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

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

Аннотация

Язык программирования Python является одним из самых простых в освоении и популярных языков программирования. Данный язык является мощным инструментом анализа данных и может повысить эффективность практически любой деятельности в науке и индустрии. С помощью языка Python можно автоматизировать рутинные операции и обрабатывать объемы данных, на несколько порядков превышающие объемы, доступные для обработки вручную или с помощью электронных таблиц. Данный курс направлен на формирование компетенций в области понимания кода и написания собственных программ. В нем будут рассмотрены темы, которые необходимы для успешного освоения базовых типов данных и синтаксических конструкций Python, а также для подготовки к независимому экзамену по программированию начального и базового уровня. Дисциплина реализуется с помощью учебника «Python как иностранный» https://edu.hse.ru/course/view.php?id=133389
Цель освоения дисциплины

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

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

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

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

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

  • Введение в программирование. Основные типы данных. Создание переменных. Основные ошибки.
  • Логический тип данных. Условные конструкции.
  • Цикл while. Операторы break и continue. Использование else в цикле.
  • Цикл for. Списки и кортежи. Функция map()
  • Методы строк и списков. Срезы.
  • Множества. Операции над множествами. Методы множеств.
  • Словари. Методы словарей. Вложенные структуры данных.
  • Сортировки, функция .sorted().
  • Работа с функциями.
  • Работа с текстовыми и табличными файлами.
Элементы контроля

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

  • неблокирующий Контрольная работа
    Проводится после изучения темы “Словари” и содержит задания по пройденным темам. Длится 80 минут, проводится в SmartLMS. Задания представляют собой написание кода. Задание студента проверяется на открытых и скрытых данных. Со штрафным режимом в 10% за каждую неверную попытку. С каждой неверной попыткой штраф увеличивается еще на 10%.
  • неблокирующий Проект и защита проекта
    Выполняется в группах из 3 человек. Группу из 1-2 человек организовать можно, но только в исключительных случаях по согласованию с преподавателем. Проект представляет собой написание корректно работающей программы прикладного назначения с последующей обязательной устной защитой в виде презентации. Примеры заданий: Написать программу-викторину, которая общается с пользователем, задает вопросы и считает, сколько правильных ответов было дано. Проанализировать данные из текстовых / табличных файлов. Написать программу-новеллу, которая задает вопросы пользователю, ответы на которые влияют на развитие “сюжета” (других вопросов, которая задаст программа). Критерии и дедлайн сдачи проекта определяются преподавателем в начале курса и доводятся до студентов в первую неделю реализации дисциплины. Дедлайн является жестким. Не допускается сдача работы после установленного дедлайна. При этом студент может явиться на защиту и показать проект, однако в таком случае может получить оценку не выше 6 баллов. Защита проекта является обязательной для выставления оценки за проект. Формат проведения защиты определяет преподаватель не позднее, чем за семь дней до защиты. Примеры вопросов, которые задаются студентам на защите проекта: Что делает та или иная функция / метод, который был использован в проекте? Что написано в конкретной строчке кода? Как работает конкретная часть кода? Как работает условная конструкция / цикл / функция, написанная студентом? Если студент не может ответить на поставленные вопросы, то за проект выставляется оценка 0. Суммарно по критериям проекта можно набрать 10 баллов, что приравнивается к оценке 10 за работу. Защита проекта не оценивается. Оценка за проект выставляется после защиты. Оценка не округляется. Если на защите проекта был выявлен факт подлога, то выставляется оценка 0, а также предоставляется служебная записка на имя академического руководителя.
  • неблокирующий Самостоятельные работы
    На курсе предусмотрено 3 самостоятельных работы, рассчитанных на 20-30 минут. Работы размещаются на платформе SmartLMS и проводятся либо в конце, либо в начале семинара. Подробнее о дате, времени, точном количестве и темах заданий оповещает преподаватель не позднее, чем за неделю до активности. В каждой работе 2-3 задания на написание собственного кода. Задание студента проверяется на открытых и скрытых данных.
  • неблокирующий Мини-тесты на семинарах
    В начале каждого семинара (если не запланирована другая форма текущего контроля, которая длится 40 минут и более) проводятся мини-тесты по соответствующим темам из онлайн-курса. Мини-тесты проводятся на платформе SmartLMS. В каждом тесте может быть от 3 до 5 вопросов, длительность — не более 10 минут. Вопросы могут быть как с одним вариантом ответа, так и с несколькими.
  • неблокирующий Экзамен
    По содержанию заданий аналогичен независимому экзамену, т.к. дисциплина-пререквизит готовит к сдаче НЭ. Проводится в сессию. Резервных дней для экзамена не предусмотрено. Во время написания экзамена разрешено использование среды программирования из белого списка и методического материала Время не продлевается. Экзамен длится 2 часа, на подключение к нему дается еще 30 минут. Прокторинг проводится с помощью Proctor Edu, действия студентов прописаны в инструкции: https://docs.google.com/document/d/1cYMMmPDc8N1GplXKVrC8DR3rq7x1jd2xP6627GmZq3o/preview#heading=h.gjdgxs https://www.hse.ru/studyspravka/distance_stud_proctor
Промежуточная аттестация

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

  • 2023/2024 учебный год 3 модуль
    Формула оценивания по дисциплине выглядит следующим образом. 0.1 х мини-тесты на семинарах 0.2 х самостоятельные работы 0.2 х контрольная работа 0.3 х проект и защита проекта 0.2 х экзамен Оценка, выставляемая по итогам промежуточной аттестации по дисциплине-пререквизиту к независимому экзамену по цифровой компетенции, не может быть больше 8 баллов. Оценка по формуле домножается на 0.9 и округляется по правилам арифметического округления. В качестве итоговой оценки студенту выставляется минимум из полученной оценки и 8.
Список литературы

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

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

  • 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

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

  • 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