Recent developments in deep learning have resulted in code-generation models that produce source code from natural language and code-based prompts with high accuracy. This is likely to have profound effects in the classroom, where novices learning to code can now use free tools to automatically suggest solutions to programming exercises and assignments. However, little is currently known about how novices interact with these tools in practice. We present the first study that observes students at the introductory level using one such code auto-generating tool, Github Copilot, on a typical introductory programming (CS1) assignment. Through observations and interviews we explore student perceptions of the benefits and pitfalls of this technology for learning, present new observed interaction patterns, and discuss cognitive and metacognitive difficulties faced by students. We consider design implications of these findings, specifically in terms of how tools like Copilot can better support and scaffold the novice programming experience.
翻译:摘要翻译:
深度学习的最新发展导致了产生源代码的代码生成模型,该模型具有从自然语言和基于代码的提示中产生高精度源代码的能力。这可能对课堂产生深远的影响,因为学习编码的新手现在可以使用免费工具来自动建议编程练习和作业的解决方案。然而,目前很少有关于新手如何实际交互的这些工具的了解。我们提供了第一项研究,观察到初学者在典型的入门编程(CS1)任务上使用这种代码自动生成工具,Github Copilot。通过观察和访谈,我们探讨了学生对于这项技术对于学习的利与弊的看法,提出了新的观察到的交互模式,并讨论了学生所面临的认知和元认知困难。我们考虑了这些发现的设计启示,特别是在如何更好地支持和搭建新手编程体验方面,像Copilot这样的工具能够做到更好。