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

Преподаватели