формат занятия
сейчас у меня всё сходится к такому формату:
решаем задачу у доски – 15 – 30 мин. Опоздавшие – к доске! Немного демагогии о каких-нибудь идиомах/приёмах программирования.
теория – 30 – 40 мин.
мелочёвка, нужная для сегодняшних задач – 10 – 15 мин.
- предупреждать на первом занятии в точности о форме зачёта, форме занятий
- навязывать в обязательном порядке именно PEP-8 и PEP-257
- предупреждать, что в первом семестре требования к стилю всяко слабее, чем во втором
- половина лекции об особенностях разработки свободного софта
рассказывать об отладочной печати – и привязывать это к рассказу о репозитории
- репозиторий, видимо, будет git. По 15 минут в начале каждого занятия.
- внятно рассказать про вызов функции (то, что внутри не связано с тем, что снаружи), про возврат из функции
пару слов о свободном софте на первом занятии
требование: зачётные задания пишутся под открытой лицензией или в public domain
ООП
- понятие цикла жизни объекта
- понятие защиты, приватных, публичных атрибутов
рассказывать идиомы программирования
притом делать это нужно либо в виде именно примеров, либо ещё лучше, писать как бы шаблоны:
- мутировать данные перед погружением в рекурсию, мутировать данные обратно перед выходом из рекурсии:
- потоковая обработка параметров:
- аналогично, но в цикле:
- нужно несколько раз в течение курса давать задание: докажите, что программа работает правильно – на совсем простых примерах. И на примерах, которые даю я, и на примерах, которые получаются у них.
- перед темой про полноценные самостоятельные программы давать задание: сделать ~/bin, вписать ~/bin в путь в ~/.profile; иначе люди не видят никакого толку в том, чтобы делать скрипты по юниксовым правилам