基于Python 与腾讯乐享的本科生学习激励系统设计

2022-12-28 07:57姜莹莹
无线互联科技 2022年20期
关键词:乐享阶段性本科生

陈 琦,胡 杨,姜莹莹

(徐州医科大学 信息化处,江苏 徐州 221004)

1 研究背景与目的

为防控“新冠”疫情,很多高校采取线上授课、封校等严格的管理措施,让原本习惯于线下授课的师生感到不适。 如何利用信息化手段保持学生学习动力,提高学习兴趣,成为研究热点。 黄亚婷等[1]研究了疫情背景下混合教学中本科生学习投入的影响机制;钱雪峰[2]阐述了疫情防控新常态下学校体育教学的应对方法;张丽娟等[3]提出了疫情下高校线上教学质量评价的新方法。 为激发学生在疫情防控期间的学习动力,同时贯彻落实中共中央、国务院《关于加强和改进新形势下高校思想政治工作的意见》提出的“三全育人”要求,本研究利用信息化大数据手段分析本科生成绩,通过电子奖状的形式鼓励取得优异成绩或巨大进步的莘莘学子,增强本科生学习动力,激发其学习兴趣。

2 业务需求分析

对于本科生来讲,成绩是决定顺利毕业并获取学位的关键因素。 因此,对本科生来说,成绩的好坏至关重要。 对取得好成绩或取得巨大进步的学生给予学校层面的证书奖励,无疑对学生心理上产生良好的正反馈作用,同时激发周边同学竞争意识,带动学习积极性。 根据对教务处以及各学院的调研,本科生成绩主要分为期末成绩和阶段性成绩。

2.1 期末成绩

本科生的学习成绩主要在每学期末产生,通过集中考试,取得考试成绩录入教务系统。 同时,各学科老师会根据学生日常表现得出平时成绩录入系统。 两个成绩根据一定比例合计成为该课程最终成绩。

本科生的课程一般分为必修课、专业选修课和公共选修课。 其中,必修课与专业选修课在同年级、同学院中有较好的可比较性。 公共选修课种类繁多,包含专业无关课程;学生选课灵活,基本不受限制;授课老师评分标准差别大,有的按照正态分布曲线进行,有的平均学分绩点却达到4 分以上;因此,可比较性较差。

2.2 阶段性成绩

每学期仅在期末采取激励措施,对于部分二级学院来说次数太少。 有些学院在设置课程时,会设置期中考试等阶段性考试,这类考试成绩一般不会进入教务系统,主要由任课教师掌握,用于了解学生阶段性学习情况以及用于期末考试中平时成绩的参考。 针对有阶段性成绩分析需求的学院,需要预留成绩Excel 导入入口,用于阶段性成绩的导入,进而形成阶段性成绩的评价结果。

3 系统设计与实现

3.1 技术选型

Python 语言使用类似脚本语言的精简语法、拥有良好的编程语言生态及强大的通用编程能力,同时由于对接其他编程语言优势明显,被业内公认“为胶水语言”,随着NumPy、Pandas 等Python 开源扩展包的出现,Python 成了数据分析处理的不二之选[4]。

3.1.1 基于NumPy 的Pandas

NumPy 是Python 的开源扩展包,主要用于数值计算,提供强大的维度数组与矩阵运算能力,针对数组运算也提供大量简单易用的数学函数库。

Pandas 是基于Numpy 的Python 开源扩展包,提供Series(一维数据)和DataFrame(二维数据)两种主要数据格式,在处理一维序列或二维表格数据时有着天然优势[5]。

根据业务分析,本科生成绩主要为存储在结构化数据库中的期末成绩和以Excel 表格为主的阶段性成绩,均为二维表格数据形式,正是Pandas 处理数据优势所在。

3.1.2 基于Tkinter 的CS 模式

Tkinter 是Python 的标准图形用户界面(Graphical User Interface,GUI)库。 使用Tkinter 可以快速创建GUI 应用程序。 对于简单的图形界面,Tkinter 可以应付自如[6]。

研究中激励系统的用户界面主要用于阶段性成绩的Excel 导入以及发放证书使用。 主要用户为个别学院的教学办老师、教务处以及学工处的个别老师,用户面相对较窄,使用重客户端的客户端服务(Client Server,CS)模式即可很好地满足需要,而且避免了系统服务器的安装与维护,只需保证客户端与校内数据库及互联网可以正常通信即可。

3.1.3 基于腾讯乐享的证书颁发

腾讯乐享是腾讯科技有限公司打造的企业社区平台,具有包括电子证书颁发在内的众多免费应用。 证书模块提供证书编辑器功能,管理员可以用图形化方式快速创建或编辑证书;提供证书管理功能,可以查看、导出明细并批量颁发、收回证书;提供证书自动颁发功能,支持通过应用程序编程接口(Application Programming Interface,API)颁发证书[7-8]。

由于腾讯乐享免费及提供API 对接的特性,本研究中激励系统的奖状制作使用腾讯乐享证书功能;同时利用腾讯乐享与同为腾讯产品的企业微信可以无缝对接的特性,通过企业微信为学生发送电子证书。

3.2 系统实现

根据上述业务需求与技术分析,可以将系统设计如图1 所示。

图1 系统结构

3.2.1 业务逻辑实现

本科生的课程因专业、年级不同而存在较大差异,需根据学院、年级进行分类;因个人选修不同,课程和课程数量也不相同,因此成绩需要折算。 根据折算成绩分学院、年级进行排名。

计算学生成绩需要使用到的相关数据:学号、课程号、姓名、学院编号、年级、成绩类型、课程性质、学分、考试学期、折算成绩。 根据业务逻辑数据需要,根据成绩类型及分数进行清洗:其中,应排除免修、缓考、取消成绩;将旷考、违纪、休学、作弊成绩置为0;为避免挂科学生参选,将挂科学生折算成绩直接记为0;去除重修和补考成绩;去掉只有公共选修课成绩的学生。

将清洗后的数据折算为成绩。 记每个学生的折算成绩为T,每门考试成绩为Si,每门课程学分数为Ci,该学生参与计算折算成绩的课程数量为n,得到如下公式:

根据计算结果,将折算成绩由高到低进行排序,根据人数取出前3%即获得“学霸”证书获得者。

计算进步情况时,记上次排名为R0,本次排名为R1,上次参与排名总人数为N0,本次总人数为N1,进步占比记为P,得到如下公式:P为正值则为进步,反之为退步,根据P大小进行排序,取前3%作为“飞跃进步”证书获得者。

3.2.2 界面设计实现

根据业务需要,利用Tkinter GUI 库,设计并实现系统界面如图2 所示。

图2 界面设计实现

界面上标注5 个记号点为相关功能点设计,下面逐一分析。

(1)对于阶段成绩,需要上传Excel 表,点击“选择文件”按钮可以选择本地上传文件,上传完成后,点击“开始分析”按钮,对Excel 数据进行分析。

(2)对于期末成绩,针对教务系统数据库中数据最近一次的期末成绩进行分析。 因发放奖状须有时效性,故每次启动直接分析最近一次成绩。

(3)提供Excel 分析结果下载功能。 对于业务部门,奖状误发是极大的业务隐患,提供Excel 结果确认,增加业务部门对系统的认可度及接受度。

(4)根据下拉选项选择要颁发的证书,并确认颁发。

(5)提供信息提示框,提示用户目前可进行的操作,并提示结果。

3.2.3 证书颁发实现

证书的颁发需要利用腾讯乐享API 进行,主要使用两个API 接口,证书列表查询和证书颁发。 腾讯乐享API 使用时需先根据App_Key 和App_Secret 获取token(令牌,一种API 认证机制),然后将token 放入API 请求中进行二次请求,以进行相关业务操作。(1)证书列表查询。 为确保用户界面中的证书列表中证书均为可用证书,并确保该系统未来的扩展性,显示的证书列表从API 中直接获取。 (2)证书颁发。 证书颁发的API 每次仅能为一人颁发证书,需要根据分析结果循环调用API,根据学生学号进行颁发操作。 调用API 时设置is_notify 属性为true,即可通过企业微信通知证书接收人。

4 结语

本研究详细阐述了使用成绩排名发放电子奖状以激励学生学习的业务需求,同时对技术选型进行了详尽分析,对技术架构和用户界面进行了详细的设计,并利用Python 中Pandas 的数据分析能力、Tkinter 的图形用户界面交互能力及腾讯乐享证书功能,完成了本科生学习激励系统建设。 系统已在实践中测试运行,并在激励学生方面取得了良好的效果,可以为有同样需求的高校提供一种合理的解决思路及可行的实现路径。

猜你喜欢
乐享阶段性本科生
远离老年抑郁症,乐享幸福晚年
七月猪价或开启阶段性快速上涨
主题航班·乐享云端会客厅
国际金价短期或延续阶段性回调
人生投资的阶段性
桂拂清风 乐享国庆
中医药大学本科生流行病学教学改革初探
浅析风险投资阶段性
探索如何提高药学本科生实习的质量
让教授回归本科生课堂