Бакалавриат
2023/2024
Основы программирования на Python
Лучший по критерию «Новизна полученных знаний»
Статус:
Курс обязательный (Филология)
Направление:
45.03.01. Филология
Кто читает:
Департамент филологии
Где читается:
Санкт-Петербургская школа гуманитарных наук и искусств
Когда читается:
2-й курс, 3, 4 модуль
Формат изучения:
с онлайн-курсом
Онлайн-часы:
20
Охват аудитории:
для своего кампуса
Язык:
русский
Кредиты:
3
Контактные часы:
20
Программа дисциплины
Аннотация
Данный курс представляет собой адаптацию общеуниверситетского курса по программированию на 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
Рекомендуемая дополнительная литература
- 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