Мне была назначена должность ассистента преподавателя для программной части моих университетских курсов по байесовскому выводу на уровне MS. Несколько месяцев назад я читал курс по вычислительной статистике. Мой опыт в этом, без предыдущего опыта преподавания, был не таким большим из-за в целом плохой успеваемости учащихся, вероятно, из-за незнания используемого языка программирования (R).
Я готовлю слайды, лекция за лекцией, со встроенным кодом, который запускаю и комментирую на ходу. Иногда я предлагаю упражнения, но их выполнение часто схематично, и я обнаружил, что многие люди не могут использовать базовые конструкции языка с достаточной беглостью, чтобы создавать код, который запускается «на месте». Учитывая, что у меня есть программа, которую я должен пройти, и я не знаю, что еще предложить студентам, кроме как больше тренироваться и изучать синтаксис языка, я сам в большинстве случаев самоучка в этом, а это означает, что мой способности к программированию не имеют ничего общего с курсовой работой, которую я делал во время учебы — есть ли у вас какие-либо советы, как сделать мои лекции более эффективными и стимулирующими?
Re: Стремление к упражнениям в классе (код "на месте"). Одна вещь, которую я обнаружил в этом семестре (преподавание вводного C++ по учебнику Гэддиса), - это идея лабораторных упражнений с в основном заполненными программами, где студентам нужно всего лишь добавить несколько строк, связанных с новыми языковыми структурами, о которых вы только что прочитали лекцию. По сравнению с упражнениями «написать целую программу прямо сейчас», которые я использовал в прошлом, это работает на удивление хорошо; вписывается в правильный временной интервал для всех, заставляет их руки/глаза напечатать эту структуру хотя бы один раз, поднимает основные моменты/трудности именно этой темы и т. д.
Заполняющие лабораторные упражнения, которые я выполняю, взяты непосредственно из материалов для инструкторов Gaddis, так что это значительно облегчает мою рабочую нагрузку. Откровенно говоря, я не ожидал, что они будут работать так хорошо, как сейчас, но каждый день органично возникает важный обучающий момент. Не панацея для всех, но в этом семестре это стало своего рода откровением.
Живое кодирование (в частности, как это делается на семинарах Software Carpentry ) отлично подходит для понимания программирования. Я использовал его на стандартных университетских лекциях в течение трех лет, и он очень популярен среди студентов. Основные преимущества
За этими преимуществами скрываются свои недостатки: насыщенная лекция отнимает больше времени, и вам нужна практика, чтобы подготовиться без чрезмерной подготовки. Вы также должны сделать код доступным вместе со слайдами для последующего прочтения — сочетание записи лекции с кодированием в реальном времени работает, но лучше иметь доступные файлы.
Я был в похожей лодке, ТА для экономических курсов, где использовалось программное обеспечение, о котором большинство студентов не знали с самого начала. Я обнаружил, что несколько вещей работают хорошо:
Суть в том, что невозможно выучить язык программирования, сидя в классе. Студенты должны будут посвящать внеклассное время, чтобы практиковать это. Вы можете указать им правильное направление и показать им ресурсы, но вы не можете держать их за руку на протяжении всего пути; в какой-то момент вам просто нужно ожидать, что они могут следовать тому, что требует курс.
Гоббс
Рагху Партасарати
лямбда_ву
ff524