tgoop.com/gdb_dbg/6
Last Update:
Сегодня закончился семестровый курс по плюсам, который я в этом семестре читал на сиспро.
Так то это не первое мое родео, половину времени из 10 лет преподавания на мехмате я читал именно плюсы. Но боже, какой же это был детский сад по сравнению с тем, что вышло теперь (хотя было то тоже неплохо!).
1) По содержанию: получилось дать приблизительно все, что всегда хотелось и, как мне кажется, в правильном порядке и объеме. Т.е. не просто бегло упомянуть move семантику, а довольно рано поговорить про value categories и использовать это во всех последующих темах; не просто показать шаблоны, а обсудить двухфазное разрешение имен, SFINAE, enable_if и эволюцию до концептов; не просто показать auto, но показать связь с теми же шаблонами и аккуратно выйти на universal references и perfect forwarding.
2) По формату практики: на этом курсе чуть отошел от формата "мини задачки после каждой лекции + несколько больших задач на семестр", т.к. это банально приелось. Миньки в целом то остались, хоть и стали крупнее (теперь они назывались NSTTs - not so tiny task, хехе), а вот место больших задач были большие семестровые проекты, темы для которых студенты выбирали сами. Получились: эмулятор и отладчик кода на асме для RISC-V, файловая система в юзерспейсе, своя реализация Python без GIL, в общем, очень круто.
Одной из целей здесь было научить студентов очерчивать реалистичный скоуп дел к дедлайну, а потом нести ответственность за свои факапы. Думаю, получилось.
3) По языку: курс читался полностью на английском (так было нужно). Лекции, обсуждения, прием задач, ревью, прием проектов, ответы на вопросы (и сами вопросы), экзамен. Только английский язык. Это было супер непривычно и даже тяжеловато в начале, но потом я привык и особо уже не напрягался. Чуть-чуть падает темп повествования, особенно в конце лекции, но в остальном - вполне комфортно.
--
Из минусов: подготовка такого курса, очевидно, плохо влияет на психическое здоровье (возможно и прохождение этого курса тоже, но надеюсь, что не сильно!).
Я всегда стараюсь сделать так, чтобы лекция исчерпывающе отвечала на все возникающие по ходу вопросы, и уж точно у меня самого не должно оставаться вопросов.
И вот в контексте плюсов это огромная ловушка. Потому, что а) тогда лекции просто не закончатся, слишком много деталей, б) кучу раз во время подготовки лекции у меня возникал вопрос: "хм, ну все так, конечно, но почему так? почему именно такое дизайн решение в этом языке приняли?". И поиск ответа на этот вопрос в архивах интернета, всяких старых переписках или постах затягивал меня до утра. Более того, ответ то зачастую разочаровывает - оказывается, что решение было сомнительным, это теперь все понимают, но чтож поделать.
На работе поговаривают, что у меня в этом семестре особо безумный взгляд по понедельникам, но уже вполне покорно подходят смотреть на очередные пазлеры на плюсах.
В общем, было весело! В дурку пока не уехал. Жду теперь фидбек от студентов, надеюсь, они там тоже не совсем погибли. Если читаете, можете писать фидбек в комментарии тоже)
Материалы можно глянуть здесь.
#the_real_science
BY Алло, это отладочная?

Share with your friend now:
tgoop.com/gdb_dbg/6