Бакалавриат
2023/2024
Основы программирования на языке Python
Лучший по критерию «Новизна полученных знаний»
Статус:
Курс обязательный (Медиакоммуникации)
Направление:
42.03.05. Медиакоммуникации
Кто читает:
Департамент филологии
Где читается:
Санкт-Петербургская школа гуманитарных наук и искусств
Когда читается:
2-й курс, 1, 2 модуль
Формат изучения:
с онлайн-курсом
Онлайн-часы:
36
Охват аудитории:
для своего кампуса
Преподаватели:
Кирина Маргарита Александровна
Язык:
русский
Кредиты:
4
Контактные часы:
20
Программа дисциплины
Аннотация
Данный курс представляет собой адаптацию общеуниверситетского курса по программированию на Python специально для студентов образовательных программ «Филология» и «Медиакоммуникации» и направлен на формирование компетенций в области понимания кода и написания собственных программ. В курсе будут рассмотрены темы, которые необходимы для успешного освоения базовых типов данных и синтаксических конструкций Python. Также будет рассмотрено несколько более специализированных вопросов, связанных с профессиональной деятельностью студентов. Дисциплина реализуется с помощью онлайн-курса «Python как иностранный» (https://edu.hse.ru/course/view.php?id=133389).
Цель освоения дисциплины
- Целью освоения дисциплины «Основы программирования на Python» является овладение студентами основами языка программирования Python, достаточными для понимания чужого кода и реализации собственных несложных программ, а также формирование начальных компетенций в области автоматической обработки текстов с использованием готовых NLP-инструментов.
Планируемые результаты обучения
- Считывать данные, подаваемые на ввод.
- Сохранять данные в переменные и обращаться к ним.
- Выводить данные на экран, а также форматировать вывод.
- Выполнять арифметические операции в Python.
- Корректно определять типы данных Python и конвертировать их при необходимости.
- Использовать логические операторы и переменные и операторы условия для определения логики выполнения программы.
- Использовать циклы для обработки повторяющихся действий: циклы для перебора всех элементов внутри контейнера; циклы для перебора заданного количества элементов; циклы, прекращающие работу по условию; вложенные циклы.
- Работать с последовательностями (строками, кортежами, списками) и коллекциями (множествами и словарями): создавать, сохранять в них данные, изменять, использовать специфические методы типов данных.
- Применять операции над множествами для эффективной фильтрации данных.
- Хранить и обращаться к данным внутри вложенных структур (например, внутри словарей списков).
- Сортировать данные (числа и строки) с помощью функций базовой библиотеки Python, а также реализовывать сортировку более сложных структур (например, словарей).
- Работать с индексацией, срезами, обращениями по ключам: будет уметь найти или извлечь необходимые элементы из контейнера или строки.
- Уметь создавать пользовательские функции без аргументов, с одним аргументом или с несколькими аргументами, которые могут возвращать или выводить результат своей работы.
- Считывать данные из файла.
- Записывать и дозаписывать данные в файл.
- Импортировать модули Python и загружать функции или переменные из них.
- Уметь прогнозировать результат работы чужого кода и интерпретировать чужой код (например, понимать, что именно делает предложенная программа).
- Находить и исправлять синтаксические и логические ошибки в написанной программе.
- Уметь выбирать наиболее оптимальные типы данных и синтаксические конструкции для решения задач в зависимости от их особенностей.
- Реализовать на языке программирования Python предложенный пошаговый алгоритм решения задачи.
- Придумывать собственный алгоритм для решения задачи и реализовывать его на языке программирования Python.
Содержание учебной дисциплины
- Введение в программирование. Переменные и арифметические действия
- Логический тип данных и условный оператор
- Цикл while
- Введение в структурированные типы данных и цикл for
- Методы
- Неупорядоченные типы данных
- Вложенные структуры данных. Сортировки
- Функции
- Текстовые файлы и табличные данные
- Работа с текстовыми данными
Элементы контроля
- Активность на семинарахАктивность на семинарах предусматривает ответы на вопросы преподавателя, участие в решении задач по каждой теме. Оценка за активность выставляется, если на семинарах не запланирована другая форма текущего контроля, которая длится 50 минут и более.
- Домашнее задание - 1
- Домашнее задание - 2
- Самостоятельные работыНа курсе предусмотрено 4 самостоятельных работы, рассчитанных на 20-30 минут. Работы размещаются на платформе SmartLMS и проводятся либо в конце, либо в начале лекции / семинара. Подробнее о дате, времени, точном количестве и темах заданий оповещает преподаватель не позднее, чем за неделю до активности. В каждой работе 3-4 задания на написание собственного кода. Задание студента проверяется на открытых и скрытых данных.
- Экзамен- По содержанию заданий аналогичен независимому экзамену, т.к. дисциплина-пререквизит готовит к сдаче НЭ. - Проводится в сессию. - Резервных дней для экзамена не предусмотрено. - Если дисциплина реализуется в очном, то - экзамен проводится в очном формате - во время написания экзамена разрешено использование среды программирования из [белого списка](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)
Промежуточная аттестация
- 2023/2024 учебный год 2 модуль0.1 * Активность на семинарах + 0.25 * Домашнее задание - 1 + 0.25 * Домашнее задание - 2 + 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