Программирование для всех (основы работы с Python)
Дорогие студенты!
Это страница курса «Программирование для всех (основы Python)», читаемого в 1-2 модулях 2026-2027 учебного года. Курс является обязательным для студентов магистерской программы «Прикладная политология» и курсом по выбору в рамках МагоЛего для студентов других образовательных программ.
Преподаватель: Тамбовцева Алла Андреевна.
Программу курса можно найти здесь.
Вспомогательный онлайн-курс «Python как иностранный» доступен всем слушателям в SmartLms.
Содержание
- 1 Оценивание
- 2 Программное обеспечение
- 3 Материалы
- 3.1 Неделя 0. Подготовка к работе. Настройка рабочего места
- 3.2 Неделя 1. Введение в Python. Типы данных. Ввод и вывод
- 3.3 Неделя 2. Индексированные структуры данных. Цикл for
- 3.4 Лабораторная №1. Условные конструкции и цикл while
- 3.5 Неделя 3. Кортежи и обработка пар значений. Работа с файлами
- 3.6 Лабораторная №2. Методы на списках и строках
- 3.7 Неделя 4. Словари и методы на словарях
- 3.8 Лабораторная №3. Функции
Оценивание
Формула оценки: ИТОГ = 0.25 × Активность + 0.2 × Тест + 0.15 × ДЗ + 0.4 × Экзамен.
- Активность: выполнение тестовых заданий на бумаге или решение задач по программированию с последующим заполнением онлайн-формы.
Проводится в конце семинара по темам предыдущих занятий, продолжительность 10-15 минут.
- Тест: состоит из вопросов с выбором ответа или кратким ответом и предполагает выбор верных или неверных утверждений о базовых конструкциях и структурах данных Python, запись результата, получаемого после запуска представленного фрагмента кода, указание ошибок в коде или выбор безошибочных вариантов решений предложенной задачи. Запускать код на компьютере и пользоваться материалами во время теста запрещено. Ожидаемое время выполнения теста – 40 минут.
- ДЗ: наборы задач по программированию по темам 1 и 2 модуля.
- Экзамен: практическая работа в виде набора задач (по типу семинарских задач и домашних заданий). Во время экзамена разрешается пользоваться материалами курса, но запрещается писать код с помощью ИИ.
Тест и экзамен – очные работы (для слушателей МагоЛего предусмотрена возможность сдавать онлайн), остальное – домашние с фиксированными дедлайнами.
Оценка за активность определяется как сумма баллов за все работы, переведенная в 10-балльную шкалу (дробное число). Оценка за домашние задания – средняя оценка за домашние задания в 10-балльной шкале, без округления (дробное число). Оценка за тест и за экзамен – целое число в 10-балльной шкале.
Также на курсе предусмотрены лабораторные работы. Лабораторная работа предполагает самостоятельное изучение темы в рамках онлайн-курса или по предложенным материалам с последующим выполнением заданий. Задания не сдаются на проверку, однако аналогичные задания могут встретиться в оцениваемых формах контроля (активность) на семинарах.
Программное обеспечение
Перед занятиями необходимо установить дистрибутив Anaconda (скачать можно здесь, регистрацию можно пропустить), который включает в себя интерпретатор языка Python, библиотеки для обработки, анализа и визуализации данных, а также среду для работы Jupyter Notebook. Также есть возможность работать в аналоге Jupyter Notebook онлайн, используя ресурс Google Colab (для создания и редактирования файлов нужен аккаунт Gmail).
Подробности по установке и работе – см. ниже в неделе 0.
Материалы
Неделя 0. Подготовка к работе. Настройка рабочего места
Для подготовки к работе на курсе можно ознакомиться с материалами онлайн-курса:
А также с материалами по работе в Jupyter Notebook и Google Colab:
- Запуск Jupyter без Anaconda Navigator (инструкция).
- Работа в Jupyter Notebook (видео), отличия Google Colab от Jupyter (видео).
Дополнительные материалы для желающих:
- Набор текста в Jupyter Notebook (видео, ipynb), больше о Markdown.
- LaTeX: Overleaf, документация, материалы по LaTeX.
Неделя 1. Введение в Python. Типы данных. Ввод и вывод
- Видеозапись занятий
- Введение в Python: вычисления, переменные, типы данных (слайды)
- Вычисления и импорт библиотек в Python (ipynb). Переменные и типы данных (ipynb)
- Ввод и вывод, форматирование строк (ipynb)
- Практикум 1: типы данных, ввод и вывод, форматирование строк (ipynb), решения (practice01-solved.ipynb)
Дополнительно для желающих:
- Стандарты оформления кода PEP8
- Документация модулей decimal и fractions для работы с десятичными и обычными дробями соответственно
- Документация библиотеки sympy для символьных вычислений (уравнения, производные, интегралы и проч)
- Интерактивные виджеты в Jupyter (альтернатива стандартному вводу и не только)
Неделя 2. Индексированные структуры данных. Цикл for
- Видеозапись занятий
- Структуры данных в Python, изменяемость и неизменяемость (слайды)
- Индексированные структуры данных: строки и списки, методы .split() и .join() (ipynb)
- Цикл for и функция range() (ipynb)
- Практикум 2: списки и цикл for, методы .split() и .join() (ipynb), решения (practice02-solutions.ipynb)
Лабораторная №1. Условные конструкции и цикл while
Задачи из лабораторных работ не сдаются на проверку, но их нужно уметь решать,
чтобы успешно проходить дальнейший материал и писать проверочные работы.
В проверочную №1 (активность 24.09) выносятся задачи на ввод данных с input() и конструкцию if-else.
Для выполнения лабораторной работы необходимо изучить формулировку логических выражений,
конструкцию if-else, устройство цикла while и его альтернативу в виде цикла
for с оператором break.
Для этого (на выбор) можно:
- прослушать материал раздела 2 Условия и логические выражения, раздела 3
Цикл с условием и Ввод с клавиатуры. Цикл while True онлайн-курса «Python как иностранный» - прочитать конспект лекции Логические выражения и условные конструкции и конспект лекции про циклы
| Задачи | lab01.ipynb | к занятию 24.09 | решения lab01-solutions.ipynb |
Неделя 3. Кортежи и обработка пар значений. Работа с файлами
- Видеозаписи занятий
- Кортежи, функции zip() и enumerate() (ipynb)
- Практикум 3.1: кортежи и работа с вложенными структурами (practice03-01.ipynb), решения (practice03-01-solutions.ipynb)
- Практикум 3.2: работа с файлами (practice03-02.ipynb), решения (practice03-02-solutions.ipynb)
- Для проверочной №1: вариант 1, вариант 2
Дополнительно (для желающих):
- Итераторы и последовательности (обзор)
Лабораторная №2. Методы на списках и строках
Задачи из лабораторных работ не сдаются на проверку, но их нужно уметь решать,
чтобы успешно проходить дальнейший материал и писать проверочные работы.
В проверочную №2 (активность 01.10) выносятся задачи на методы .append()
и .split()
в сочетании с циклом for.
Для выполнения лабораторной работы необходимо уметь применять методы на списках и строках.
Для этого (один из вариантов на выбор) можно:
- Прослушать материал темы 5 Методы онлайн-курса «Python как иностранный».
- Прочитать конспект лекции Методы на строках, конспект лекции Методы на списках.
| Задачи | lab02.ipynb | к занятию 01.10 | решения lab02-solutions.ipynb |
Неделя 4. Словари и методы на словарях
- Видеозаписи занятий
- Словари (ipynb)
- Практикум 4.1. Повторение. Вложенные структуры и обработка пар (practice04-01.ipynb)
- Практикум 4.2. Словари и методы на словарях (practice04-02.ipynb)
Для проверочной №2: форма для отправки кода к вопросу 2
Лабораторная №3. Функции
Задачи из лабораторных работ не сдаются на проверку, но их нужно уметь решать,
чтобы успешно проходить дальнейший материал и писать проверочные работы.
В проверочную №3 (активность 08.10) выносятся задачи на написание простых функций через def.
Для выполнения лабораторной работы необходимо уметь писать пользовательские функции.
Для этого можно на выбор:
- Прослушать материал темы 8 Функции (достаточно первого раздела) онлайн-курса «Python как иностранный».
- Прочитать конспект лекции Функции (для желающих – более подробная лекция И.В.Щурова).
При необходимости можно посмотреть на примеры решений задач на функции.
| Задачи | lab03.ipynb | к занятию 08.10 |