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

Материал из MathINFO
Перейти к навигации Перейти к поиску

Дорогие студенты!

Это страница обязательного курса «Основы программирования в Python», читаемого на образовательной программе «Политология» 1 курса бакалавриата
в 3-4 модулях 2022-2023 учебного года.

Семинары ведёт: Тамбовцева Алла Андреевна, почта allatambov@gmail.com.

Учебные ассистенты: Жужлев Борис (страница vk), Сташевски Эмиль.

Содержание

Правила игры

  • Формула оценки: Итог = 0.4 * Домашнее задание + 0.3 * Тест + 0.3 * Экзамен, где Домашнее задание и Тест – неокруглённые средние арифметические за все домашние задания и тесты соответственно, а Экзамен – целочисленная оценка за экзамен. Всего планируется 10 домашних заданий и 3 теста.
  • Пояснения по формам контроля можно посмотреть в программе курса.
  • При сдаче домашнего задания позже указанного срока предусмотрены штрафы. Опоздание в пределах часа ведёт к штрафу 10% от полученной оценки, в пределах суток – к штрафу 30%, в пределах недели – к штрафу 60%.

Программное обеспечение

Перед занятиями необходимо установить дистрибутив Anaconda (скачать можно здесь), который включает в себя интерпретатор языка Python, библиотеки для обработки, анализа и визуализации данных, а также среду для работы Jupyter Notebook.

Также есть возможность работать в Jupyter Notebook онлайн, используя ресурс Google Colab (для создания и редактирования файлов нужен аккаунт Gmail). Но в долгосрочной перспективе предпочтительнее установить Anaconda.

Материалы курса

Занятие 01 (16 января). Знакомство со средой Jupyter Notebook. Вычисления и переменные в Python.

Дополнительно:

Занятие 02 (23 января). Типы данных в Python. Ввод и вывод.

  • Сырые ipynb-файлы лекции с занятия: 221, 222, 223.
  • Типы данных и преобразование типов. Ввод и вывод в Python (читать, ipynb).
  • Практикум 01 (читать, ipynb), решения практикума (читать, ipynb).

Дополнительно:

Для тех, кто всё это знает:

Занятие 03 (30 января). Форматирование строк. Методы .split() и .join().

Занятие 04 (6 февраля). Списки и цикл for.

Дополнительно:

Занятие 05 (13 февраля). Списки и кортежи. Функции range() и zip().

Занятие 06 (17 февраля). Списки, кортежи, массивы. Методы на строках.

Дополнительно:

Занятие 07 (27 февраля). Чтение и запись txt-файлов. Условные конструкции: введение.

Занятие 08 (6 марта). Условные конструкции и цикл while.

Дополнительно:

Занятие 09 (13 марта). Повторение. Множества.

Дополнительно:

Занятие 10 (20 марта). Словари.

Дополнительно:

Занятие 11 (3 апреля). Функции.

Дополнительно:

Занятие 12 (10 апреля). Lambda-функции. Повторение.

  • Сырые ipynb-файлы с занятий: 221, 222, 223.
  • Lambda-функции, анонимные функции (читать, ipynb).
  • Практикум 11 (читать, ipynb), решения практикума (читать, ipynb).

Занятие 13 (17 апреля). Повторение: чтение и запись файлов

Занятие 14 (24 апреля). Введение в HTML. Знакомство с библиотекой BeautifulSoup

Дополнительно:

Занятие 15 (22 мая). Продолжение знакомства с библиотекой BeautifulSoup

  • Практикум по парсингу HTML с BeautifulSoup: обновленные решения (читать, скачать).

Занятие 16 (29 мая). Подключение к API на примере ВКонтакте

Домашние задания

  • Решения домашнего задания №1 необходимо загрузить в папку Dropbox по предложенным ссылкам (отдельная ссылка для каждой группы).
  • Последующие домашние задания сдаются через систему python.math-info, видео-инструкция по работе с системой.
Домашнее задание Дедлайн
Домашнее задание 1 23.01 12:00, загружать сюда: 221, 222, 223
Домашнее задание 2 04.02 23:59, сдается через систему
Домашнее задание 3 16.02 23:59, сдается через систему
Домашнее задание 4 27.02 23:59, сдается через систему
Домашнее задание 5 pesem.txt 20.03 23:59, сдается через систему,
Домашнее задание 6 10.04 23:59, сдается через систему
Домашнее задание 7: часть A, часть BC 30.04 23:59, сдается через Google Forms и систему
Домашнее задание 8 09.06 23:59, сдается через систему
Домашнее задание 9*

Подготовка к независимому экзамену

Официальная информация

  • Студенты ОП «Политология» сдают независимый экзамен по программированию базового уровня (сложнее, чем начальный).
  • Экзамен запланирован на 4 модуль, с 15 по 17 мая. Экзамен проходит в LMS, проводится с прокторингом. Во время выполнения экзамена разрешается пользоваться официальной шпаргалкой, доступной по ссылке в LMS. На экзамене не разрешается пользоваться облачными средами для работы типа Google Colab, но разрешается пользоваться стандартными средами для запуска кода Jupyter Notebook, PyCharm, VSCode.
  • Для подготовки рекомендуется использовать материалы курса «Python как иностранный», а также открытый банк заданий и демоверсию экзамена из официальных материалов для подготовки. У разработчиков экзамена есть телеграм-канал, в котором публикуется полезная информация к экзамену, задачи и их разбор.