Программирование на Python
Санкт-Петербург / осень 2018, посмотреть все семестры

Курс ориентирован на людей, уже знакомых с каким-либо языком программирования, например, Java или C++.

Предварительная программа

  1. Начало
  2. Всё, что вы хотели знать о функциях
  3. Декораторы и модуль functools
  4. Строки, байты, файлы и ввод/вывод
  5. Встроенные коллекции и модуль collections
  6. Классы
  7. Модули, исключения и менеджеры контекста
  8. Итераторы, генераторы и модуль itertools
  9. Документация и тестирование
  10. Высокопроизводительный Python: миф или реальность?
  11. Многопоточность и GIL

Возможные темы

  • Интроспекция в Python: что можно и невозможно в runtime
  • Модули, пакеты: как это работает
  • Распространение кода на Python: яица и колёса
  • Сериализация: консервировать или нет
  • NumPy и другие библиотеки для научных вычислений на Python
  • Кооперативная многозадачность и асинхронный ввод/вывод
  • Опциональная типизация для Python

Хорошие книги про Python

  1. David M. Beazley, Python Essential Reference, 2009.
  2. Mark Lutz, Learning Python, 5th edition, 2013 (значительная часть 4-го издания также будет релевантной).
  3. David M. Beazley, Brian K. Jones, Python Cookbook, 3rd edition, 2013.

Логистика курса

Все активности в рамках курса будут оцениваться баллами. Необходимое количество баллов для получения зачёта будет объявлено позже.

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

Домашние задания будут выдаваться после лекции. Количество баллов за домашнее задание зависит от времени сдачи:

  • в течение недели после лекции за каждую задачу из домашнего задания можно будет получить максимум 4 балла,
  • в течение второй стоимость задачи будет 2 баллa.

Сдавать домашнее задание позже, чем через две недели, смысла нет: оно будет оценено 0 баллов.

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

Тесты

В начале каждой лекции (кроме первой) будет короткий тест по материалам предыдущей лекции. За полностью правильный тест можно получить 4 балла. Получить баллы за тест каким-либо образом после лекции нельзя.

Дата и время Название Место Материалы
14 сентября
18:30–19:50
Лекция 1 Введение, история, ликбез, лекция Таймс, ауд. с чёрными досками слайдывидео
21 сентября
18:30–19:50
Лекция 2 Функции, лекция Таймс, ауд. с чёрными досками слайдывидео
28 сентября
18:30–21:00
Лекция 3 Декораторы, лекция Таймс, ауд. с чёрными досками видеофайлы
05 октября
18:30–21:00
Лекция 4 Строки, байты, IO, лекция Таймс, ауд. с чёрными досками слайдывидео
12 октября
18:30–21:00
Лекция 5. Коллекции и collections, лекция Таймс, ауд. с чёрными досками слайдывидео
19 октября
18:30–21:00
Лекция 6, Классы I, лекция Таймс, ауд. с чёрными досками слайдывидео, файлы
26 октября
18:30–21:00
Лекция 7: Работа с Исключениями, лекция Таймс, ауд. с чёрными досками слайдывидео
02 ноября
18:30–21:00
Лекция 8: Итераторы, лекция Таймс, ауд. с чёрными досками слайдывидео
09 ноября
18:30–21:00
Лекция 9. async/await, лекция Таймс, ауд. с чёрными досками видео
23 ноября
18:30–21:00
Лекция 10, Классы II, лекция Таймс, ауд. с чёрными досками слайдывидео
30 ноября
18:30–21:00
Лекция 11. Тестирование, лекция Таймс, ауд. с чёрными досками слайдывидео
07 декабря
18:30–21:00
Лекция 12. Модули, лекция Таймс, ауд. с чёрными досками слайдывидео