Бакалавриат
2024/2025
Программирование на Python
Статус:
Курс обязательный (Вычислительные социальные науки)
Направление:
01.03.02. Прикладная математика и информатика
Кто читает:
Департамент психологии
Где читается:
Факультет социальных наук
Когда читается:
1-й курс, 1 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для своего кампуса
Язык:
русский
Кредиты:
4
Контактные часы:
56
Программа дисциплины
Аннотация
Этот курс направлен на развитие навыков понимания и написания программного кода на Python. Он будет охватывать темы, необходимые студентам для успешного освоения основных типов данных и синтаксиса Python, а также для подготовки к независимому экзамену по культуре данных по программированию (базовый уровень).
Цель освоения дисциплины
- Изучить основы программирования на языке программирования Python в объеме, достаточном для понимания кода, написанного другими людьми, и запуска собственных элементарных программ.
Планируемые результаты обучения
- Корректно определять типы данных Python и конвертировать их при необходимости.
- Создавать переменные, считывать информацию в переменные, обращаться к переменным.
- Работать со строками, применять индексацию и форматирование строк.
- Понимать ошибки, выданные программой, и исправлять их.
- Использовать логический тип данных, операторы сравнения, логические операторы.
- Писать собственные условные конструкции.
- Использовать циклы для обработки повторяющихся действий, прекращать работу цикла по условию.
- Различать изменяемые и неизменяемые типы данных, понимать, какие методы работают с ними.
- Проводить операции над множествами, содержательно интерпретировать результаты.
- Создавать словарь и добавлять в него информацию, осуществлять поиск по словарю.
- Сортировать последовательности, сортировать словари по ключам и по значениям.
- Импортировать готовые функции и применять их.
- Писать собственные функции и применять их.
- Открывать и создавать текстовые файлы.
- Считывать, обрабатывать и анализировать информацию из файлов.
Содержание учебной дисциплины
- Введение в Python. Установка, интерпретатор и среда разработки.
- Типы данных. Ввод и вывод данных. Форматирование. Арифметические операции. Ошибки
- Условия. Блок-схемы и логические переменные. Логические выражения. Последовательности. Работа с последовательностями (списки, кортежи, строки).
- Циклы для перебора последовательностей. Вложенные структуры данных.
- Коллекции. Работа с коллекциями (множества и словари).
- Функции и библиотеки. Написание пользовательских функций. Локальные переменные. Загрузка функций из специализированных библиотек.
- Работа с файлами.
- Решение задач при помощи Python. Введение в проекты.
- Задачи и проекты: задачи повышенной сложности и групповые проекты.
Элементы контроля
- Самостоятельные работыНа курсе предусмотрено 4 самостоятельных работы, рассчитанных на 20-30 минут. Работы размещаются на платформе SmartLMS и проводятся либо в конце, либо в начале лекции / семинара. Подробнее о дате, времени, точном количестве и темах заданий оповещает преподаватель не позднее, чем за неделю до активности. В каждой работе 2-3 задания на написание собственного кода. Задание студента проверяется на открытых и скрытых данных.
- Проект и защита проектаВыполняется в группах из 3 человек. Группу из 1-2 человек организовать можно, но только в исключительных случаях по согласованию с преподавателем. Проект представляет собой написание корректно работающей программы прикладного назначения с последующей обязательной устной защитой. Критерии и дедлайн сдачи проекта определяются преподавателем в начале курса и доводятся до студентов в первую неделю реализации дисциплины. Дедлайн является жестким. Не допускается сдача работы после установленного дедлайна. При этом студент может явиться на защиту и показать проект, однако в таком случае может получить оценку не выше 6 баллов. Защита проекта является *обязательной* для выставления оценки за проект. Формат проведения защиты определяет преподаватель не позднее, чем за семь дней до защиты.
- Контрольная работаЗадания представляют собой написание кода. Задание студента проверяется на открытых и скрытых данных. Со штрафным режимом в 10% за каждую неверную попытку. С каждой неверной попыткой штраф увеличивается еще на 10%. Примеры заданий аналогичны примерам самостоятельных работ. Демоверсия контрольной работы размещается в открытом доступе не позднее семи дней до активности. Контрольная работа проходит дистанционно онлайн с прокторингом, используя две камеры (одна с компьютера, вторая со смартфона).
- ЭкзаменЭкзамен проходит дистанционно онлайн с прокторингом, используя две камеры (одна с компьютера, вторая со смартфона).
- Мини-тестыАктивность на лекциях предусматривает участие в мини-тестах, которые проводятся на лекциях, если на них не запланирована другая форма текущего контроля. Мини-тесты проводятся на платформе SmartLMS в конце каждой лекции. В каждой викторине может быть от 3 до 5 вопросов, длительность — не более 10 минут. Вопросы могут быть как с одним вариантом ответа, так и с несколькими.
Промежуточная аттестация
- 2024/2025 1st module**Формула оценивания по дисциплине выглядит следующим образом.** - 0.1 х активность на лекциях / семинарах - 0.2 х самостоятельные работы - 0.2 х контрольная работа - 0.3 х проект и защита проекта - 0.2 х экзамен Оценка по формуле домножается на 0.9. Затем округляется по правилам арифметического округления (например, 3.49 округляется до 3, а 3.50 — до 4). В качестве итоговой оценки студенту выставляется минимум из полученной оценки и 8. Получение автоматов по курсу не предусмотрено.
Список литературы
Рекомендуемая основная литература
- Bill Lubanovic. (2019). Introducing Python : Modern Computing in Simple Packages. [N.p.]: O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=2291494
Рекомендуемая дополнительная литература
- 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
- Eric Matthes. (2019). Python Crash Course, 2nd Edition : A Hands-On, Project-Based Introduction to Programming: Vol. 2nd edition. No Starch Press.
- 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