开发在线考试应用程序,如何防止作弊?
我的任务是为一所小型大学开发在线考试软件,我需要采取措施来防止作弊...
我们如何做到这一点的想法是什么?
我想禁用所有IE / firefox选项卡,或者禁用一些如何记录互联网活动的信息,以便知道它们是否在搜索谷歌……是否有实际方法可以从flex / web应用程序中进行此类操作?
解决方案
回答
将问题随机化,从大银行中随机询问一组问题,然后再回答答案。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
除非我们是要黑客入侵网站,否则这是另一个问题。
回答
缺少使应用程序完全在用户计算机上运行的能力,我不相信有一种方法可以确保他们不会在谷歌上找到答案。即使那样,也将很难检查所有可能的漏洞。
我上过使用基于Web的测验软件的课程,也曾经在一所小型大学工作。对于基本的作弊预防,我会随机分配问题。
回答
我可能会实现一个简单的Winforms(或者WPF)应用程序,该应用程序中包含一个浏览器控件-该控件已锁定到站点。然后,我们可以删除指向浏览器的链接并锁定工作站,以便它们只能打开应用程序。
当然,这假定我们可以控制学生要在其上进行测试的工作站。
回答
简而言之,如果是在线考试(假设他们使用自己的计算机参加考试),没有任何现实的方法可以完成此任务。
回答
他们将始终在测试计算机上进行测试,还是能够从网络上的任何计算机进行测试?如果将是特定的计算机,则只需使用hosts文件以防止它们进入网络。
如果是任何计算机,那么我将考虑让测试后端更改正在运行测试的计算机的防火墙规则,以使该计算机无法访问互连网。
回答
尝试将SMS消息添加到组合中。
回答
是否可以全屏打开浏览器窗口?我们也可以检查窗口是否失去焦点,并启动一个计时器,在一段时间后停止测试。
回答
作为一名老师,我可以告诉我们最好的唯一方法是对答案进行人工审查。鉴于课程的背景,学生的预期知识水平,教科书的内容等,一个人可以感觉到复制/粘贴或者没有意义的答案。
计算机可以执行诸如检查答案的统计相似性之类的事情,但是我们确实需要一个人进行最终审阅(或者,构建大型的统计处理AI堆栈,其成本将是人工审阅成本的10倍,并且不会一样好 ;-))
回答
不,浏览器旨在限制网站或者应用程序对系统造成的损害。我们可能可以通过Java,activex控件或者自定义插件来实现目标,但除此之外,我们将无法"观察"他们在系统上的工作,而不能对其进行控制。 (请考虑一下!我可以在此网页上监视一下,如果我们将其打开,我会看到我们还打开了哪些其他网站?)
即使我们可以这样做,使用VM内的浏览器也可以使他们能够在测试过程中使用一台计算机进行浏览,并且如果可以解决,他们可以只使用一台图书馆计算机,并在笔记本计算机旁边安装或者阅读一本书中的东西。
现实情况是,必须将此类不受监控的测试视为"公开考试"或者"荣誉"测试。我们必须以参考不会帮助解决问题的方式设计测试问题,这也意味着每个学生都需要获得略有不同的测试,因此他们无法合谋并生成密钥。
我们必须开发一个在他们的计算机上运行的应用程序,但是即使那样,我们也无法轻松解决VM问题,也根本无法解决并行计算机或者预定问题。
-亚当
回答
我同意亚当的观点,即使有我建议的局限性,作弊还是微不足道的。这些只是"尽力而为"的建议。
回答
我们唯一的希望是强大的学校荣誉守则和对要进行测试的房间进行人工监督。
正如许多其他张贴者所说的那样,我们无法控制学生的计算机,当然也不能阻止他们在测试所用的计算机旁使用第二台计算机或者iPhone。请注意,iPhone(或者其他手机)设备)可以绕过网络上的任何DNS或者防火墙,因为它使用蜂窝网络提供商的网络,而不是大学的网络。
祝你好运;我们将需要它。
回答
随机问题和大量问题会有所帮助。甚至将同一问题随机化(例如更改数字并计算结果)也有帮助。这些都不能阻止作弊。
在第一种情况下,如果池足够大,以至于没有两个学生会收到相同的问题,那么这意味着学生将在几个学期的过程中编制一系列问题。 (教授提出如此多的问题也是一项繁重的工作,我不得不这样做,因为它不是一个有趣的助教。)
在第二种情况下,我们只需要一个聪明的学生来解决一般情况,其余所有都只需回答并插入值即可。
在线评论系统可以很好地与这两种策略配合使用(作弊没有好处。)在线测试?他们不会工作。
最后,关于防止谷歌搜索……祝我们好运。即使应用程序可以完全锁定计算机。用户可以始终运行VM或者第二台计算机,然后执行所需的任何操作。
回答
我的学校一直都有用于Lockdown浏览器的下载链接,但是我从来没有上过需要它的课程。我们可能会迫使学生将其与用户代理检查一起使用,但可能会被欺骗以作一些努力。
严格的测试是防止某人作弊的唯一方法。所有其他方法都可能使大多数人不值得付出努力而变得十分困难,但不要忽视这样的事实,即某些类型的人在作弊上的努力是诚实学习的两倍。
回答
禁止他们使用任何无线设备或者笔记本电脑并对计算机进行键盘记录?
回答
由于我们无法阻止他们使用Google,因此必须确保他们没有时间去使用Google。将问题放入图像中,以使它们无法复制和粘贴(每次显示图像时随机分配图像名称)。
将问题延长(100个单词或者更多),我们会发现人们宁愿回答该问题,也不愿在google中重新输入整个问题。
给他们一个很短的时间。如30-45秒。是时候阅读问题,思考一会儿,然后单击A,B,C,D,E,
(刚刚从CSUN毕业,我可以告诉我们scantron测试工作。)
对于论文有疑问吗?进行反向google查找(意思是他们单击提交后立即将其答案输入google),看看我们是否获得完全匹配的内容。如果是这样,我们知道该怎么办。
回答
我们可以强制执行一个小的时间范围,在此期间可以进行测试。这样可以减少知道答案的学生自由帮助没有答案的学生的机会(因为他们俩都需要同时参加考试)。
如果与数学有关,请为不同的学生使用不同的数字。通常,对于测试的不同副本,尝试有不同的问题。
如果要设计整个课程,请:还尝试一些在线家庭作业,以便为每个学生建立个人资料,例如对他们使用某些常用单词和标点符号的频率进行统计分析。一些学生经常使用分号。例如,其他人从不。当他们参加考试时,我们会很好地了解是否确实是他们在打字。
我们也可以问几个他们不知道的问题。例如,列出10个问题,并说他们必须回答10个问题中的任何6个。但是,请根据课堂上未教授的材料提出3个问题。如果他们选择其中的2个或者3个,则有充分的理由感到可疑。
最后,使用算法比较相似的答案。做一个简单的散列来摆脱小的变化。例如,哈希一个小写的3克(连续3个单词)列表的答案,按字母顺序排列,然后在不同用户之间查找许多冲突。这听起来像是一项显而易见的技术,但作为一名老师,我可以向我们保证,这将招来大量骗子。
可悲的是,真正的麻烦是实际上要对作弊者实施惩罚。在我所任教的大学中,如果学生反对处罚(例如,在有关考试中使他们不及格),行政部门通常会退还该学生一些东西,例如积极的成绩变化。我想这是因为学生(父母)已经向大学支付了很多钱,但是作为一名老师,这仍然很令人沮丧。
回答
@查克一个好主意。
如果测试是在Flash / Flex中创建的,则可以强制用户将应用程序设置为全屏模式以启动测试(必须由用户启动全屏模式)。然后,我们可以侦听Flash退出全屏模式时调度的Flash事件,并采取所需的任何适当操作(结束测试,惩罚用户等)。
Flash / Flex全屏事件信息。
blog.flexexamples.com上有一个示例,用于创建具有全屏功能的应用程序。
回答
全屏建议的有效性受到很大限制,因为用户始终可以使用第二台计算机或者使用多监视器第二屏来执行其查找。最后,最好只是假设学生要作弊,然后不要将在线考试中的任何重要事项计算在内。
如果这些测试对学生有帮助,那么他们将在受控环境中进行的期末/期中考试中取得更好的成绩。否则,为什么要把它们放在首位...
回答
提出问题和答案jpeg图像,以便我们不能将文本块复制并粘贴到搜索引擎或者IDE中(如果它是编码测试)。再加上严格的时间限制,无法回答每个问题(例如三分钟),因此更难作弊。
回答
我赞同盖伊的话。我们还创建了一个基于Flex的考试系统,该系统托管在.NET内置的自定义浏览器中。自定义浏览器全屏启动,所有工具栏均被隐藏,快捷方式被禁用。
这是有关如何使用Cand VB.NET创建自定义浏览器的教程。
回答
这样可以解决问题。 http://www.neuber.com/usermonitor/index.html
这将允许我们在测试期间和之后查看学生的浏览器历史记录,以及在测试期间在学生的屏幕上查看。测试期间访问的所有网址都会被记录下来,因此当我们在其成绩单上放一个大F时,我们可以向他们显示日志。 :)