We use cookies in order to improve the quality and usability of the HSE website. More information about the use of cookies is available here, and the regulations on processing personal data can be found here. By continuing to use the site, you hereby confirm that you have been informed of the use of cookies by the HSE website and agree with our rules for processing personal data. You may disable cookies in your browser settings.

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

Fundamentals of Python Programming

2024/2025
Academic Year
RUS
Instruction in Russian
4
ECTS credits
Course type:
Compulsory course
When:
2 year, 1, 2 module

Instructor


Рудалева Екатерина Андреевна

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

Аннотация

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

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

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

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

  • Считывать данные, подаваемые на ввод.
  • Сохранять данные в переменные и обращаться к ним.
  • Выводить данные на экран, а также форматировать вывод.
  • Выполнять арифметические операции в Python.
  • Корректно определять типы данных Python и конвертировать их при необходимости.
  • Использовать логические операторы и переменные и операторы условия для определения логики выполнения программы.
  • Использовать циклы для обработки повторяющихся действий: циклы для перебора всех элементов внутри контейнера; циклы для перебора заданного количества элементов; циклы, прекращающие работу по условию; вложенные циклы.
  • Работать с последовательностями (строками, кортежами, списками) и коллекциями (множествами и словарями): создавать, сохранять в них данные, изменять, использовать специфические методы типов данных.
  • Применять операции над множествами для эффективной фильтрации данных.
  • Хранить и обращаться к данным внутри вложенных структур (например, внутри словарей списков).
  • Сортировать данные (числа и строки) с помощью функций базовой библиотеки Python, а также реализовывать сортировку более сложных структур (например, словарей).
  • Работать с индексацией, срезами, обращениями по ключам: будет уметь найти или извлечь необходимые элементы из контейнера или строки.
  • Уметь создавать пользовательские функции без аргументов, с одним аргументом или с несколькими аргументами, которые могут возвращать или выводить результат своей работы.
  • Считывать данные из файла.
  • Записывать и дозаписывать данные в файл.
  • Импортировать модули Python и загружать функции или переменные из них.
  • Уметь прогнозировать результат работы чужого кода и интерпретировать чужой код (например, понимать, что именно делает предложенная программа).
  • Находить и исправлять синтаксические и логические ошибки в написанной программе.
  • Уметь выбирать наиболее оптимальные типы данных и синтаксические конструкции для решения задач в зависимости от их особенностей.
  • Реализовать на языке программирования Python предложенный пошаговый алгоритм решения задачи.
  • Придумывать собственный алгоритм для решения задачи и реализовывать его на языке программирования Python.
Содержание учебной дисциплины

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

  • Введение в программирование. Переменные и арифметические действия
  • Логический тип данных и условный оператор
  • Цикл while
  • Введение в структурированные типы данных и цикл for
  • Методы
  • Неупорядоченные типы данных
  • Вложенные структуры данных. Сортировки
  • Функции
  • Текстовые файлы и табличные данные
  • Работа с текстовыми данными
Элементы контроля

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

  • неблокирующий Активность на семинарах
    Активность на семинарах предусматривает ответы на вопросы преподавателя, участие в решении задач по каждой теме. Оценка за активность выставляется, если на семинарах не запланирована другая форма текущего контроля, которая длится 50 минут и более.
  • неблокирующий Домашнее задание
    Содержит задания формате Независимого экзамена по пройденным темам. Перевод в 10-балльную систему осуществляется автоматически в соответствии с набранным первичным баллом. Попытка одна, ограничения по времени нет.
  • неблокирующий Самостоятельная работа
    На курсе предусмотрено 4 самостоятельных работы, рассчитанных на 20-30 минут. Работы размещаются на платформе SmartLMS и проводятся либо в конце, либо в начале лекции / семинара. Подробнее о дате, времени, точном количестве и темах заданий оповещает преподаватель не позднее, чем за неделю до активности. В каждой работе 3-4 задания на написание собственного кода. Задание студента проверяется на открытых и скрытых данных.
  • неблокирующий Экзамен
    По содержанию заданий аналогичен независимому экзамену, т.к. дисциплина-пререквизит готовит к сдаче НЭ. Проводится асинхронно. - Прокторинга нет. - Резервных дней не предусмотрено. - В время написания разрешено использование среды программирования из белого списка и методического материала
  • неблокирующий Проект и защита проекта
    Выполняется в группах из 3 человек. Группу из 1-2 человек организовать можно, но только в исключительных случаях по согласованию с преподавателем. Проект представляет собой написание корректно работающей программы прикладного назначения с последующей обязательной устной защитой в виде презентации. Дедлайн является жестким. Не допускается сдача работы после установленного дедлайна. При этом студент может явиться на защиту и показать проект, однако в таком случае может получить оценку не выше 6 баллов. Защита проекта является обязательной для выставления оценки за проект. Формат проведения защиты определяет преподаватель не позднее, чем за семь дней до защиты. Защита проводится в сессию. Защита проводится в онлайн формате. За 3 дня до планируемой даты защиты студент\один из участников проектных групп загружает готовый программный код в SmartLMS.
Промежуточная аттестация

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

  • 2024/2025 2nd module
    0.1 * Активность на семинарах + 0.15 * Домашнее задание + 0.35 * Проект и защита проекта + 0.2 * Самостоятельная работа + 0.2 * Экзамен
Список литературы

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

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

  • 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
  • 9781491962992 - Bengfort, Benjamin; Bilbro, Rebecca; Ojeda, Tony - Applied Text Analysis with Python : Enabling Language-Aware Data Products with Machine Learning - 2018 - O'Reilly Media - https://search.ebscohost.com/login.aspx?direct=true&db=nlebk&AN=1827695 - nlebk - 1827695

Авторы

  • Кирина Маргарита Александровна
  • Рудалева Екатерина Андреевна
  • Кессель Ксения Витальевна