在入门编程课程中整合自然语言提示任务
本文研究了利用大型语言模型进行自然语言生成的能力,并应用于编程课程中常见的两种学习资源的制作。研究发现,在创建编程练习时,只需要输入关键词,即可显著影响编程概念和上下文主题的内容,同时也证明了大多数自动生成的内容是全新且合理的。这些结果表明,使用大型生成机器学习模型作为教学工具是有重要价值的,但在交付给学生之前需要一些监督来确保生成的内容质量。文章还探讨了OpenAI Codex及类似工具对初学者编程教育的影响,并强调了可能改善教学体验的未来研究方向。
Jun, 2022
我们在166个编程问题的公开数据集上评估了GitHub Copilot的性能,发现它能够在第一次尝试中成功解决约一半的问题,并且仅使用问题描述自然语言的变化即可解决剩余60%的问题;我们认为这种类型的提示工程是一种提高计算思维能力的潜在有用的学习活动,很可能改变代码编写技能发展的性质。
Oct, 2022
本研究设计了一个基于Python程序的新评测标准StudentEval,使用多个具体的非专家受试者编写的问题提示,对比评估了5种Code LLM模型的性能,结果表明这种评测标准是更好的模型性能判别标准。同时,研究还发现了学生提示技术的显著变异和LLM采样的不确定性可能会误导学生,这些发现对于使用Code LLMs进行教学具有影响。
Jun, 2023
本研究系统评估了两种模型(基于GPT-3.5的ChatGPT和GPT-4),并将它们与人类导师在各种情形下的表现进行比较。我们使用五个Python编程问题和来自在线平台的真实有bug程序进行评估,并使用基于专家的注释进行评估。结果表明,GPT-4明显优于ChatGPT,并在某些场景下接近人类导师的表现,但在某些情况下仍表现不佳。
Jun, 2023
通过引入“Prompt Problem”概念以及开发名为Promptly的工具,本文介绍了一种新的教学方法,可以帮助学生学习如何为大型语言模型构建有效的提示,通过一项实地研究发现,Promptly大部分被学生们积极接受,并且能够激发他们的计算思维能力和接触新的编程结构,未来的研究方向包括Prompt Problem设计的改进以及将其整合进课程和教学实践中的研究。
Jul, 2023
最近AI生成模型的进展使得像ChatGPT这样的对话模型成为可行的助教候选人。我们通过研究初学者与助教在子目标学习环境中的互动,来探讨在初级编程教育中使用生成AI作为助教的实际性。为了比较学习者与AI和人类助教的互动和感知,我们进行了一项针对20名初级编程学习者的受试研究。学习者通过在助教的指导下制定子目标和子解决方案来解决编程任务。我们的研究表明,学习者在比分和AI助教相当的情况下能够更快地解决任务。学习者对AI助教的感知在回复的速度和全面性、对话的有益性、困难度和满意度方面与人类助教相当。最后,我们通过对聊天记录的分析,提出了更好地设计和利用生成AI作为编程教育助教的指导原则。
Sep, 2023
通过Prompt Problems的方法,我们提出了一种新的教授编程的方式,学生可以通过将问题转化为语言模型(LLMs)所能理解的提示来解决编程问题,并且我们展示了这个工具的设计、学生使用情况以及将LLMs整合到设计工具中所带来的新型编程问题和洞见。
Jan, 2024
新手编程人员在解决编程问题方面常常面临元认知意识和策略的缺乏。前期研究已经表明,新手在编程时可能会遇到多个元认知困难。新手通常不了解这些困难如何阻碍他们的进展。与此同时,许多新手正在使用生成型人工智能(GenAI)进行编程,它可以提供大多数入门级编程问题的完整解决方案、代码建议、停滞时的下一步提示以及解释难懂的错误消息。然而,GenAI对新手元认知的影响才刚刚开始被探索。通过21个由参与者观察、访谈和眼动跟踪组成的实验室会话,我们复制了一项以前的研究,研究了新手编程问题解决行为,并通过加入GenAI工具进行了扩展。虽然21名学生中有20名完成了分配的编程问题,但我们的研究结果显示GenAI工具在加快学生进度和使学生困难的使用方面存在一个令人遗憾的差距。加快进度的学生能够使用GenAI创建他们已经打算创建的代码,并能够忽略不合理或错误的内联代码建议。但是对于遇到困难的学生,我们的研究结果表明,以前已知的元认知困难仍然存在,并且GenAI不幸地可能会加重这些困难,甚至引入新的元认知困难。此外,遇到困难的学生通常对他们的问题解决能力存在认知失调,并且他们认为自己的表现比实际情况要好,并最终产生了一种自负的错觉。基于我们对两组学生的观察,我们提出了支持新手 GenAI 体验的方式,并对未来的工作提出了建议。
May, 2024