基于生成式人工智能的大学生编程学习行为分析研究
1. 研究背景与意义
1.1 生成式人工智能技术的影响
1.1.1 技术变革的背景
- 生成式人工智能技术在教育、医疗、金融等领域的应用日益广泛,对各行各业产生了深远影响。
- 特别是在教育领域,生成式人工智能技术如ChatGPT的出现,为学生和教师提供了更为便捷高效的学习工具。
1.1.2 ChatGPT在编程教育中的应用
- ChatGPT具有高效代码生成能力,能够辅助程序员完成编程过程中的各项任务。
- 对于大学阶段的学习者来说,学习编程仍然是一个具有挑战性的复杂过程,ChatGPT的引入有望改变这一现状。
1.2 面向过程的分析的重要性
1.2.1 深入分析学习者编程过程
- 深入分析学习者编程过程,可以帮助教师/学习者采取更为有效的教学策略和学习方式。
- 面向过程的分析有助于深化编程教学效果评价,提高编程教育的质量。
1.2.2 本研究的意义
- 本研究从行为分析的视角出发,采集学习者在利用ChatGPT开展编程活动过程中的学习行为和知识探究问题并进行编码。
- 通过多种学习分析方法挖掘不同绩效学习者的不同行为模式和知识探究质量,探讨ChatGPT在大学编程教育中的应用效果。
- 以期为提高程序设计课程教学效果提供新的思路和方法。
2. 研究问题
2.1 学习者的行为模式
- 在使用ChatGPT辅助编程学习时,学习者存在怎么样的行为模式?
- 在使用ChatGPT辅助编程学习时,不同绩效学习者的编程行为具有哪些特点?
2.2 学习者的探究问题质量
- 在使用ChatGPT辅助编程学习时,学习者的探究问题质量如何?
3. 研究设计
3.1 研究对象
- 《面向对象程序设计》课程;36名学生(男生13名,女生23名);共计五个课时
3.2 研究工具
- 运行电脑屏幕录制程序(无声音)记录学生的编程行为
- ChatGPT平台的日志记录学习者在ChatGPT中的知识探究问题
3.3 数据编码
- 认知网络分析:webENA
- 事件序列分析:R语言的LagSeq包
4. 研究发现
4.1 编程学习行为分析
- 编程学习行为分析采用的方法 工具及软件的介绍
- 学习者的行为转换序列存在典型特征
- 学习者经常复制和粘贴 ChatGPT 中的代码,调试以测试其正确性,然后阅读输出控制台窗口中的调试信息
- 学习者喜欢复制Python代码和控制台中的错误信息到 ChatGPT
- 学习者花费大量时间阅读ChatGPT给出的反馈信息,并将其复制到 PyCharm 软件中进行测试
- 学习者在使用 ChatGPT 解决程序调试错误信息时,可能遇到一些技术问题
4.2 不同绩效组的编程学习行为分析
- 随着编程过程的不断开展,高绩效组能够在前中后期相对均衡地编辑代码,并且在前期主要使用ChatGPT来辅助编程;
- 中绩效小组则随着编程过程的推进,不断提高编辑代码的次数,在前期和中期频繁使用ChatGPT辅助编程,并且伴随一些无关行为;
- 低绩效组则在前中后期都会频繁地使用ChatGPT辅助编程,同时常常会出现一些无关行为,并在编程中期时更频繁地参考教师提供的学习资源。
4.3 学习者在ChatGPT中的知识探究问题分析
- 学习者主要集中于浅层和中层知识探究之间建立连接,以及在浅层知识探究和浅层反馈内容探究上建立连接;
- 在深层知识探究或反馈内容探究上的连接较为薄弱;
- 高绩效组主要通过自主提问来获取ChatGPT的反馈,而中低绩效组主要通过对ChatGPT反馈内容的深入提问来获取问题的解决方案;
- 低绩效组有更多的浅层知识探究和反馈内容探究。
5. 研究结论与启示
5.1 ChatGPT辅助编程学习的作用
- ChatGPT能够辅助学生进行编程学习,帮助学生加深对编程问题的理解,提高编程能力和熟练度。
5.2 ChatGPT辅助编程学习中的潜在问题
- 学习者倾向于复制和粘贴代码或错误信息,可能导致学习者无法解决与复制的代码相关的问题,并削弱其对代码的理解和掌握能力。
- ChatGPT可能无法提供准确或完整的答案,表明ChatGPT平台的使用稳定性仍有提升空间。
- AI自然语言生成技术所普遍存在的“幻觉”问题,即ChatGPT在处理信息时可能产生的误解或错误。
5.3 不同绩效组在利用ChatGPT时的行为模式差异
- 高绩效学习者具备较高的独立思考和问题解决能力,可以将ChatGPT作为辅助工具用于提供解决复杂编程问题的思路。
- 中绩效学习者尚不具备必要的基础知识和解决问题的能力,他们可以先独立思考写出可能的解决方案,尝试自己编写代码来解决问题。
- 低绩效学习者在前期,用ChatGPT获取编程思路和指导。在后期,要积极尝试将所学知识应用到实际问题中。
5.4 探究问题质量的影响
- 学习者要注重避免使用简单的表面性问题,应注重问题的质量和深度以激发ChatGPT提供更深入和广泛的知识,获取更深入的解释和指导。
- 学习者可以通过使用提示词(Prompt)来明确他们的问题、需求或者期望的回答形式,来提高ChatGPT的回答质量和准确性。
6. 总结与展望
本研究以某师范大学36名大二学生为研究对象,通过录屏和平台日志的方式采集其编程任务中的学习过程数据,并采用不同的学习分析方法,对学习者的编程学习过程和知识探究问题进行了分析和比较。
本研究的不足之处在于样本量较小、学习者的年龄和专业分布单一,未来研究将进一步探索和完善这些限制,以更好地利用ChatGPT这一强大的工具支持学生的编程学习。




