1. 引言
目前在大学生群体中,智能手机和4G/wifi网络已经成为生活必需品。通讯工具在带来便捷和交流畅通的同时,也为教学过程的课堂管理带来了相当大的烦扰。花样繁多的手机游戏、聊天工具吸引了许多自制力不强的大学生,让其注意力分散,学习效率低下。教室后半部分的低头学生其实是在玩游戏的情况很常见,成为了教师授课时的课堂管理难点问题。针对这种现象,很多学校也提出了一些措施,例如在讲台前放置手机收纳袋,要求学生课前自行放入手机;要求教师强调课堂纪律,要求辅导员加大课堂巡查力度等强制性手段来限制学生课堂玩手机的行为。这些措施都能在一时取得较好的效果,但难以保持,反而带来一些副作用,例如学生认为侵犯其权益,教师认为过多的纪律强调会打断授课节奏,影响授课效果,降低了教学活动的成就感 [1] [2] 。
另一方面,传统的授课方式以“教”为主,教师按照自己的节奏和教学计划进度来完成,缺乏与学生的交流互动,无法掌握学生学习的实时情况。往往是仅在期末学生评教结论中才能得到一些信息,且不一定准确 [3] [4] 。按照工程教育认证的思想,高等教育应该转变教学思路,把以“教”为主变为以“学”为主,在授课的过程中需要实时掌握学生的学习情况,视情况可能随时调整教学计划进度。这种思路更符合工程教育认证要求的闭环反馈式的教学模式,保障了教学活动的持续改进 [5] 。
本文设计了一款基于“互联网+”的课堂管理系统,运行这个手机APP便开始计时,一旦运行了其余手机APP便产生计时中断。当计时正常结束,会生成一次正常听课的记录反馈到后台。教师端可以统计正常听课的记录次数,并与平时成绩挂钩。通过这种方式,可以限制学生在课堂上使用手机,否则将因为正常听课次数不足而影响平时成绩。这将帮助想学习又缺乏自控能力的学生在课堂上不动手机,最大程度地降低学生在课堂上偷玩手机情况发生的频率,尽量减少手机媒体对大学生课堂学习的影响。在课外,学生端可以通过留言、课堂论坛的方式与教师进行交流讨论,汇报学习的进度,帮助教师对教学计划进度做微调,以达到更好的授课效果。
2. 系统模块设计
2.1. 工作流程设计
上课时学生需要登录数据库系统,输入学号、姓名、课程名和教师名。然后进入手机托管计时模式。为了增强界面的美观和降低学生的抵触情绪,将计时过程模拟为养花。期间手机有任何操作都将终止导致该花生长失败。40分钟养成功1朵。课间10分钟放开监管。第二节课上课时,继续开始手机托管养花。花儿的朵数会上传到学生账号中,学生可查看本学期在该门课程中已养成功的花朵数量。课程结束后,教师端可查看打印自己权限内的课程教学班级学生的养花朵数,并以此作为平时成绩的判定依据。
Figure 1. Flow chart of system operation
图1. 系统运行流程图
2.2. 系统模块设计
整个系统分为三个模块,分别是教师模块、学生模块和管理员模块,在三个模块中又分成了若干个小的功能子模块。用户要根据不同的身份,分别选择教师端、学生端和管理员端来登录系统。
教师端的主要功能有:教师首先要获取并发送自己的GPS坐标到云端数据库,教师的GPS坐标将作为所授课班级学生签到的GPS基准坐标。除此之外,教师模块还有“查看签到信息”“查看违规信息”“查看上下课密码”和“修改登录密码”等功能。
学生端的主要功能有:登录后首先要进行GPS坐标定位检查,也就是将学生端的GPS坐标与教师端的GPS坐标进行距离计算,两者相距距离小于100米的情况下,才可以进行预签到。在签到界面中输入代课教师公布的上课密码和个人信息后,预签到操作完成,此时学生端开始进入上课待机监测模式。在该模式中如果系统监测到学生把上课待机监测模式后台化运行、强行退出,运行别的手机软件等违规操作开始玩手机的情况发生,学生端的手机屏幕上就会每隔三十秒自动弹出警告提示,同时将预签到转为无效签到,并发送违规学生信息到数据库。
管理员端的主要功能有新用户注册、账户信息修改、设定上下课密码和数据库的信息维护。
课堂管理流程图如图1所示。在数据库架构设计方面,为了增加系统数据的即时性、扩展性和高速性,本系统采用对Mysql数据库进行主从配置进而实现读写分离,对于部分学生端的经常查询但是却变化次数较少的信息,如:学生基本信息、学生选课信息等,存放至nosql数据库Redis之中,Redis作为一个内存型数据库,可以极快的对数据进行相应,配合使用Mysql的读写分离,保障了数据库的稳定运行,也保障了高峰时期的服务体验。
2.3. 数据库架构设计
数据库的表单设计主要有3个表,分别是人员信息表(person)、课程信息表(course)、考勤结果表(info)。
人员信息表的表结构如表1所示,其中person_pwd为密码字段,此字段经加密算法进行存放,加密算法包括但不限于AES、MD5,由于MD5加密应用较广,被破解的概率极高,故在本系统中采用MD5加密、AES加密的双重加密方案。其中person_type字段用来判定用户的类型,0表示学生,1表示教师,2表示管理员。
课程信息表的表结构如表2所示。课程信息表通过course_stu_num、course_teacher_num与人员信息表建立联系,查询时进行联表查询,可以建立一张具有人员信息、课程信息的视图。
考勤结果表的表结构如表3所示。其中info_type用来标识考勤状态,其中−1表示缺勤,0表示预签到,1表示签到,2表示迟到,3表示请假,4表示早退,5表示无效签到。
在进行数据库查询的时候,可以由这三个子表进行联合查询,通过课程id来将考勤结果表和课程信息表进行联合查询,通过学生的学号、教师的工号可以将人员信息和课程信息进行联合查询。
2.4. 系统架构设计
系统架构的设计原则主要是为了满足考勤系统的稳定性,考勤系统属于并发数较高的系统,虽然在实际运行中,几万人同时进行课堂考勤的概率较小,但为了保证系统的稳定运行,需要系统至少应该能承受两万的并发数。
系统架构直接决定了系统的稳定性,如果采用传统架构,系统所要求的两万并发数将至少需要40台Tomcat服务器,对于高校来讲,针对课堂考勤系统部署40台服务节点显然不太现实,系统架构不能够采用传统的系统架构。根据高校实际情况,课堂考勤系统应该采用分布式的系统架构,将系统模块化区分成多个子系统,将业务流程由子系统之间相互配合完成(图2)。子系统存放于同一个局域网内,数据的传输速度极快,因数据传输造成的系统影响较小。
2.5. 系统优化
以获取选课信息为例,传统的查询逻辑如图3所示,此种方式每次查询都要建立与mysql数据库的连接,对数据库连接池的资源消耗极大。故本系统面临的并发数高的问题,学生用户在同一时间进行登录、预签到都是极为消耗系统资源的操作,学生的授课信息是选课结束后进行大面积变动的可能性不大,故针对学生的选课信息等变化程度较小的信息,提出的优化方案如下:
对课程信息表中的course_stu_num建立索引,建立索引后对于查询某同学的课程信息的速度提升效果明显;对查询出来的结果集进行数据封装,并建立key-value数值对,将值存放在Redis中,由于Redis直接对内存进行操作,读写数据远远大于mysql。
经优化后,查询授课信息的逻辑如图4所示。经压力测试后,显示此方案如果缓存服务器崩溃,数据流量涌入Mysql服务器之后,必然会导致服务器崩溃,为了数据安全,需要对数据库进行进一步的主从配置来实现读写分离。数据库读写分离工作需要搭建一台主服务器(master),两台从服务器(slave),主服务器负责NonQuery操作,从服务器负责Query操作。在从服务器中连接Master服务后启动Slave。并时刻监控Master服务的操作日志,主服务器发生的操作,都应该主动同步到从服务器上。
3. 结论与展望
近年来信息技术发展十分迅猛,多媒体和网络技术对传统教育教学方法的冲击相当明显,这也为教
Figure 3. Traditional data query logic
图3. 传统数据查询逻辑
学改革提供了很多新思路和新课题。
1) 本文的思路,源于“互联网 + 课堂”。旨在引导学生在学习时合理应用手机工具,转变教学过程中的简单粗放的管理方式。现在智能手机已经在大学生中普及,使用手机APP已经成为青年一代的习惯,让学生通过运行养花的手机APP来限制学生在课堂上使用手机,有利于促使一部分自制力不强的学生摆脱手机游戏的诱惑。
2) 按照工程教育认证的思想,教学过程中体现以“学”为主,拓宽了师生交流的渠道,通过APP可以随时收集学生对课堂进度、内容的反馈,帮助教师微调教学计划,提高教学效果。
基金项目
重庆市高等教育教学改革研究立项项目(182022),重庆科技学院本科教育教学改革研究项目(201731)资助。