于兴隆,张小志,张宏伟,王泊远
(1.河北科技工程职业技术大学,河北 邢台 054035;2.De Anza College,California,USA)
2018 年,教育部出台的《教育信息化2.0 行动计划》首次明确提出了智慧教育的发展目标,运用大数据技术与人工智能促进教育的改革与发展成为了新的趋势。2020 年席卷全球的新冠疫情,更是打破了传统的教育模式,在线学习已经成为一种常态模式,因此产生了大量在线学习行为数据,从海量数据中挖掘出有价值的信息成为研究热点。
目前的一些在线课程学情分析方法[1-5],更多的是基于学生的在线学习行为进行的分析与挖掘,对于高职计算机教育来说,不同于其他类在线课程学习,计算机类编程课程具有一定的编程实践特性,强调学生在掌握基础理论基础上的编程实践。目前,在高职院校中,计算机编程课堂仍然在沿用传统的课堂模式进行教学,教学模式相对固定,教师较难掌握学生的编程进度和问题所在,学生具有一定的畏难情绪,缺乏辅助的阶梯。如何将学生的编程行为和过程数据收集并进行分析挖掘,判断当前课程的实践难点,帮助教师掌握课堂学情,将是一项有意义的研究。针对计算机类编程课程在线学习,Sándor Király[6]等人针对Java 编程课程,提出了一种基于Java 单元测试框架的代码提交自动分级的技术,来评估学生提交代码的质量;Efrat Vinker1[7]等人,通过对学生在线编程行为分析挖掘进行建模来预测学生在线学习编程中的难点;Hagit Gabba[8]等人分析了Python 在线编程课程中学习者的数据,论证了在线编程自动反馈系统对课程参与度与学习效果的提升作用。上述研究对在线学习中编程行为分析进行了深入探讨,具有很强的参考价值。
但是,当前研究仍需进一步深化,要重点解决以下问题:通过挖掘在线学习环境的数据,掌握学习者的特点,构建信息化系统进行学情的诊断和预警。为此,我们针对高等职业教育人工智能专业核心课程进行了课程优化实践,根据企业的实际工作技能需求,构建了五维能力模型,来刻画学生技能提升情况,并根据在线平台学习数据进行了量化;开发了在线学习平台ANNsHub,整合了课程学习、在线编程等功能;并设计了在线学情可视化功能,帮助教师和学生即时获取当前的学习情况,将在线学习行为和结果进行量化评估,为教师教学实施提供便利,从而可以利用在线学习平台对大学生学习习惯进行数据化呈现行为诊断,达到学习习惯分析、学业干预的目的。
依据岗位需求,明确五维技能。通过调研计算机软件行业岗位及工作环节,确定胜任岗位所需理论认知、实践编程、信息素养、专业沟通及协作组织五项技能。在教学中对应学习新知能力、实践新知能力、使用专业术语沟通能力以及团队合作中的统筹计划能力。
借助信息手段,自动收集评价。构建的ANNsHub 在线学习平台的测试题、代码匹配、模型打榜等自动打分结果,经API 接口录入评价系统,对应理论认知和实践编程能力评价。教师、企业和学生的人工评价通过腾讯文档扫码录入评价系统,对应信息素养、专业沟通和团结协作能力评价。
其中,代码匹配功能可以对提交的作业代码内容进行自动匹配评分评级,不同版本间对比效果如图1所示。在模型打榜功能模块,教师在平台设置F1-值、RMSE、AUC 等评测脚本,可自动评估模型准确率,平台根据答案文件、评测脚本,自动评估作业得分;学生根据教师提供的训练集进行模型训练,提交模型文件作业。进行作业评估时,平台将运行模型,预测测试集结果(答案文件),并据此预测结果作为作业评分。
图1 代码匹配功能演示图
针对神经网络模型开发课程,我们设计并开发了ANNsHub 在线学习平台,旨在帮助学生建立深度学习模型开发思维,减少了课堂上在编码和环境配置过程中出现的工程问题和时间花费,并将课程相关的多媒体学习材料纳入平台,以促进按需自我学习。ANNSHub 主要由五个模块组成(图2),如下:
图2 系统框架
课程管理模块。该模块用于创建课程、添加课程内容(如多媒体文件、数据集、项目和课程作业)、创建和编辑基于jupyter notebook[9]的课件以及管理课程作业,在线平台界面如图3 所示。
图3 在线学习平台
组织管理模块。此模块用于帮助系统管理员管理学生、教师和学习组,明确访问权限,将不同的计算资源分配给不同的组,并管理镜像环境。
计算资源分配模块。基于Kubernetes[10]技术框架搭建的计算资源分配模块,可用于容器化应用程序的自动化部署、扩展和管理,可以为授权用户提供一个在线的Python 编程工作区,学生在线编程代码提交任务,在定制的工作区就可以分配计算资源并产生结果。
模型组件模块。该模块包含了神经网络模型开发所需的核心功能,包括分析工具、数据管理、模型管理和算法库等,允许授权用户上传数据集、导入Python 包和执行模型训练评估等任务。
学情分析评价模块。该模块数据来自学生在在线学习平台产生的行为数据,具体包括表1 中来自ANNsHub 和腾讯文档2 个平台7 个维度的数据情况、智能评价系统,依据学习目标设定和任务侧重点,灵活设置权重,形成五维技能个性化评价数据。在此基础上,进行智能分析,使用数据可视化技术Echarts[11]生成技能提升趋势和增量评价图表,数据可视化分析工具的另外一个核心能力指标,在于其可以支持的数据量级以及在大数据场景下的性能表现,为了实现大数据下的秒级响应,组件选型上,选择了Apache Doris[12]作为本地模式下的OLAP 数据引擎,Doris 属于MPP 分析型数据库产品,仅需秒级甚至毫秒级响应时间即可获得海量数据下的查询结果,有效地支持实时数据分析、交互式数据分析等多种需求场景。Doris 的分布式架构非常简洁,易于运维,并且可以支持10PB 以上的超大数据集。在线展示并发布,形成“评价-学情-反思-措施”快速迭代,促进“教”“学”双方即时诊改;系统实现了学生个人、学习小组和班级三个层面的学情分析与评价,呈现效果如图4 所示。
图4 学生在线学习学情分析评价页面
图5 三级编程辅助体系
表1 五维能力评估数据来源对应关系
基于heywhale[13]平台通过二次开发,构建在线编程学习三级编程辅助体系,克服学生编程畏难情绪,提升独立实践能力。课程前期使用第一级“代码积木”,基于Canvas 技术的算法组件、工作流模板,拖拽搭建可视化的分析流程实现组装式编程,梳理整体结构;基于模块化编程思想,在学习的中期使用第二级“代码片段”实现修正式编程,侧重关键代码学习熟练;学习的后期使用第三级“知识库”实现自主编程,编码过程实现图文混编,结果可展示可分享。帮助学生克服对编程从零开始的畏难情绪,迅速提升独立编程实践技能。
教学设计环节,教师可依据教学目标以及当前系统学情评价情况设定课程任务评价侧重点,灵活设置权重,形成五维技能个性化评价数据,体现出不同课程环节对学生能力的培养侧重;基于上一次课在线编程任务完成情况,教师可快速获取学生们编程上的问题短板,从而可以针对性开展编程任务设置以及个性化的编程辅导。
通过课程教学实践,学生借助三级编程辅助体系,编程学习从易到难,从整体程序流程搭建到具体代码编写,可有效帮助渐次提升模型开发能力,培养计算机程序设计思维。评价数据反映,自主编程能力和编程效率显著提升,95%学生成绩合格,35%学生成绩优秀,85%学生均有超过5%以上的增值成长,学习目标高效达成。通过一个学期的课程实施表明该系统在计算机类编程课教学实施上具有一定的模式推广价值。
本项目使用HP LoadRunner 测试工具对系统进行测试,软硬件测试环境如表2 所示。
在测试过程中,确保系统测试的有效性及正确性,测试组将采用加工合成过的真实数据。见表3。
本文针对高等职业教育人工智能专业核心课程进行了课程优化实践,构建了五维能力模型,设计并开发了在线学习平台ANNsHub,设计了学情可视化分析功能,帮助教师和学生即时获取当前的学习情况,为教师教学实施提供便利,从而可以利用在线学习平台对大学生学习习惯进行数据化呈现行为诊断,达到学习习惯分析、学业干预的目的。
在线教育平台的教学和平台管理可以不断优化,为学习者提供个性化的教学服务,从而促进学习者的个人发展。下一步研究重点包括,如何确保系统获得数据的安全,保护学习者学习数据的隐私;如何设计更合理的系统功能模块,获取更多的学习数据,融入多源数据进行学习分析研究。