/python-coursera-mrg

Python by Moscow Institute of Physics and Technology & Mail.Ru Group

Primary LanguageJupyter Notebook

Программирование на Python

by Moscow Institute of Physics and Technology & Mail.Ru Group
https://www.coursera.org/learn/programming-in-python/home/welcome

Week 1

  • Знакомство с курсом. Приветствие, МФТИ, Mail.Ru Group.
  • Первые шаги. Установка Python 3, IDE, Полезные ссылки.
  • Базовые типы и конструкции. Численные типы, логический тип, строки и байтовые строки, None, управление потоком.
  • Организация кода и окружение. Модули и пакеты, virtualenv, объектная структура, байткод.
  • Quiz: Тест по неделе.
  • Programming Assignment: Сумма цифр в строке.
  • Programming Assignment: Рисуем лестницу.
  • Programming Assignment: Корни квадратного уравнения.

Week 2

  • Коллекции. Списки, кортежи, словари, множества.
  • Quiz: Тест по коллекциям.
  • Функции. Функции, файлы, функциональное программирование, декораторы, генераторы.
  • Quiz: Тест по неделе.
  • Programming Assignment: Key-value хранилище.
  • Programming Assignment: Декоратор to_json.

Week 3

  • Классы и объекты. Классы и экземпляры, методы.
  • Quiz: Тест по уроку.
  • Наследование. Наследование, композиция.
  • Quiz: Тест по уроку.
  • Работа с ошибками. Исключения.
  • Quiz: Тест по неделе.
  • Programming Assignment: Реализация простого класса для чтения из файла.
  • Programming Assignment: Классы и наследование.

Week 4

  • Особые методы классов. Магические методы, итераторы, контекстные менеджеры.
  • Quiz: Тест по уроку.
  • Programming Assignment: Файл с магическими методами.
  • Механизм работы классов. Дескрипторы, метаклассы.
  • Programming Assignment: Дескриптор с комиссией.
  • Отладка и тестирование. pdb, unittest.
  • Quiz: Тест по неделе.

Week 5

  • Процессы и потоки. Создание, синхронизация, глобальная блокировка.
  • Practice Quiz: Процессы и потоки.
  • Работа с сетью, сокеты. Клиент-сервер, таймауты и обработка сетевых ошибок, обработка нескольких соединений.
  • Practice Quiz: Работа с сетью, сокеты.
  • Асинхронное программирование. Select, генераторы, asyncio.
  • Quiz: Тест по неделе.
  • Programming Assignment: Клиент для отправки метрик.

Week 6

  • Programming Assignment: Финальный проект. Сервер для приема метрик.