На сегодняшний день у руководства мехмата есть потребность в проведении опросов студентов. Некоторые уже с этим столкнулись, некоторые еще нет.
Также существует решение об автоматизации процесса. Но прежде чем перейти на этот уровень требуется провести опрос, который покажет какому решению студенты будут доверять больше.
Прошу студентов голосовать вот здесь. Если есть вопросы, то задавайте в этой теме.
В процессе анкетирования был задан вопрос. Цитирую:
“Как в ограниченной группе можно добиться во время опроса: 1) Анонимности 2) Один человек один раз голосует Сделать вход по gmail или просто использовать куки, с открытостью на гитхабе”
Жаль что автор не задал его здесь, потому что лично мне не все понятно в вопросе. Но я попробую ответить.
Анонимность достигается прозрачностью исходных кодов. Говоря о варианте 1, уточню, что в таблице “ответы на анкету” будет содержаться информация о том что ответил опрашиваемый, но не будет информации о том кто отвечал. Во варианте 2 руководство не будет знать *какой код кому" из студентов достался. Если Вы беспокоитесь об анонимности от друзей-студентов, то этого гарантировать не сможет ни одна система.
В варианте 1, в отдельной таблице, не связанной с ответами на анкету, для каждой пары пользователь+анкета будет указано, что уже отвечал и второй раз система не даст. В вариант 2, один код - один голос.
В конце концов, я полагаю, что студент мехмата должен быть способен почитать коды системы и убедиться, что его не обманывают разработчики. А использовать gmail и куки - это 100% не анонимно.
Второй вариант вполне неплох, мы такой опрос проводили по результатам курса «Алгоритмы и структуры данных». Коды были распечатаны на листочках, и студентам предлагалось вытягивать по одному листочку, не глядя. Это позволило соблюсти анонимность (и от друзей-студентов тоже), а также каждому проголосовавшему студенту увидеть, что его голос был учтён. Коды считались одноразовыми, и принимались только первые ответы с конкретным кодом, т.к. указание кода являлось частью опроса. Хотя всё равно часть листочков осталась валяться в аудитории после завершения занятия.
Недостаток системы – студенты не могут быть уверенными, что я не исказил результаты опроса, подмешав фиктивных участников голосования (но это и не предусматривалось).
Рискну предложить такой алгоритм:
Преподаватель в начале процедуры анкетирования выбирает какой-либо довольно длинный текст, и публикует его хеш (например, какой-нибудь SHA-2).
Оглашается алгоритм генерации кодов для анкетирования. Входом алгоритма считается секретный текст (хеш которого известен), и некоторая строка достаточной длины. Обязательное условие – алгоритм генерирует ограниченное число кодов. Тут всё просто, можно банальный XOR реализовать для начала текста и этой строки.
Заинтересованные студенты на занятии записывают, к примеру, по одному слову каждый, из этих слов составляется строка для генерации кодов.
Преподаватель генерирует коды, и предлагает студентам тянуть листочки с кодами. Пока исходный текст не оглашен, студенты знают только его хеш и коллективно придуманную строку, воспроизвести коды не могут.
По завершению анкетирования преподаватель оглашает исходный текст, что позволяет каждому студенту убедиться в том, что его код действительно был создан по заданным правилам.
Если все студенты проголосовали, и никто не возмущался по поводу кодов (нет такого или кто-то уже голосовал с таким кодом) – всё хорошо.
Так можно добиться и анонимности, и однократного голосования.
Сложновато это, конечно, для анкетирования, но можно попробовать как-то это оптимизировать.
Да, и этот алгоритм, кажется, может быть доработан для избежания как вредоносных действий преподавателя (например, успеть проголосовать по какому-то коду раньше студента), так и студентов, имеющих возможность обвинить преподавателя в том, что им выдали неверный код.
Дело в том, что мы с @bravit обсуждали варианты централизованного тестирования. Т.е. в конце семестра ~20 учебных групп, т.е. около 450 студентов, должны поучаствовать в опросе. Возможно, порядок чисел увеличится. Давать каждому преподавателю создавать анкету - это долго и очень ненадежно. Посмотрите на Сервис БРС, у магистрантов 1 года только появилась 1-ая дисциплина, а уже 2/3 семестра прошло. Поэтому обсуждался централизованный вариант, а именно анкета одинаковая для всех предметов, есть администратор анкетирования, который указывает студенты какой группы по каким дисциплинам голосуют. А дальше доступ предоставляется одним из двух описанных способов.
Мне кажется, предложенный алгоритм содержит очень много шагов связанных с взаимодействием. Текст сюда, слова туда и т.д. Это может затормозить процесс. Но если @bravit одобрит, я готов добавить в текущий опрос и этот вариант. Хотя там уже 190 проголосовавших…
Да мне просто интересно, как мог бы выглядеть идеальный алгоритм голосования, я не думаю, что есть необходимость всё это реализовывать. И потом, это соответствует второму варианту, он мне кажется вполне приемлемым. Ну а дальше – это уже выбор студентов, что именно им подойдёт больше.