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

Основы программирования на Python

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

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

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

Аннотация

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

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

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

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

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

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

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

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

  • неблокирующий Самостоятельные работы
    На курсе предусмотрено 4 самостоятельных работы, рассчитанных на 20-30 минут. Работы размещаются на платформе SmartLMS и проводятся либо в конце, либо в начале лекции / семинара. Подробнее о дате, времени, точном количестве и темах заданий оповещает преподаватель не позднее, чем за неделю до активности. В каждой работе 3-4 задания на написание собственного кода. Задание студента проверяется на открытых и скрытых данных.
  • неблокирующий Активность на семинарах
    Активность на семинарах предусматривает ответы на вопросы преподавателя, участие в решении задач по каждой теме. Оценка за активность выставляется, если на семинарах не запланирована другая форма текущего контроля, которая длится 50 минут и более.
  • неблокирующий Контрольная работа
    - По содержанию заданий аналогична независимому экзамену, т.к. дисциплина-пререквизит готовит к сдаче НЭ. - Проводится асинхронно. - Прокторинга нет. - Резервных дней не предусмотрено. - В время написания разрешено использование среды программирования из [белого списка](https://docs.google.com/document/d/1ApwyTHplBYaIDKYw2TDV8RGqX_YzU0AtlaMNZUg8H-I/edit?usp=sharing) и [методического материала](https://edu.hse.ru/pluginfile.php/2234709/mod_quiz/intro/INTERM_CheatSheetPython.html)
  • неблокирующий Проект и защита проекта
    Выполняется в группах из 3 человек. Группу из 1-2 человек организовать можно, но только в исключительных случаях по согласованию с преподавателем. Проект представляет собой написание корректно работающей программы прикладного назначения с последующей обязательной устной защитой в виде презентации. Дедлайн является жестким. Не допускается сдача работы после установленного дедлайна. При этом студент может явиться на защиту и показать проект, однако в таком случае может получить оценку не выше 6 баллов. Защита проекта является обязательной для выставления оценки за проект. Формат проведения защиты определяет преподаватель не позднее, чем за семь дней до защиты. Защита проводится в сессию. Защита проводится в очном формате. Согласно [Приложение 1, п. 5.5, стр. 2-3] студенты должны иметь при себе студенческий билет, который преподаватель может проверить для идентификации личности студента.
  • неблокирующий Домашнее задание
    Содержит задания формате Независимого экзамена по пройденным темам. Перевод в 10-балльную систему осуществляется автоматически в соответствии с набранным первичным баллом. Попытка одна, ограничения по времени нет.
Промежуточная аттестация

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

  • 2023/2024 учебный год 4 модуль
    0.1 * Активность на семинарах + 0.15 * Домашнее задание + 0.15 * Контрольная работа + 0.35 * Проект и защита проекта + 0.25 * Самостоятельные работы
Список литературы

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

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

  • 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

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

  • Bengfort, B., Bilbro, R., & Ojeda, T. (2018). Applied Text Analysis with Python : Enabling Language-Aware Data Products with Machine Learning. Beijing: O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=nlebk&AN=1827695
  • 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