Как репетитор, должен ли я поощрять исследования, рискуя получить неверную информацию?

Я учусь на младших курсах информатики в небольшой инженерной школе. В прошлом семестре мне платили как ассистенту преподавателя за один из самых сложных курсов в учебной программе CS. Поскольку это небольшая школа, это означает, что я в основном являюсь общественным репетитором в наших лабораториях CS около 10 часов в неделю и иногда помогаю оценивать экзамены и задания. Я прошел курс в начале этого года и очень хорошо сдал, но я никоим образом не являюсь экспертом в этой теме.

Самая большая часть курса — написать небольшой интерпретатор на Scheme. Студентам дается отправная точка и концептуально рассказывается, как реализовать большую часть интерпретатора на лекциях, но фактическая реализация остается довольно открытой. Из-за этого существует довольно много действенных способов реализовать ту или иную часть проекта, и я не думаю, что смогу изучить их все, не бросив школу, чтобы сделать это своей работой на полную ставку. Сложность заключается в том, что совет, который я даю тому или иному студенту, сильно зависит от того, как он до сих пор завершил интерпретацию, и поэтому я иногда не уверен в правильности своих идей.

Я не вижу отличного способа избежать этого, не сказав им, чтобы они делали это так, как я это делал, когда ходил на занятия. Я думаю, что сильная сторона курса — заставить студентов думать о программировании по-разному, и предположение, что мой путь — лучший, кажется, прямо противоречит этому. Я также не доверяю большинству студентов, говорящих мне, что я не прав, поскольку они обычно приходят ко мне, по крайней мере, немного сбитые с толку.

Как оплачиваемый ассистент нашего отдела информатики, должен ли я поощрять различные решения, рискуя получить неправильные решения и потенциально рискуя оценками других студентов? Или я должен поощрять решения, в которых я уверен, рискуя отвергнуть хорошие идеи?

В первом случае я не чувствую, что помогаю студентам так, как любой из них надеется, но во втором случае я думаю, что меня вполне можно было бы заменить руководством по решению. Я хотел бы двигаться в правильном направлении, насколько это возможно, но я не всегда точно знаю, какое направление является правильным, учитывая несколько разных тысяч строк проектов за один день.

Отличный вопрос. Вы спрашивали об этом преподавателя курса?
@scaaahu У меня нет, хотя я хотел бы при следующем шансе. Каким бы ни был ответ моего профессора, мне любопытно, какие здесь мнения.

Ответы (2)

Укороченная версия:

Поощряйте их, определенно поощряйте их.

Длинная версия:

Прежде всего, я должен сказать, что я не знаком со Scheme, поэтому в своем ответе я предполагаю произвольный проект кодирования. Теперь вы должны учитывать, что кодирование, особенно в более крупном проекте, — это гораздо больше, чем просто набор кода. Как вы сказали, класс довольно сложный, я предполагаю, что у студентов уже есть некоторый опыт, поэтому они должны это знать. Здесь они могут изучить все, что имеет значение: структурированный план того, что они хотят кодировать, хорошую документацию кода, управление временем и т. д. Будьте честны в том, что вы можете и чего не можете делать, скажите им, что вы не будете смотреть на это. несколько 100 строк беспорядочного кода, чтобы найти ошибку. Скажите им, чтобы вы читали их код и искали там ошибки, они должны должным образом задокументировать его, чтобы он был читабелен и понятен постороннему. Скажите им, чтобы они различали логические вопросы (« Потратьте немного времени, чтобы вместе с ними составить план (может быть, сначала на бумаге?) того, как может выглядеть эта часть программы, как лучше всего это сделать, а затем позвольте им реализовать его. Если у них возникнут проблемы с самой реализацией, они могут вернуться снова. Потратьте немного времени, чтобы вместе с ними составить план (может быть, сначала на бумаге?) того, как может выглядеть эта часть программы, как лучше всего это сделать, а затем позвольте им реализовать его. Если у них возникнут проблемы с самой реализацией, они могут вернуться снова.

То же самое должно быть и с ошибками в программе: вы не должны запускать тесты, моделировать или вводить особые случаи в каждую последнюю функцию, чтобы найти ошибку. Расскажите и научите студентов, как находить ошибки, покажите им, как (если возможно) сузить это до одной функции, может быть, до одной части этой функции (хорошая документация того, что должна делать функция или фрагмент кода). здесь помогает). В большинстве случаев они сами найдут ошибку, почувствуют себя счастливыми и мотивированными и продолжат работу. Если они все еще не могут его найти, ну, по крайней мере, они могут показать вам неверный вывод, который генерирует функция F, и вы можете взять его оттуда и указать им правильное направление.

Было бы неплохо, если бы я мог прекратить свои советы здесь, но, к сожалению, есть еще один момент: мотивация. Вышеизложенное может хорошо работать с мотивированным учеником, который знает, что он делает, который садится дома, чтобы поработать над этим, и приходит к вам за помощью, если это необходимо. Однако это не единственный тип студентов. Есть также студенты, которые ходят на курс только ради проходного балла, которые не ходят на лекции, которые просто хотят получить пошаговую инструкцию, что делать, чтобы не провалиться, и вообще не хотят прилагать никаких усилий. . Если в вашем классе нет ни одного из них, поздравляю, считайте себя счастливчиком. Но если вы хотите попробовать подход, как я набросал выше, вам следует учитывать таких учеников в плане и думать, что с ними делать: Вы просто говорите им, что делать? Вы позволяете им провалить урок? Эти моменты следует обсудить с инструктором, так как у него могут быть собственные представления о том, чего ожидать от студентов. Вы не должны просто действовать по своему усмотрению, особенно если вы можете подвести некоторых ленивых учеников, вам нужно его согласие. После того, как вместе определитесь с планом, предоставьте его учащимся, расскажите им, чего именно вы ожидаете от них, прежде чем они обратятся за вашей помощью, как им следует правильно подготовить свой проект, чтобы вы могли эффективно ответить.

Если студент применяет подход, который вы не можете подтвердить как надежный или маловероятный , то вам следует направить этого студента в приемные часы профессора (и вы должны предупредить профессора).

Когда студент обращается к вам с отладкой или другим простым вопросом в лаборатории, вы можете воспользоваться возможностью, чтобы спросить его или ее: «Вы проверили с профессором X, чтобы убедиться, что вы движетесь в правильном направлении?»

Если бы вы были дипломированным ассистентом преподавателя, я бы пошел дальше. Я бы сказал, что вы должны предвидеть эти множественные подходы и в начале семестра подумать о том, как вы будете отвечать на разнообразные вопросы студентов, не колеблясь использовать профессора в качестве одного из ваших ресурсов в вашей подготовительной работе.

Есть ли у вас совет, что делать, если они вряд ли смогут связаться с профессором до срока выполнения задания? Иногда у меня бывают часы до 23:00, когда задание должно быть выполнено в полночь. Я не думаю, что я виноват в поздних представлениях, когда студенты работают за час до срока выполнения задания, так что ваш ответ верен и в этом случае?
@jcolemang - В случае 11-часового запроса о помощи: давайте предположим на мгновение, что студент приносит вам код, который не работает, за час до крайнего срока. Давайте также предположим, что вы понимаете, что его общий подход настолько ошибочен, что вы вдвоем не сможете заставить его работать в соответствии со спецификациями, даже если вы продержитесь в нем до 2 часов ночи. В этом случае, может быть, лучше всего, если студент отдаст что-нибудь , чтобы профессор мог увидеть, что была предпринята какая-то попытка. И после этого, может быть, лучше всего вам обоим заняться этим...
... дело в том, чтобы пойти выпить пива. Или пойти домой и заняться стиркой. Или лечь спать пораньше и увидеть сладкие сны, а на следующее утро встать готовым к следующему вызову. Но как насчет случая, когда вы не уверены, что его подход может решить проблему в соответствии со спецификациями? В этом случае нужно просто быть честным. Да, вы двое можете продолжать дурачиться до 23:59, если хотите, но держитесь спокойно. Дружелюбное, непринужденное отношение может быть очень полезным, помогая учащимся справиться с такими ситуациями. Советую прикинуться бразильцем (если вы не...
...уже бразильянка). Просто будь хорошим парнем/девушкой и помоги ученику сохранить его/ее точку зрения.