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

Курс ориентирован на людей, уже знакомых с каким-либо языком программирования, например, 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 балла. Получить баллы за тест каким-либо образом после лекции нельзя.

Дата и время Название Место Материалы
07 сентября
18:30–19:50
Начало, лекция Таймс, ауд. с белыми досками слайдывидео
14 сентября
18:30–19:50
Всё, что вы хотели знать о функциях в Python, лекция Таймс, ауд. с белыми досками слайдывидео
21 сентября
18:30–19:50
Декораторы и модуль functools, лекция Таймс, ауд. с белыми досками слайдывидео
28 сентября
18:30–19:50
Строки, байты, файлы и ввод/вывод, лекция Таймс, ауд. с белыми досками слайдывидео
05 октября
18:30–19:50
Встроенные коллекции и модуль collections, лекция Таймс, ауд. с белыми досками слайдывидео
12 октября
18:30–19:50
Классы 1, лекция Таймс, ауд. с белыми досками слайдывидео
19 октября
18:15–20:15
Исключения и менеджеры контекста, лекция Таймс, ауд. с белыми досками слайдывидео
26 октября
18:15–20:15
Итераторы, генераторы и модуль itertools, лекция Таймс, ауд. с белыми досками слайдывидео
09 ноября
18:15–20:15
Модули, пакеты и система импорта, лекция Таймс, ауд. с белыми досками слайдывидео
16 ноября
18:15–20:15
Классы 2, лекция Таймс, ауд. с белыми досками слайдывидео
23 ноября
18:15–20:15
Тестирование, лекция Таймс, ауд. с белыми досками слайдывидео
30 ноября
18:15–20:15
Быстрее, Python, ещё быстрее, лекция Таймс, ауд. с белыми досками слайдывидео, файлы
07 декабря
18:15–20:15
Многопоточность и GIL, лекция Таймс, ауд. с белыми досками слайдывидео