Программирование для всех (основы работы с Python)

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

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

Это страница курса «Программирование для всех (основы Python)», читаемого в 1-2 модулях 2026-2027 учебного года. Курс является обязательным для студентов магистерской программы «Прикладная политология» и курсом по выбору в рамках МагоЛего для студентов других образовательных программ.

Преподаватель: Тамбовцева Алла Андреевна.

Программу курса можно найти здесь.
Вспомогательный онлайн-курс «Python как иностранный» доступен всем слушателям в SmartLms.

Оценивание

Формула оценки: ИТОГ = 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:

Дополнительные материалы для желающих:

Неделя 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. Кортежи и обработка пар значений. Работа с файлами

Дополнительно (для желающих):

  • Итераторы и последовательности (обзор)

Лабораторная №2. Методы на списках и строках

Задачи из лабораторных работ не сдаются на проверку, но их нужно уметь решать,
чтобы успешно проходить дальнейший материал и писать проверочные работы.

В проверочную №2 (активность 01.10) выносятся задачи на методы .append()
и .split()
в сочетании с циклом for.

Для выполнения лабораторной работы необходимо уметь применять методы на списках и строках.

Для этого (один из вариантов на выбор) можно:

  • Прослушать материал темы 5 Методы онлайн-курса «Python как иностранный».
  • Прочитать конспект лекции Методы на строках, конспект лекции Методы на списках.
Задачи lab02.ipynb к занятию 01.10 решения lab02-solutions.ipynb

Неделя 4. Словари и методы на словарях

Для проверочной №2: форма для отправки кода к вопросу 2

Лабораторная №3. Функции

Задачи из лабораторных работ не сдаются на проверку, но их нужно уметь решать,
чтобы успешно проходить дальнейший материал и писать проверочные работы.

В проверочную №3 (активность 08.10) выносятся задачи на написание простых функций через def.

Для выполнения лабораторной работы необходимо уметь писать пользовательские функции.

Для этого можно на выбор:

  • Прослушать материал темы 8 Функции (достаточно первого раздела) онлайн-курса «Python как иностранный».
  • Прочитать конспект лекции Функции (для желающих – более подробная лекция И.В.Щурова).

При необходимости можно посмотреть на примеры решений задач на функции.

Задачи lab03.ipynb к занятию 08.10