互联网相关技术的高速发展,给我们生活的方方面面带来了积极的影响。传统的高校课堂点名方式浪费时间的同时,仍然无法避免学生代签到现象。本文在研究了网络中现存的点名系统后,设计了一款基于微信公众号的高校点名系统。该系统借助定位服务,利用网页开发技术和数据库存储技术而完成。
为了检查学生是否按时上课,教师会在上课过程中不定时发起点名。目前,在高校中普遍存在的点名方式是教师通过纸质版学生花名册,按照顺序点名。因为本科教学主要以大班授课为主,人数较多,大多数超过60人,完成一次点名会耗费大量时间,占用上课时间。另外,很多教师无法做到认识全体学生,滋生了学生代签到的现象。
在此背景下,网络中涌现了很多基于微信的教学辅助系统,这些系统通过微信公众平台,利用网页开发技术和数据库存储技术完成高校教学辅助系统的开发。有的从公众号内自定义菜单入手,实现了多种教学辅助功能的融合;有的引入带参数的二维码实现点名功能,用户扫描二维码进入指定的URL,完成签到;有的是根据用户拥有唯一的openid设计点名系统,有效地防止了学生代签到现象的存在。
本文是在研究网络上现存的点名系统后,提出一款基于微信公众号的点名系统。
该系统分为教师端和学生端,当教师发布点名后,学生可以根据教师提供的关键字完成签到,教师可以根据学生签到时的位置来检查学生是否来到教室。随后,教师可以在后台数据库中直接导出Excel文件,对于学生是否按时前来上课情况一目了然,实现了点名系统的便捷化和信息化。
点名系统的三大优势
点名系统是应用于受众群体数量较大,且不适合使用传统点名方式实现考勤的系统。网络上现存的点名系统分为基于Android平台和基于微信公众号两种,前者往往受用户终端设备不一致的困扰。
借助微信公众平台开发的点名系统保证了用户随时随地可以实现考勤,不仅局限于课堂教学。
对于教师来说,首次关注微信公号时需要进行注册,填写姓名与工号,微信服务器接收到信息时会将其与微信号进行绑定,再次登录时输入工号后即可直接登录。教师发布点名后,系统会自动跳转界面,界面中央有输入框,教师可自行规定输入的指令,可由数字、字母、字符随机组成,到达规定时间后教师可手动操作,关闭签到功能。
对于学生来说,首次关注微信公号时需要进行注册,填写姓名与学号,微信服务器接收到信息时会将其与微信号进行绑定,再次登录时输入学号后即可直接登录。在教师发布点名后,系统会自动跳转界面,学生需要在输入框内填写教师告知的命令并在规定时间内填写完毕,完成签到。
教师和学生的工作流程图1、图2所示。
本文介绍的系统是在微信公众号的基础上,通过腾讯自带的定位服务,设计的一款高校课堂点名系统。主要有几个优势,一,本系统在点名结束后,教师可以从后台获取Excel表格,便于直观了解学生到堂情况;二,随时随地使用,不局限于教室授课的固定模式,可以应用于集体活动的便捷化签到;三,设计过程中不局限于系统自动生成数字完成签到,实现了教师当堂设置关键字,其中包含数字和字母的随机组合,有效避免了学生在规定时间内使用多台终端设备实现作弊签到。
系统设计与实现
该系统依托微信公众平台建立,首先申请个人公众号,然后,以自定义菜单为中介,将设计好的网页嵌套进后台,再结合数据管理系统,实现点名结果可以在数据库中查询的功能,手机端点名完成后的结果会上传至服务器端,并且可以生成表格供教师自行导出,最终完成一款课堂点名系统。
系统的开发方面,主要是基于Windows系统下,使用XAMPP搭建WEB服务器,采用PHP语言开发界面与服务器之间的接口,利用HTML+CSS完成前台界面的编辑,采用MYSQL作为数据存储系统,使用Eclipse作为开发和调试环境。
PHP独特的语法混合了C、Java、Perl以及PHP自创的语法。PHP是将程序嵌入到HTML文档中去执行,很好地实现了和前台界面编辑的无缝连接。MYSQL是一款关系型数据库系统,其将数据保存在不同的表中,方便用户查看在数据库中存放的数据。HTML是用于描述网页文档的一种标记语言,它通过标记符号来标记要显示的网页中的各个部分。CSS,定义如何显示HTML元素,用于控制Web页面的外观。
(1)微信公众平台开发接口实现了用户和服务器间的联系。
对于关注了微信公众平台的用户,他们在微信公众号内发出一次请求,微信服务器会使用HTTP请求转给Web服务器,响应后将处理结果回传给微信服务器,此时用户便可在微信公众号内收到回复。这一系列过程就是用户使用客户端完成一次完整的会话。具体工作流程如图3所示。
(2)系统是基于微信APP设计并实现的,用户通过多种方式关注公众号后,系统后台会自动获取用户个人信息,用户通过注册功能,就可以将工号(学号)与微信账号进行一对一绑定。系统接受到用户输入的数据后,将工号(学号)和姓名存入数据库,再次登录时只需输入工号(学号)即可完成登录,此过程实现了精确定位用户信息。
(3)教师发布点名后,学生在签到界面的输入框内填写教师随机编写的命令。该命令由教师自行决定,可以包含数字,字母,符号等。开发者编写程序时加入正则表达式,限定命令的长度。教师可以规定签到时间,大约在10秒左右,学生在规定时间内完成点名,若未按时完成签到,教师可根据情况手动修改学生到课情况,分为:迟到、请假、早退、未到等。
(4)系统采用MYSQL作为数据存储系统,在用户登录时,系统会将用户输入的工号(学号)和姓名的信息存入数据库,下次登录时只需输入工号(学号)即可。另外,数据库与系统服务器相连,课后教师可以登录后台,在数据库中下载系统生成的Excel表格,通过表格教师可以直观地看到学生按时到堂情况。
在使用数据库MYSQL时,需要在安装文件中改变并发用户数,安装文件中默认为100,可手动修改数值。本系统在调试阶段将数值更改为1000。一般情况下,对于一般高校课堂教学来说人数为200左右,设计的数值足够应付系统需求。
(5)因为该系统是基于微信APP开发的,所以可以直接调用腾讯自带的腾讯地图来实现学生签到的监督,在学生进入签到页面时系统会询问学生是否开启定位服务。在学生完成签到后系统会显示学生完成签到时的位置,可以有效监督学生作弊签到情况。
注重与各管理信息系统的融合
目前,信息化校园的建设逐渐走入正轨,广泛使用的信息化平台有:教务管理系统、图书管理系统、实验室预约系统等,但这些系统都是基于各自的平台进行开发,单独开发一个整合系统成本过高,实用性不强。
西安石油大学在2017-2018第二学期的“分布式数据库”课堂中,共有30名学生及一名教师使用笔者提到的系统。在实践中发现,本系统借助微信公众号实现各系统的融合方便师生的使用,其普及率高、易上手、零资费的优点受到广大用户群的认可。然而,在使用过程中发现了如下问题:
1、个别学生注册时未按真实信息填写,与教务处提供的花名册有出入;
2、存在学生在教室中同时使用两台终端设备进行代签到现象。针对如上问题,笔者做出了相应的改进。
在用户登录系统时会输入学号和姓名等个人信息来进行注册登录,系统会为每位用户生成唯一标识符openid,管理员会调用教务系统中学生名单,与学生注册信息进行比对,实现与教务系统数据的统一。在学生完成签到后,系统会生成Excel表单,此表单会和纸质版学生花名册统一格式,方便学校统一存档。另外,在学生进行签到时,要求每位学生手拿终端设备放置课桌上,使得教师可以直观看到是否存在代签到行为。
(作者单位为西安石油大学计算机学院)