Какие вопросы нужно задать, чтобы выяснить оригинальность работы студентов?

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

Мне было интересно, если кто-нибудь предложит пару вопросов, которые могут помочь мне узнать, сделал ли он свой проект самостоятельно или позаимствовал у «друга». Кроме того, я хотел бы взвесить свои знания. Как мне это сделать?

ОБНОВЛЕНИЕ: Курс "компьютерное программирование".

Это слишком широко, чтобы отвечать в целом. По крайней мере, не могли бы вы указать предмет, который преподаете?
Если вы стандартизируете вопросы, это не поможет, потому что вопросы и ответы на них будут распространяться так же, как отчеты и программы. Чтобы быть эффективным, вам нужно прочитать каждую работу и задать конкретные вопросы о выборе, сделанном в этой работе.
@PatriciaShanahan, но как новый ассистент, я хотел бы знать, какой базовый вопрос следует задать, чтобы хотя бы найти способ задать дополнительные вопросы.
@ Дэвид, я думаю, вам следует сначала прочитать отчет или программу и выбрать все, что вы не понимаете или могли бы сделать по-другому, и спросить об этом. Вопрос возникнет из комбинации вашего собственного опыта и материала, который вы оцениваете, и будет совершенно непредсказуемым.

Ответы (3)

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

Вопросы могут быть простыми, например: «Как ты это сделал?» или вы можете задать дополнительные вопросы на основе их ответов, например, если они ответят «Используя технику А», вы ответите: «О, понятно, как вы используете технику А?» или «Как это работает?»

Я не знаю, даете ли вы им викторины, но если да, то вот мой способ справиться с этой ситуацией:

Предположим, я попросил студентов взять производную функции f(x) = 5x^2+3x+4.

В викторине я либо задаю тот же самый вопрос, либо немного меняю вопрос, например:

Возьмите производную f(x) = 3x^2+4x+5.

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

Третий вариант, если он и взял домашнее задание, и правильно ответил на вопрос, то домашнее задание дошло до своего хода и чему-то научило ученика. Поскольку студент действительно что-то знает, он заслуживает похвалы.

Я думаю, что такие вопросы могут быть полезными: «Как работает эта часть вашего решения?» или "как работает эта часть вашего решения?" Но я не знаю, можно ли задать вопрос типа «как вы получили это решение».

Поскольку класс, который вы ТА, является классом программирования, я предложу два варианта, которые я использовал, которые хорошо сработали для меня (конечно, после Google Stack Overflow и Github). Оба этих варианта начинаются с задавания разговорных вопросов («Как дела? Нравится ли вам занятие?»), чтобы помочь учащемуся расслабиться — когда речь идет о коде в следующей части, колебания и ошибки могут использоваться как индикатор отсутствия знания, но не в том случае, если это просто нервы.


Вариант 1 : лучше для среднего уровня для продвинутых классов : посмотрите на их кодирование заранее, убедитесь, что у вас есть некоторые заметки об их стиле кодирования, предпочтительных методах и уровне знаний. Затем выберите одну из их программ и попросите написать на бумаге/меловой/белой доске некоторый код, решающий аналогичную задачу. Сообщите им, что вы не ожидаете безошибочного кода и что, если они не могут вспомнить точный метод, просто используйте что-то близкое (в зависимости от класса псевдокод может быть приемлемым). Дело в том, что человек, выполнивший задание, должен придумать что-то, что соответствует базовой логике и стилю кодирования, которые были замечены в его заданиях - если это далеко от вас, вы знаете, что они, вероятно, не писали это сами - много раз приводило меня чтобы начать вариант 2 с ними.

Вариант 2 : я бы честно использовал 2 или 3 задания для этого метода. Так как легче увидеть, имеет ли смысл прогрессия таким образом (человек обычно не переходит от «если/иначе» к построению генераторов и деревьев решений в течение одного или двух занятий*), и это дает больше материала для обсуждения.

Начиная с одной из программ, я затем задавал очень открытые вопросы о том, как студент нашел свое решение. Вам нужно избегать вопросов о фактах, поскольку вы пытаетесь увидеть знания и мыслительный процесс, а не просто заучивание ответов на вопросы викторины. Вы можете задавать здесь дополнительные вопросы, но оставьте их ограниченными и по-прежнему открытыми («можете ли вы объяснить это подробнее», «почему вы использовали именно этот метод», «вы пробовали что-то еще»). Вы ищете несколько вещей здесь:

  • Тот, кто написал код для себя, должен вести разговор естественно — без пауз и обдумывания своих ответов так часто.

  • Студент должен уметь объяснить каждый метод. Если это сложный метод, они могут заблудиться или сделать несколько мелких ошибок, но они должны быть в состоянии объяснить все концепции.

  • Мыслительный процесс, который они описывают, должен иметь смысл. Это должно включать как используемый метод, так и обоснование использования этого метода: «Я решил использовать цикл for для ключей словаря, поскольку он казался более элегантным и простым в обслуживании, чем массивные операторы if/elif/else».

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

* У меня был один ученик, который сделал именно это. Выяснилось, что он программировал несколько лет и осваивал язык намного быстрее.