У меня есть домашнее задание, в котором я требую, чтобы учащиеся создали набор сводных диаграмм в Microsoft Excel. Я знаю, что могу уменьшить списывание, изменяя наборы данных или спецификации диаграмм, но из-за сложности заданий и моих практических ограничений, заключающихся в невозможности отметить более пяти или около того разных версий, это не мешает учащимся находить тех, кто имеют те же характеристики, что и сами и копируют между собой. (Я координирую курс с более чем 700 студентами, поэтому я могу сделать только то, что касается альтернативных версий. Студенты хорошо связаны друг с другом через Facebook, поэтому общение между ними вполне осуществимо для тех, кто хочет обмануть. )
С одной стороны, в моей ситуации создание альтернативных версий затруднительно из-за сложности задания, а его эффективность ограничена, потому что трудолюбивые мошенники все равно могут смошенничать. С другой стороны, я считаю, что если я смогу эффективно выявлять мошенничество постфактум, то строгое предупреждение студентов об этом может послужить эффективным сдерживающим фактором, который должен значительно снизить количество случаев мошенничества.
Есть ли в Microsoft Excel функции, облегчающие обнаружение списывания путем копирования между учащимися? Я не ожидаю, что легко обнаружу, копирует ли студент такие элементы, как сводные таблицы, из одного файла в другой, но, возможно, по крайней мере, я смогу определить, копировал ли студент вообще чей-то файл. Я не обязательно ищу что-то надежное - я ожидаю, что мошенники в этом задании будут теми, кто не знает даже элементарных вещей, таких как, как вручную изменить информацию об авторе в файле Excel.
Говоря об этом, к сожалению, насколько я могу судить, Excel перезаписывает информацию об авторе последним человеком, сохранившим файл, поэтому я даже не мог использовать это, чтобы определить, скопировал ли кто-то файл, созданный кем-то другим.
Буду признателен за любые предложения.
РЕДАКТИРОВАТЬ:
В некоторых ответах предлагалось попросить студентов представить письменное объяснение своих рассуждений. Хотя я упомянул, что у нас более 700 студентов, позвольте мне быть более точным: я не считаю решения, требующие чтения и отметки дополнительных текстовых представлений, приемлемыми для моего контекста. С одной стороны, есть несколько инструкторов, поэтому любому инструктору нужно будет отметить всего несколько десятков заданий. С другой стороны, если есть мошенничество в разных разделах, то чтение текстовых материалов не является подходящим методом проверки. Таким образом, я искал решение, которое могло бы легко указать, что работа студента содержит неоспоримые следы работы какого-то другого студента.
О, привет, я написал сценарии для решения этой проблемы в аналогичном масштабе (около 800 студентов каждый семестр). Мы создаем новые рабочие тетради «отправной точки» каждый семестр.
Первый шаг — проверка метаданных. Его можно автоматически извлечь с помощью инструмента командной строки exiftool , пакета Python openpyxl или путем простого анализа XML.
Затем, если дата создания старше предоставленного вами файла, вы знаете, что они скачали файл из предыдущего семестра. С другой стороны, если дата создания новее, а создателем является студент, а не вы, это означает, что он создал новую книгу с нуля, скопировал и вставил ее содержимое. скрыть списывание (но, конечно, студент должен получить возможность объясниться).
Затем есть дата изменения — вы можете проверить, находится ли она в разумном диапазоне (дни до даты выполнения) — и lastModifiedBy. В нашем случае студенты сдают около дюжины рабочих тетрадей в течение семестра, поэтому стоит отслеживать различия в именах пользователей и флагах. Если вы получаете только одну рабочую книгу, это может не иметь смысла. Я также проверяю, совпадает ли имя пользователя с именем студента; У меня есть несколько автоматических проверок, которые одобряют большинство из них и запрашивают у меня остальные. Если имя в метаданных явно является именем другого человека, мы спрашиваем учащегося, почему это так.
Еще одна вещь, которую можно найти, это ссылки. В Excel можно ссылаться на значения в другом файле, что создает «ссылку». Когда рабочая книга загружается без соответствующего связанного файла, значения не могут быть обновлены. Студенты часто непреднамеренно создают ссылки при копировании и вставке. Имя файла, из которого они скопировали, хранится в рабочей книге, чего может быть достаточно, чтобы понять, что он из незаконного источника. Вы можете обнаружить наличие ссылок, перечислив файлы в zip (каждый файл .xlsx на самом деле является zip-файлом): если присутствует «xl/externalLinks/externalLink1.xml», значит ссылки есть.
Я нахожу цель ссылки, используя openpyxl; в объекте рабочей книги все ссылки находятся в workbook._external_links
. Учитывая объект ссылки link
, имя файла находится в link.file_link.Target
. Если вы хотите сделать это на более низком уровне, имя связанного файла находится в «xl/externalLinks/_rels/externalLink1.xml.rels».
Я также вычисляю хэш каждого файла, чтобы найти точные дубликаты (как правило, только студенты, повторно загружающие исходный файл).
Более трудоемкий шаг — извлечь все содержимое ячейки (включая формулы). Хэш из них найдет дубликаты, но игнорирует метаданные, форматирование и цвета, любые графики, фильтры и сводные таблицы; он принимает во внимание только фактическое содержимое ячейки. (Поэтому, если основное, что делают ваши ученики, — это создание сводной таблицы, это не поможет).
Я также передаю это содержимое ячейки в simhash , чтобы найти «почти дубликаты». Я использовал инструмент командной строки Барта Мэсси , а также пакет Python . Честно говоря, в большинстве случаев это не кажется очень полезным. Несколько раз он находил подозрительные сходства, но мне требуется много времени, чтобы проверить возможные совпадения.
Я также нахожу значения ячеек, которые встречаются в нескольких рабочих тетрадях (скажем, в 2–12 из 800 файлов). Предполагается, что значения ячеек, которые встречаются в большем количестве файлов, чем это, являются «естественными» для включения многими учащимися, и что круг копирования-мошенничества не будет больше этого. Я смотрю на них и решаю, подозрительны они или нет (два студента, делающие опечатку «Парта 1», кажутся нормальными; более длинная фраза с одинаковыми ошибками — нет.)
Это занимает пару часов моего времени каждый раз, когда приходит партия рабочих тетрадей, и это далеко не надежно, но каждый раз обнаруживается несколько явных случаев мошенничества.
Найдите способ генерировать наборы данных и результаты программно, чтобы вы могли однозначно проверять задание каждого учащегося отдельно. Сначала это потребует больших усилий, но может окупиться на более поздних курсах.
Используйте один набор данных и один набор результатов. Спросите их, почему они решают самые сложные задачи задания. Используйте это, чтобы проверить на мошенничество. Ни один человек не думает одинаково и не описывает что-то сложное одинаково.
Моя рекомендация для последнего. Большинство задач, которые можно выполнять с помощью таких инструментов, как Excel, в ближайшем будущем будут автоматизированы. Лучшее, чему могут научиться ваши ученики, — это рассуждать (и эффективно формулировать это) и выбирать подходящий инструмент/метод для работы.
Я предполагаю, что вам нужны подсказки, которые можно получить автоматически.
Возможно, стоит проверить все позиции и размеры графиков / диаграмм / рисунков и т. д. Обычно они размещаются движением мыши, поэтому позиции должны различаться.
Если вы очень тонки, вы можете дать им отдельные листы для начала (возможно, содержащие начальный набор данных). Эти файлы могут быть тайно помечены в базовых XML-файлах, например, добавлением дополнительного тега для каждого учащегося (я не проверял это, но я уверен, что никто этого не обнаружит) или путем добавления персонализированного «создателя документов» (но это видно ученикам). Вам просто нужно разархивировать .xlsx-файл и изменить docPros\core.xml
Чистая копия файла может быть легко обнаружена, например, путем вычисления контрольной суммы PGP для файлов. Если две контрольные суммы совпадают, они являются точными копиями.
r:id
для рабочего листа. Быстрый тест показывает, что вам нужно только обновить ссылку в \_rels\.rels
и \xl\workbook.xml
и\xl\_rels\workbook.xml.rels
Если история изменений не включена, вы не сможете получить какую-либо информацию, относящуюся к истории документа — может быть, сделать ее включенной правилом?
Другие рекомендации:
Я преподаю Excel, и у меня было несколько учеников, которые «обманывали», копируя у других учеников. Я всегда ловил их, щелкая правой кнопкой мыши файл, который они включают, и выбирая «Свойства». В разделе «Безопасность» указывается дата и идентификатор автора учащегося, создавшего файл. Если это 2 разных имени или имя совершенно другое, это отличная подсказка. Надеюсь это поможет.
Я тоже учитель, и у меня такая же проблема с плагиатом.
Я использую эти методы - я могу обнаружить:
Вы можете использовать эти советы для создания собственного сценария. Или просто попробуйте онлайн-инструмент https://www.sheetexpert.com/ - я разработал его, чтобы сэкономить время себе и своим коллегам.
Вы пытались загрузить все файлы в одну папку, а затем отсортировать их по номеру CRC? Я провожу класс статистики с отправкой данных в Excel и таким образом поймал много студентов, потому что в большинстве случаев crc будет идентичен, если файл является точной копией.
Солнечный Майк
Эрван
Солнечный Майк
Три части
галантный
Три части