Бакалавриат
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, достаточными для понимания чужого кода и реализации собственных несложных программ.
Планируемые результаты обучения
- Создавать переменные, считывать информацию в переменные, обращаться к переменным.
- Работать со строками, применять индексацию и форматирование строк.
- Понимать ошибки, выданные программой, и исправлять их.
- Находить ошибки в чужом коде и исправлять их.
- Использовать логический тип данных, операторы сравнения, логические операторы.
- Писать собственные условные конструкции.
- Использовать циклы для обработки повторяющихся действий, прекращать работу цикла по условию.
- Использовать циклы для перебора последовательностей.
- Понимать логику работы цикла.
- Различать изменяемые и неизменяемые типы данных, понимать, какие методы работают с ними.
- Проводить операции над множествами, содержательно интерпретировать результаты.
- Создавать словарь и добавлять в него информацию, осуществлять поиск по словарю.
- Хранить и обращаться к данным внутри вложенных структур.
- Сортировать последовательности, сортировать словари по ключам и по значениям.
- Импортировать готовые функции и применять их.
- Писать собственные функции и применять их.
- Находить ошибки в чужих функциях и справлять их.
- Открывать и создавать текстовые файлы.
- Считывать, обрабатывать и анализировать информацию из файлов.
- Умеет работать в pandas
- Знает, как фильтровать, сортировать и группировать данные
- Умеет считать и интерпретировать описательные статистики
Содержание учебной дисциплины
- Введение в программирование. Основные типы данных. Создание переменных. Основные ошибки.
- Логический тип данных. Условные конструкции.
- Цикл 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
Рекомендуемая дополнительная литература
- 9781491912140 - Vanderplas, Jacob T. - Python Data Science Handbook : Essential Tools for Working with Data - 2016 - O'Reilly Media - https://search.ebscohost.com/login.aspx?direct=true&db=nlebk&AN=1425081 - nlebk - 1425081