我的任务是为小型大学开发在线考试软件,我需要采取措施防止作弊......
您对如何做到这一点有什么想法?
我想要禁用所有的IE / firefox选项卡,或者一些日志互联网活动的方式,所以我知道他们是否正在使用Google搜索...是否有任何实际的方法从flex / web应用程序执行此类操作?
答案 0 :(得分:7)
简单地说,没有如果是在线考试(假设他们使用自己的计算机参加考试),则没有切实可行的方法来实现这一目标。
答案 1 :(得分:4)
是否全屏打开浏览器窗口?您还可以检查失去焦点的窗口,并启动一个计时器,在一段时间后停止测试。
答案 2 :(得分:4)
@Chuck - 一个好主意。
如果测试是在Flash / Flex中创建的,您可以强制用户使应用程序全屏以启动测试(全屏模式必须由用户启动)。然后,您可以侦听闪存退出全屏模式时调度的Flash事件,并采取您想要的任何适当操作(结束测试,惩罚用户等)。
Flash/Flex fullscreen event info.
blog.flexexamples.com有一个创建全屏应用的示例。
答案 3 :(得分:3)
随机问题和大量问题有助于解决问题。随机化甚至相同的问题(比如改变数字,计算结果)也有帮助。这些都不会阻止作弊。
在第一种情况下,如果游泳池足够大,所以没有两个学生得到同样的问题,这意味着学生将在几个学期的课程中编制一份问题清单。 (对于教授来说,提出这么多问题也是一大堆工作,我不得不把它作为TA来做它并不好玩。)
在第二种情况下,你需要的只是一个聪明的学生来解决一般情况,其余的只是接受答案并插入值。
在线评论系统适用于这些策略中的任何一种(在作弊方面没有任何好处。)在线测试?他们不会工作。
最后,至于防止谷歌搜索...祝你好运。即使您的应用程序可以完全锁定机器。用户可以随时运行VM或第二台机器,并随心所欲。
答案 4 :(得分:3)
我的学校一直有Lockdown browser的下载链接,但我从未参加过要求它的课程。您可以强制学生将其与用户代理检查一起使用,但可能会因为一些努力而被欺骗。
进行测试是防止某人作弊的唯一方法。所有其他方法可能使得大多数人都不值得付出努力,但不要忽视这样一个事实,即某些类型的人的工作难度要比他们诚实地学习要好两倍。
答案 5 :(得分:2)
他们是否总是在测试机器上进行测试,或者他们是否能够从网络上的任何机器上进行测试?如果它是特定的机器,只需使用hosts文件以防止它们进入网络。
如果是任何机器,那么我会考虑让测试后端更改运行测试的机器的防火墙规则,这样机器就无法进入互联网。
答案 6 :(得分:2)
由于您无法阻止他们使用谷歌,您必须确保他们没有时间去谷歌。将问题放在图像中,这样就无法复制和粘贴(每次显示时都会随机化图像名称)。
让问题更长(100字或更多),你会发现人们宁愿回答这个问题而不是重新输入google中的所有内容。
给他们很短的时间。像30-45秒。是时候阅读问题了,想一下,然后点击A,B,C,D,E,
(刚从CSUN毕业,我可以告诉你scantron测试工作。)
对于论文问题?做一个反向谷歌查询(意思是一旦他们点击提交将他们的答案放入谷歌),看看你是否得到完全匹配。如果是这样,你知道该怎么做。
答案 7 :(得分:1)
我可能会实现一个简单的winforms(或WPF)应用程序,其中包含一个浏览器控件 - 它被锁定在您的站点中。然后,您可以删除指向浏览器的链接并锁定工作站,以便他们可以打开的所有内容都是您的应用。
这假设您可以控制学生参加考试的工作站。
答案 8 :(得分:1)
作为一名教师,我可以告诉你最好的方法是让人们对答案进行审查。根据课程背景,学生的预期知识水平,课本内容等,一个人可以感知复制/粘贴或无意义的答案等。
计算机可以执行诸如检查答案的统计相似性之类的事情,但是您确实需要一个人进行最终审查(或者,建立一个大规模的统计处理,AI堆栈,其成本将是人类审查成本的10倍并赢得一样好; - ))
答案 9 :(得分:1)
不,浏览器旨在限制网站或应用程序对系统造成的损害。您可以通过Java,activex控件或自定义插件来实现目标,但除此之外,您无法“观察”他们在系统上执行的操作,更不用说控制它了。 (想想你是否可以!我可以在这个网页上放一个间谍,如果你打开它,我会看到你打开了哪些其他网站?)
即使您可以这样做,使用VM内的浏览器也可以让他们在测试期间使用一台计算机进行浏览,如果您能解决这个问题,他们可以简单地使用带有笔记本电脑的库计算机,或读书中的东西。
现实情况是,这种不受监控的测试要么必须被视为“开放式书籍”或“荣誉”测试。您必须以引用无助于解决问题的方式设计测试问题,这也意味着每个学生需要稍微不同的测试,因此他们无法串通并生成密钥。
你必须开发一个在他们的计算机上运行的应用程序,但即使这样你也无法轻易解决VM问题,也无法解决并排的计算机或预订问题。
- 亚当
答案 10 :(得分:0)
没有人可以阻止人们作弊,但每个人都可以完全接受不同的问题。
我更喜欢你在市场上购买可用的在线脚本作为它的起点。这将节省您的时间,成本和测试工作。
以下是我使用过的精美脚本之一,它的功能就像魅力一样。以此为基础,我使用计算机自适应测试开发了一个超过1000个用户的在线测试门户。
http://codecanyon.net/item/online-skills-assessment/9379895
对于希望开发在线考试系统的人来说,这是一个很好的起点。
我在他们的支持下自定义了脚本。
答案 11 :(得分:0)
随机化问题,向大型银行询问一组随机问题...时间答案......
除非你的意思是攻击你的网站,这是一个不同的问题。
答案 12 :(得分:0)
这将解决您的问题。 http://www.neuber.com/usermonitor/index.html 这样您就可以在测试期间和之后查看学生的浏览器历史记录,并在测试期间查看他们的屏幕。将记录在测试时间访问的任何网址,因此当您在其报告卡上放置大F时,可以向他们显示日志。 :)
答案 13 :(得分:0)
我是Guy说的第二个。我们还创建了一个基于Flex的考试系统,该系统托管在.NET内置的自定义浏览器中。自定义浏览器全屏启动,所有工具栏都被隐藏,快捷方式被禁用。
以下是关于如何使用C#和VB.NET创建自定义浏览器的tutorial。
答案 14 :(得分:0)
制作问题和答案jpeg图像,这样您就无法将文本块复制并粘贴到搜索引擎或IDE中(如果是编码测试)。结合每个问题的时间限制,比如三分钟,这使得欺骗更加困难。
答案 15 :(得分:0)
全屏建议的有效性非常有限,因为用户总是可以使用第二台计算机或第二台屏幕使用多台监视器来执行查找。最后,假设学生要作弊然后不计算在线测试中的任何重要内容可能会更好。
如果测试对学生有帮助,那么他们将在受控环境中进行的最终/中期考试中做得更好。否则,为什么要把它们放在第一位......
答案 16 :(得分:0)
您可以强制执行测试可用的小时间窗口。这可以减少知道答案的学生可以自由地帮助那些没有答案的学生(因为他们都需要同时参加考试)。
如果与数学有关,请为不同的学生使用不同的数字。一般来说,尝试针对不同的测试副本提出不同的问题。
如果你要设计整个课程:尝试也有一些在线作业,这样你就可以为每个学生建立一个档案,例如统计分析他们使用某些常用词和标点符号的频率。有些学生经常使用分号;例如,其他人从未当他们参加考试时,你会很清楚他们是否真的在打字。
你也可以问几个你知道他们不知道的问题。例如,列出10个问题并说他们必须回答10个问题中的任何一个。但是根据课堂上没有教授的材料制作3个问题。如果他们选择其中的2个或3个,你就有充分的理由怀疑。
最后,使用算法来比较类似的答案。做一个简单的哈希来摆脱微小的变化。例如,散列一个较低的3-gram(连续3个单词)列表的答案,按字母顺序排列,然后查找不同用户之间的许多冲突。这可能听起来像一个明显的技术,但作为一名教师,我可以向你保证,这将吸引大量的骗子。
可悲的是,真正的麻烦是实际上对欺骗者实施惩罚。在我所教过的大学里,如果一个学生反对你的惩罚(例如在有问题的考试中对他们进行诽谤),政府通常会给学生一些回报,比如积极的等级变化。我想这是因为学生(的父母)已经为大学付了很多钱,但作为一名老师,这仍然非常令人沮丧。答案 17 :(得分:0)
禁止他们使用任何无线设备或笔记本电脑并对机器进行键盘锁定?
答案 18 :(得分:0)
你唯一的希望是一个强大的学校荣誉代码和人类监督测试的房间。
正如许多其他海报所说的那样,你无法控制学生的电脑,你当然也无法阻止他们使用第二台电脑或iPhone与用于测试的电脑 - 请注意iPhone (或其他蜂窝设备)可以绕过网络上的任何DNS或防火墙,因为它使用的是蜂窝网络提供商的网络,而不是学院的网络。
祝你好运;你需要它。答案 19 :(得分:0)
我同意亚当的观点,即使有我提出的限制,作弊仍然是微不足道的。这些只是“尽力而为”的建议。
答案 20 :(得分:0)
尝试在群组中添加短信。
答案 21 :(得分:0)
如果应用程序完全在用户的计算机上运行,我不相信有办法确保他们没有谷歌答案。即使这样,也很难检查所有可能的环孔。
我参加了使用基于网络的测验软件的课程,并且习惯于为一所小型学院工作。对于基本的作弊预防,我会说随机化问题。