Как я преподавала С++

Когда-то я уже писала про ТА — Teaching Assistance. Каждый аспирант должен заниматься преподаванием — как правило, помогать профессорам вести семинар. Перед каждым следующим семестром мы заполняем табличку, что мы можем, когда мы можем, и какие три конкретных курса нам предпочтительны. Через пару недель нам выдают результат — кому что приписали. Иногда выбирает профессор курса, в общем случае выбор делается автоматически системой.
Весь этот год я вела один курс — Программирование на С++ для физиков и математиков, бакалавров 1 года. Поток был огромен, где-то 250 студентов. Профессор читал лекции, на практике они сидели за компами (в пяти больших аудиториях), делали задачки. Я и другие ассистенты (не аспиранты, а просто студенты, для них это неплохая возможность подработать) помогаем и отвечаем на вопросы. В первом семестре ассистентов было 11, во втором — 16. Первый семестр — основы программирования, второй — ООП.
Оцениваются студенты по среднесеместровому тесту и по экзамену. Домашних заданий нет, разве что доделать то, что они делали в классе, но это никто не проверяет. О, ещё необходимое (вроде бы) условие сдачи предмета — прохождение соответствующего курса на курсере, который они (преподаватели) впервые сделали в этом году. На французском.
Среднесеместровый тест проводится на компьютерах, в течение 45 минут. Студентам выдаётся одна задача, которую они должны запрограммировать, и затем выдать в виде файла. Всё очень автоматизированно: они регистрируются, и профессор на своём ноуте сначала отслеживает, все ли зарегистрировались, потом — все ли сдали. Проверка, к сожалению не автоматическая — проверяют ассистенты. При проверке задача разбивается на несколько аспектов, каждый оценивается по шкале из 5 (с разным весом): 1 — частично сделано, 2 — сделано, 1 — компилируется, 1 — выполняется, 1 — запрограммировано корректно (2+1+1+1=5).
Экзамен — уже на бумаге. Несколько типов задач: вопросы по теории из курса, ответить, что выполняет данный код со случайными именами переменных и методов, найти ошибки в коде по данному выводу компилятора, и запрограммировать концепт задачи (т.е. не весь код целиком, а только некоторые методы, или даже прототипы методов).
Кстати, условия и тестов, и экзаменов придумывать надо было мне. На французском. И код писать — с французскими именами. Да-да, не комильфо, но что поделать — решает профессор.
На первый тест я придумала задачку про коллекционеров бабочек, покупающих и продающих друг другу экземпляры. На экзамен… уже не помню, что. А хотя не, как раз на экзамен были бабочки (в качестве концепта), а на тест были грузовики, перевозящие грузы. И компьютеры, выполняющие задачи. Это всё структурами. А во втором семестре у нас были инопланетяне, летающие тарелки и множественное наследование.
А ещё во втором семестре был проект… В общем-то, из-за него я и пишу этот пост. Проектом я занималась две недели и под конец я люто ненавидела этих студентов. В течение семестра они по парам должны были запрограммировать коробку с идеальным газом внутри. Текстовое и графическое представление сталкивающихся частиц. Частица, оставляющая след. Для особо продвинутых — куча расширений. Изменение размера коробки. Ещё чего-то.
Мне надо было проверять все проекты. 120 (120!!!) проектов. Всю функциональность. Выполнение и код. Две полные рабочие недели…
Некоторые проекты были очень классные. Со звуком. С титрами как в Звёздных Войнах. А некоторые… Код не компилится, иногда из-за глупых ошибок, которые мне надо бы исправить, чтобы понять, есть ли там что-то работающее. Или старые упражнения не включены в финальный makefile. Мне, ругаясь, надо его дописывать, чтобы понять, всё ли работает — у них было 14 упражнений, начиная с класса вектора и кончая частицей со следом. Некоторые — ооо, единицу им за это, — не писали нормального readme, хотя он тоже был необходим по заданию. И фиг поймёшь, что у них там работает и как.
Эх, хотела написать результаты оценок, да вот нету их уже, убрали с сайта. Помню, что совсем не сдали проект 4 группы. Ещё примерно шести группам я поставила ниже проходного балла. Но в итоге несдавших оказалось меньше — некоторые проекты выполнял один человек, в таком случае и спрос, естественно, был меньше.
Помимо меня, кстати, проекты проверяли студенты-ассистенты. Но каждый проверял только 7-8 штук — счастливые люди. А профессор потом, видимо, брал средний балл между мной и ими, если не было средних разногласий. В начале семестра он мне сказал, что проект — это штука серьёзная, и он хочет быть за него спокоен, поэтом и поручает мне проверять всё.
Ни за что не хочу быть преподавателем в университете! Или в школе. Всё едино.
Кстати, ассистировать на этом курсе я начала практически с отсутствием знаний по С++ — всё, что у меня было, это полугодовой курс Симуни пять лет назад. Вот, хоть не зря ходила — пригодился.

Teaching Assistance — аспирантское преподавание в EPFL

Согласно контракту, 20% нашего рабочего времени должны посвящаться помощи преподавателям. Реально уходит обычно меньше, но это как повезёт.
В начале каждого семестра все преподаватели указывают, сколько им надо помощников. Иногда выбирают своих же студентов-аспирантов. Кстати, быть TA может не только PhD студент, но и обычный студент. Им за это деньги платят.
Каждый должен указать свою занятость, скилы и предпочтения. Верю, что занятость на выбор влияет. Про предпочтения не знаю. На предпочтения можно выбрать три курса из списка. Выбрать не всегда легко. Могут поставить на ТА на какой-нибудь курс, о котором понятия не имеешь (наш начальник говорит, что это отличный способ узнать что-то новое). Некоторые преподаватели выбирают студентов сами, остальное распределяется автоматически. Если ты не доволен своим выбором, то почти никак не можешь его изменить — только если ты найдёшь кого-то, кто будет готов вести за тебя.
У меня был лёгкий курс по проге на С. Студенты — не Computer Science, соответственно, программистским умом не блещут. Задачки совсем простые. И что самое клёвое — не надо было ничего делать дома! Моя задача заключалась в том, чтобы отвечать на вопросы и помогать во время практических занятий (1 раз по 2 часа). За день до них я получала файлы с заданиями и с решениями. Читалось это всё в метро по дороге в универ и в начале пары, пока все ещё соображают, что им делать. Проверять ничего не надо было, два теста, которые у них были, проверял преподаватель. Красота.
А вот моему коллеге не повезло. Курс был по матанализу, который то ли матан то ли диффуры то ли ещё что (точнее, всё сразу). Там надо было читать лекции профессора, которые он присылал по почте — чтобы быть в курсе. Занятий было больше, два раза в неделю. Точно так же задачки и решения давались заранее. Однако иногда кто-то мог сделать что-то дома, и тогда это надо было проверять. Да, и ещё одна деталь — все лекции и задания на французском! (У меня тоже так было, но у меня не было проблем с французским, более того, я на французском даже отвечала на вопросы. И я указывала в скилах, что знаю язык.) И, наконец, в конце года по матану у детей экзамен. Мало того, что на нём надо три часа сидеть и смотреть, чтоб не списывали, так после этого его ещё и проверять. 280 работ. По-моему, кошмар.
Совершенно непонятно, как ТА распределяется. Обычно стараются в первый год не давать, но по-моему, это распространяется только на первый семестр. Хотя у нас вот из троих только двоим достался.

Кстати, смешно — я совершенно случайно ТА-ила вместе с парнем из Минска, которого до этого не знала, но блог которого читала до приезда сюда — про поиск жилья в Лозанне =)