一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种利用子区域随机性交叉验证进行课堂出勤考核的方法与流程

2022-02-24 12:54:59 来源:中国专利 TAG:


1.本发明属于移动学习领域,具体涉及一种利用移动智能设备收集学生座位信息数据,通过子区域交叉验证进行课堂出勤考核的方法。


背景技术:

2.随着移动设备的普及,探索如何构建移动学习交互环境成为智能化校园建设的重要方向。移动学习正在日益成为现代教育体系中必不可少的一种学习模式。将移动计算技术应用于课堂环境能够解决传统课堂学习模式中存在的诸多问题,例如,课堂管理费时费力,授课效果难以得到及时反馈,师生交流不畅等,从而成为现代教育研究中的热点之一。
3.课堂出勤率是评价一门课程质量的重要指标之一,有研究表明大学生的课堂出勤率与学习成绩之间正相关,并且良好的出勤率会对教师产生激励作用。此外,课堂缺勤不仅会影响个人的成绩,而且还会影响整个班级的学习氛围。因此课堂考勤一直是学校教务管理的重要内容。传统的课堂考勤方式是人工考勤,教师通过点名或者传递签到表的形式进行出勤考核,这种方式不仅占用了大量授课时间,而且容易出现虚假考勤的现象。利用计算机技术实现考勤过程自动化能够帮助教师管理课堂秩序,提高课堂效率。
4.目前的自动化出勤考核方法主要可分为三类:(1)基于射频标签识别的打卡式考勤;(2)基于定位技术的位置验证式考勤;(3)基于生物识别技术的身份验证式考勤。但是以上三类方法存在一定缺陷,例如:打卡式考勤和位置验证式考勤无法验证考勤者的身份,故准确性低;身份验证式考勤需要部署额外的生物特征采集设备,因此部署成本和维护成本高昂,而且容易侵犯学生的隐私。因此有必要开发一种部署和维护成本低、准确性高以及安全性高的出勤考核系统,从而提高教学管理水平。


技术实现要素:

5.本发明针对现有技术的不足,提供一种低成本,并且可以有效验证学生的出勤真伪以防止出勤作弊的智能化出勤考核系统。该系统的功能由两个阶段组成,即初始化阶段和验证阶段。在初始化阶段,学生利用移动设备提交自己座位的位置坐标;在验证阶段,系统选取若干学生作为验证者执行简单的验证任务。通过学生间的相互验证替代生物识别技术来实现考勤的高准确性,不仅降低了系统开发和维护成本,还保护了学生的隐私。
6.本发明解决其技术问题所采用的关键点是:在初始化阶段,学生通过移动设备上安装的应用程序提交本人座位在教室内所处的位置,系统将学生的位置信息汇总,并绘制座位位置信息图以反映学生初步的出勤情况。在验证阶段,将教室划分为n个子区域,通过智能化搜索算法选取最优的k个子区域作为被验证区域,并为每个被验证区域分配4名学生作为验证者,验证任务被设置为提交该子区域内的学生数量、学生性别或学生姓名等。接收到验证任务的学生将执行任务,再通过移动设备上安装的应用程序提交任务执行结果。系统会根据任务执行结果验证在初始化阶段提交的座位位置信息的准确性,最后会将此次考勤的结果以表格或者座位图的形式显示在教师的移动设备上,供教师查看并根据情况采取
措施。
7.本发明将考勤过程划分为两个阶段,在初始化阶段学生提交本人座位位置信息,在验证阶段系统通过智能化搜索算法选取若干名学生来验证子区域内的学生信息,并及时将有可能出现虚假考勤的学生记录并反馈给教师。通过在验证任务分配中使用具备一定随机性的分配算法,降低了学生通过串通作弊而通过考勤的概率,提高了考勤数据的准确性,对提升教学管理水平具有重要意义。
8.本发明解决技术问题所采取的技术方案为:
9.步骤1初始化阶段
10.初始化阶段分为位置提交和座位可视化两个子阶段。在位置提交子阶段中,教师端向服务端发送考勤请求,服务端在接收到考勤请求后向学生端推送考勤消息,学生端在接收到服务端的消息通知后提交学生本人的座位位置信息到服务端。在座位可视化子阶段中,服务端根据收集到的座位信息绘制学生的座位图并可视化展示在教师端。
11.步骤2验证阶段
12.验证阶段分为任务分配和出勤验证两个子阶段;在任务分配子阶段中,服务端将教室划分为n个子区域,然后运行智能化搜索算法选出k个子区域作为被验证区域,同时为每个子区域随机选择邻近的4名学生作为验证者,并发送验证任务。在出勤验证子阶段中,利用任务的执行结果作为输入,运行位置验证算法判定考勤质量。验证阶段的流程如下所述。
13.步骤2.1任务分配子阶段,它的具体步骤包括:
14.步骤2.1.1划分子区域;
15.服务端根据教室座位的排布形式将教室划分为n个子区域。由于教室座位以矩阵方式排布,因此可按照矩阵的行和列来划分子区域,每一行或每一列对应一个子区域。
16.步骤2.1.2进行区域优化搜索;
17.服务端进行区域优化搜索时,选择最优的k个子区域作为被验证区域,同时每个子区域选择j名学生作为验证者。
18.区域优化搜索算法将被验证子区域的选择动作标记为action,则动作空间z中包含了n个子区域的选择动作。初始时,建立一棵只包含根结点的搜索树。树中每个节点包含三个属性:(1)action编号,它的取值为z中的某个元素,在树中的位置表示在经过此结点时,选择了某一行或者某一列作为搜索的子区域;(2)探索次数times,表示访问这个树结点的次数;(3)平均价值v,表示访问这个树结点能够获得的回报。选择一个被探索次数最大的子区域以及与该区域邻近的随机选取的j名学生作为输出。设迭代次数为x万次,则每一次迭代的步骤如下:
19.a.算法从树的根结点出发,搜索出一条从根结点到叶节点的路径p。假设当前处于某中间节点,算法会根据式(1)从此中间节点的子节点集合中找出uv值最大的节点作为目标路径上的节点,并在此uv值最大的节点上重复上述操作,直到到达叶节点。
[0020][0021]
其中,表示结点的平均价值,times表示结点被探索的次数,n代表当前迭代的总
次数。为了保证选择的子区域不重复,算法会将路径p上节点代表的子区域信息删除。
[0022]
b.选择出一个新动作以扩展新节点。若当前所处节点为叶节点,算法将从动作空间z中随机挑选出一个不存在于路径p中的动作a,并创建一个新的树节点作为此叶节点的子节点,同时将a填入新树节点的action属性中,初始化times=0,
[0023]
c.计算选择动作a产生的价值。统计所有子区域的未验证学生数量n1,随后将a对应的子区域移除,然后再次统计剩余子区域中的未验证学生数量n2。最后根据式(2)计算价值val。
[0024][0025]
d.计算选择动作a对路径p上的其它节点的影响。按从叶节点到根结点的顺序,根据式(3)更新路径p上的节点平均价值和访问次数。
[0026][0027]
步骤2.1.3发送验证任务;
[0028]
服务端向被选择出的k组验证者的学生端设备发送验证任务,同时根据教师端提交的配置开启定时器2,等待学生端提交任务结果。
[0029]
步骤2.2出勤验证子阶段,它的具体步骤包括:
[0030]
步骤2.2.1收集任务执行结果;
[0031]
服务端将学生端提交的任务结果作为输入,运行验证算法。任务结果的数据格式为一个三元组(student id,sub-area id,count),其中student id表示提交此数据的学生编号,sub-area id表示此学生负责验证的子区域,count表示此子区域内的学生数量。
[0032]
步骤2.2.2位置验证;
[0033]
位置验证算法会依次将每个三元组与初始化阶段获得的学生初始位置信息进行比对。某个子区域的学生数量与学生提交的任务结果中此子区域的学生数量不相等时,算法会将这个子区域内学生以及验证此子区域的学生放入可疑学生集合s’。当所有三元组比较完毕后,最终返回s’。系统会根据需要重新对这些可疑学生发送验证任务,任务内容是让他们提交某个已成功被验证的子区域的学生数量;若这些学生出现错误的次数超过阈值,将判定其考勤异常,并上报教师端。
[0034]
步骤2.2.3查看考勤进度。
[0035]
作为优选,所述的步骤1初始化阶段,具体为:
[0036]
步骤1.1位置提交子阶段,它的具体步骤包括:
[0037]
步骤1.1.1注册课程信息;
[0038]
教师在教师端应用程序上填写本课程信息并提交至服务端用以注册和验证本课程信息。服务端根据教师端提交的课程编号从数据库查询到学生信息后,将结果返回给教师端。
[0039]
步骤1.1.2确认学生名单;
[0040]
教师端在执行完步骤1.1.1后,会接收到从服务端发来的注册结果。如果未查询到符合条件的课程信息,将接收到错误报告;如果查询到了本课程的信息,将接收到服务端发
来的学生名单,教师需要对名单进行初步校验。
[0041]
步骤1.1.3设置定时器;
[0042]
在步骤1.1.2中对学生名单的校验通过后,教师需要根据教室的大小和学生的数量设置初始化阶段和验证阶段的截止时间。
[0043]
步骤1.1.4发送考勤请求;
[0044]
在设置完定时器后,由教师端主动向服务端发起考勤请求,正式开始考勤流程。服务端首先会根据教师端提交的数据配置开启定时器,然后根据学生名单向所有学生发送考勤消息通知,等待学生提交初始位置信息。
[0045]
步骤1.1.5提交坐标数据;
[0046]
在接收到服务端推送的考勤消息通知后,学生根据本人所在座位的行号和列号确定坐标,然后将该坐标作为初始位置信息提交至服务端。
[0047]
步骤1.1.6查看考勤进度;
[0048]
服务端会实时地向教师端同步当前考勤进度。如果正处于位置提交阶段,教师端将接收到当前已提交位置的学生数量的统计;如果位置提交阶段已结束,就会进入座位可视化子阶段;
[0049]
步骤1.2座位可视化子阶段
[0050]
当接收到所有学生提交的坐标数据后,或者在定时器时间达到设定的阈值后,服务端将根据所有学生提交的坐标绘制位置信息图,并可视化展现在教师端。
[0051]
作为优选,所述的步骤2.2.3查看考勤进度,具体为:
[0052]
教师端随时向服务端发送请求以查看实时的考勤情况。如果正处于验证阶段,教师端将接收到根据初始化阶段提交的学生位置坐标绘制的位置信息图;如果验证阶段已经结束,教师端将接收到考勤结果名单,学生的状态为“出勤”、“缺勤”和“疑似缺勤”三种状态。
[0053]
本发明具有如下优点:
[0054]
1.本发明只需开发一款移动端应用程序并部署一台云服务器即可完成考勤任务,成本低,有利于大规模应用到课堂授课环境中,并有利于后期维护。
[0055]
2.本发明把学生的课堂出勤考核分为初始化阶段和验证阶段两个阶段,在初始化阶段,学生主动提交本人的座位信息,教师能够以此获知学生的初始出勤状况;在验证阶段随机选择若干学生作为验证者为其分配验证任务,通过学生间的相互验证来保证出勤记录的准确性,并能够有效防止学生通过串通进行考勤作弊。
[0056]
3.本发明通过智能化搜索算法,能够从n个子区域中选择出最优的k个子区域作为被验证区域,k通常约为n的三分之一。因此在验证阶段,系统只需要选择少量的学生作为验证者,就能验证整个教室内学生座位信息的真实性,从而降低考勤系统对课堂的干扰。
附图说明
[0057]
图1系统结构图;
[0058]
图2初始化阶段流程图;
[0059]
图3考勤请求处理流程图;
[0060]
图4初始位置提交流程图;
[0061]
图5任务分配子阶段流程图;
[0062]
图6智能化搜索迭代过程示意图;
[0063]
图7出勤验证子阶段流程图;
具体实施方式
[0064]
一种利用子区域随机性交叉验证进行课堂出勤考核的方法包括如下步骤:
[0065]
步骤1初始化阶段
[0066]
步骤1.1位置提交子阶段,其流程如图1、图2、图3和图4所示。它的具体步骤包括:
[0067]
步骤1.1.1注册课程信息。教师在教师端应用程序的表单中按要求填写课程名、授课教师姓名、工号等信息后,点击“注册”按钮,应用程序会向服务端所在的公网服务器发送目标地址为“http://server_host/registerclass”的http post请求。服务端在接收到请求后进入处理逻辑。首先生成sql语句“select*from classname”,然后向课程信息数据库查询名为classname的课程信息,最后将结果封装并序列化为json格式,返回给教师端。
[0068]
步骤1.1.2确认学生名单。教师端在发送完post请求后,会接收到服务端回复的注册结果。如果未查询到符合条件的课程信息,则在应用程序的textview控件上显示“注册失败,请核对课程信息后重新注册!”;如果成功查询到了本次课程的信息,则把服务端发来的学生名单在textview控件上显示,供教师校验。
[0069]
步骤1.1.3设置定时器。学生名单校验完成后,教师点击“设置时间”按钮,在表单中分别填写定时器1和定时器2的阈值(默认值40秒)。
[0070]
步骤1.1.4发送考勤请求。在设置完定时器后,教师点击“开始考勤”按钮,教师端将向服务端所在的公网服务器发送地址为“http://server_host/startattendance”的http post请求,正式发起考勤流程。服务端在接收到请求后进入处理逻辑。首先服务端解析post请求中的thresholdtime参数,根据此参数值设置定时器,然后遍历学生名单,通过socket连接向学生端推送考勤消息,发送完毕后转入listen状态。
[0071]
步骤1.1.5提交坐标数据。学生端在表单上填写本人在教室内所处位置的坐标,例如3行4列,然后提交给服务端。
[0072]
步骤1.1.6查看考勤进度。教师点击“查看进度”按钮,教师端将向服务端所在的公网服务器发送地址为“http://server_host/getresults”的http get请求,在初始化阶段,教师端将接收到“正处于初始化阶段,已提交人数:*人”的回复消息并显示在界面的textview控件上。
[0073]
步骤1.2位置可视化子阶段
[0074]
步骤1.2.1绘制位置信息图。服务端将坐标数据填入矩阵m,例如坐标为3行4列,那么矩阵m的第三行的第四列位置填充为1表示有学生。服务端会根据所有学生提交的坐标绘制学生位置信息图。如果接收到教师端发来的“/getresults”get请求,就会将位置信息图以jpg格式返回给教师端。
[0075]
步骤2验证阶段
[0076]
步骤2.1任务分配子阶段。其流程如图5和图6所示。它的具体步骤包括:
[0077]
步骤2.1.1划分子区域。服务端根据本课程名从教室数据库中查询该课程所处教室的座位排布信息。然后将行集合编号为r1,r2,

,r
x
,将列集合编号为c1,c2,

,cy,最后将
所有行列放入子区域集合regions中。
[0078]
步骤2.1.2运行智能化搜索算法。首先建立多叉树,并初始化根节点。然后设定迭代次数为10万次,每一次迭代的步骤如下:
[0079]
a.从根节点出发,根据公式1的计算结果选择一个uv值最大的子节点,纳入路径集合p中,然后将指针移动至该子节点并重复上述步骤,直到到达叶节点。在此过程中,被选择的子区域信息会从矩阵m中被移除,最终得到临时矩阵m
t

[0080]
b.从regions集合中随机挑选一个未访问区域a作为新节点进行扩展操作。将子区域编号a填入新的树节点的actions属性中,初始化times=0,
[0081]
c.计算选择子区域a产生的价值。由公式2计算得出val,并填入节点的v属性。
[0082]
d.计算选择动作a对路径p上的其它节点的影响。根据公式3,计算集合p中每个节点的平均价值并更新至各节点的v属性中。
[0083]
在10万次迭代结束后,从根节点的子节点集合中选取访问量最大的节点作为待验证子区域,并从该区域周围随机选择4名学生作为验证者。
[0084]
步骤2.1.3发送验证任务。将任务内容封装为实体类并序列化为json数据,通过socket连接向被选择出的k组验证者的学生端设备推送验证任务,同时根据配置设置定时器2。随后开启定时器2,并转向监听状态,等待学生端提交任务结果。
[0085]
步骤2.2出勤验证子阶段。其流程如图7所示。它的具体步骤包括:
[0086]
步骤2.2.1汇总任务执行结果。服务端将接收到的任务结果数据流反序列化并解析出三元组(student id,sub-area id,count)。
[0087]
步骤2.2.2位置验证。位置验证算法首先会将初始化阶段获得的矩阵m拷贝到矩阵m’中,然后循环遍历所有三元组,依次与矩阵m’比较。如果矩阵m’中某个子区域的学生数量与学生提交的任务结果三元组的count值不相等,那么算法会将这个子区域内学生以及验证此子区域的学生放入可疑学生集合s’。随后向这些学生发送第二次验证任务,第二次验证仍旧未通过的学生会被标记为“疑似缺勤”状态。
[0088]
步骤2.2.3查询考勤进度。教师点击“查看进度”按钮,教师端将向服务端所在的公网服务器发送地址为“http://server_host/getresults”的http get请求。在验证阶段,教师端将接收到jpg图片格式的位置信息图,并显示在应用程序界面上;如果验证阶段已结束,教师端将接收到考勤结果名单,名单显示了学生姓名及其考勤状态,学生的状态可能为“出勤”、“缺勤”和“疑似缺勤”三种状态。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献