作为重庆大学的全校公共课程,“程序设计技术(基于Python)”课程每年大约有4000名学生选修。该课程也是重庆大学通识教育的重要基础课程,要求学生能够掌握程序设计的基本知识和方法,能够通过编写程序解决生活及工程中的简单问题,提升程序设计方面的综合素养,具有较强的逻辑性和工程特性。 在教学实践中,“程序设计技术”课程面临着诸多挑战。由于每个班级学生人数多,教师难以支持每名学生的个性化学习需求;一个编程任务存在数百种潜在的错误类型,这使教师较难发现学生编程作业中的关键错误;由于课堂时间有限,教师无法逐一指导学生调试程序中的错误,而错误调试通常是程序学习中最困难和最耗时的环节,导致有些学生在学习编程时缺乏信心。 针对以上问题,重庆大学计算机学院和弘深学院组织了跨学院教改团队,在教授周庆带领下,以学习效果优先、坚持教师主导、激发学生动力为原则,通过融合机器学习、程序理解和大语言模型等人工智能前沿技术,设计研发助教机器人,并在教学中开展研究与实验,取得良好的教学效果。 开发助教机器人四项功能 重庆大学计算机学院教学团队基于“程序设计技术”课程研发的助教机器人既是学生的教练,也是教师的助手。首先,助教机器人能够帮助教师发现学生编程作业中常见的错误类型,发现学业困难学生,帮助教师洞见教学问题,改善教学策略,及时为学业困难学生提供帮助;其次,助教机器人能够对学生实施“一对一”辅导,解答每名学生在学习课程中遇到的问题,帮助每一名有需要的学生调试程序中的错误。因此,助教机器人具有学业表现预测、程序错误总结、程序调试、知识问答四大功能。 在学业表现预测功能中,助教机器人可以对学生提交到程序库中的程序作业进行处理,通过利用编程题目与知识点之间的关系、学生提交编程作业的记录、运行结果是否正确等信息,训练一个学业风险识别模型,预测学生在未来测试中的表现。教师根据学业困难学生的预测名单,为这些学生提供有针对性的学业指导,帮助其走出学习困境。 在程序错误总结功能中,助教机器人可以通过编译器报错和程序故障定位技术发现学生程序中出错的位置,利用机器学习技术识别程序的错误类型,统计每次编程作业中最常见的错误类型,将出错率高的错误类型反馈给教师,帮助教师及时准确地掌握每名学生的学习效果。 在程序调试功能中,程序调试机器人首先利用程序智能分析应用,对学生提交的程序进行分析,确定学生程序错误的类型。根据错误类型,调试机器人自动检索代码库,向学生展示同类错误的修改示例。在该示例的启发下,学生可自行探索修改错误的方法,从而提高编程能力。 在知识问答功能中,知识问答机器人将专业知识库与大语言模型相结合,解答学生在学习过程中关于专业知识的疑问。知识问答机器人先使用自然语言处理技术从问题中提取实体,然后通过查询知识库和知识图谱获得相应的知识,再利用提示模型将知识组合成提示语,最后利用大语言模型强大的语言生成能力生成答案并返回给学生。 在实际应用中提升教学成效 通过引入人工智能技术,研发助教机器人,重庆大学计算机学院有效解决了“程序设计技术(基于Python)”这门课程在教学实际中遇到的问题,显著提高了学生的学习效果。 在程序调试中,通过调试机器人,学生能够及时获得“一对一”的帮助,80%以上的常见调试问题可以顺利得到解决。 在程序智能分析应用中,教师能够及时发现学生编程作业中的常见错误,了解学生的学习情况,及时调整课堂教学策略,教学班每学期教学平均分在80分以上,高分率在65%以上,该课程在全校所有教学班中稳居前三名。 基于机器学习技术构建的学业预测模型的准确率高达90%,能够帮助教师重点关注和帮助学业困难学生。 计算机学院的一项调查问卷结果显示,大多数学生对助教机器人持积极态度,并愿意向其他同学推荐此应用。重庆大学计算机学院设计研发的助教机器人,无论是实验数据还是学生反馈意见,都证明了助教机器人在辅助“程序设计技术(基于Python)”课程教学中的有效性。 未来,重庆大学计算机学院教学团队将进一步完善助教机器人的功能和性能,包括提高其回答问题的准确性、引入数字人形象和情感理解能力,以及利用知识追踪等技术引导学生自主学习,把教师从简单的重复性工作中解放出来,促使教学活动更加具有活力和创造性! (周庆 钟将)
|