基于Python的辅助教学系统设计与开发
扫描二维码
随时随地手机看文章
0 引 言
随着我国教育水平的不断提升,对高等教育的质量要求 越来越高,与此同时各种问题也日益突出。根据实际调查与多 方了解,目前高等院校的在线教学系统普遍具有功能比较简单、 界面不够友好等缺点,尤其缺乏自动分析功能,如成绩对比分 析、出勤率分析、抄袭率分析等。
Python 语言由于具有简洁、易读、易维护以及类库丰富 等优点,在编程界的地位迅速上升(在 2017 年 5月的 TIOBE 编程语言社区排行榜中,Python 语言已升至第 4 位)[1,2]。因此, 在借鉴相关软件的基础上 [3],基于 Python 语言设计并开发符 合时代特色的新型辅助教学平台具有十分重要的现实意义。
1 基于 Python 的辅助教学模块设计
为了提高教学平台的质量和可维护性,Piclass 辅助教学 系统采用 Django 1.9.8 作为 Web 应用程序框架,开发语言为 Python 2.7.10,后台关系型数据库采用 MySQL 5.6,非关系型 数据库采用 Redis(缓存)。系统基础功能包括课程管理、微 信签到、作业管理、文件管理、消息管理、教务管理六大模块, 提供了数据分析功能和微信接口,解决了各高校在课程管理、 上课点名、作业批改、师生互动等方面产生的一系列问题。
1.1 上课与上机一体化管理
由于上课人数过多,传统的点名方式往往存在同学代替 答到的情况,无法保证数据的可靠性。由于我校计算中心采用 大面积上课的方式,上机课程选课独立,由教师手工统计上课、 上机签到信息,造成了很多不必要的麻烦,因此,在调研相 关产品的基础上,Piclss 采用基于微信的签到模型,即学生通 过扫描动态二维码快速签到,同时会借助动态二维码时间差、 微信 openid 绑定等方式来防止各种作弊行为,提升数据的可 靠性。通过事先在数据库中建立上机、上课的关联,通过退 改选课程增量导入、重复课程合并等模块,解决了上课、上机 数据同步问题。上机、上课数据关联示意图如图 1 所示。
1.2 作业成绩自动对比分析
作业批改需要消耗大量时间和精力,同时周期也长,导 致学生无法及时了解自己的不足,而老师则难以及时掌握学生 的学习情况。由于目前大多高校存在跨校区的现状,作业来回 搬运十分不便。在调研一线教师日常布置作业的类型、评测方 式等基础上,借鉴 ACM 评测模式,查阅相关资料解决死循环、 恶意代码等问题后,Piclass系统的作业管理模块实现了程序类、 填选类作业的自动评测功能,如图 2 所示,能自动生成规范化 的实验报告,帮助老师了解学生的掌握情况,及时修改授课内 容并调整进度。
1.3 微信端随时学习、沟通
结合时代需求,学生通过学号和密码绑定本系统微信接 口后即可进行微信做题,微信签到,微信收发消息及各种信息 查询,如图 3 所示。微信做题可以通过顺利、随机、错题复习等方式练习大学计算机基础、数据库、大学物理等课程的 客观题目,迄今为止已拥有 56 万刷题记录 ;微信签到可以实 现上课、上机的快速点名;微信收发消息可以实现教师与学 生之间、学生与学生之间的消息互动等功能。
2 结 语
根据高校真实需求并结合先进技术,Piclass 辅助教学系 统不仅实现了传统辅助教学系统的各种功能,还根据时代需求 积极探索,实现了微信 2 分钟快速签到;程序、填选类作业自 动评测;上课上机课程数据关联、退改选数据增量导入;教师、 学生、管理员等角色的控制,不同角色之间的关系构架 ;各类 分析报告自动导出(学生综合情况,程序题实验报告,选择题 情况分析 ppt);网页端、移动端、客户端、服务端等多平台系 统的开发与数据交互等功能。解决了目前教学管理系统中存在 的一系列问题。
本套系统在 2016 年中国大学生计算机设计大赛中获得了 全国二等奖的好成绩 [4],并于 2017 年获得了华东理工大学教 学成果奖三等奖。目前系统公众号粉丝有 3 800人,本学期有 15 门课程在使用该系统。未来会将大数据技术与现代教育相 融合,继续加强数据分析模块的研究,努力实现精准教育。