AI Copilots正在改变编码的教学方式

教授们正在从语法转向更高层次的技能

4分钟读取

丽娜·戴安·卡巴拉(Rina Diane Caballar)是一位特约编辑,涵盖科技及其与科学、社会和环境的交叉点。

这是一个迷你人工智能机器人在一堆书上看着一台笔记本电脑的照片,它坐在笔记本电脑上的人手旁边。
阿拉米

生成性人工智能正在转换软件开发行业。AI驱动的编码工具在工作流程中帮助程序员,而人工智能中的工作继续增加。但这种转变在学术界也很明显,这是下一代软件工程师学习编码的主要途径之一。

计算机科学专业的学生正在接受这项技术,使用生成人工智能为了帮助他们理解复杂的概念,总结复杂的研究论文,集体讨论解决问题的方法,提出新的研究方向,当然,还要学习如何编码。

“学生是早期采用者,一直在积极测试这些工具,”他说约翰尼·张,斯坦福大学助教,攻读计算机科学硕士学位。他还创建了AI x教育会议2023年,学生和教育工作者虚拟聚会,讨论人工智能对教育的影响。

为了不被落在后面,教育工作者也在尝试生成人工智能但他们正在努力掌握采用该技术的技术,同时确保学生学习计算机科学的基础知识。

“这是一个很难平衡的行为,”他说Ooi Wei Tsang(曾伟伟),计算机学院副教授新加坡国立大学.“鉴于此大型语言模型我们仍在学习如何做到这一点。”

少强调语法,多强调问题解决

基础知识和技能本身正在发展。大多数计算机科学入门课程都侧重于代码语法和程序运行,虽然知道如何读写代码仍然很重要,但测试和调试(通常不是教学大纲的一部分)现在需要更明确地教授。

“我们看到这项技能有了一些提高,学生们从生成性人工智能中获取代码片段,他们需要测试其正确性,”他说吉安娜·马修斯,计算机科学教授克拉克森大学位于纽约波茨坦。

另一个重要的专业知识是问题分解。“这是一项需要及早了解的技能,因为你需要将一个大问题分解为LLM可以解决的小问题,”他说利奥·波特,一位计算机科学副教授加州大学圣地亚哥分校“很难在课程中找到算法或软件工程但是那些是高级课程。现在,它成为入门课程中的一个重点。”

“鉴于此大型语言模型我们仍在学习如何做到这一点。”-Ooi Wei Tsang,新加坡国立大学

因此,教育工作者正在修改他们的教学策略。“我过去常常把注意力集中在学生编写他们提交的代码上,然后我对代码运行测试用例以确定他们的分数,”他说丹尼尔·津加罗,计算机科学副教授多伦多大学米西索加分校“这是对软件工程师意味着什么的狭隘看法,我只是觉得有了生成性人工智能,我成功地克服了这种狭隘的看法。”

Zingaro与人合著了关于AI辅助Python编程的书现在,波特让他的学生分组工作,并提交一段视频来解释他们的代码是如何工作的。通过这些演练,他了解了学生如何使用人工智能生成代码,他们面临的困难,以及他们如何进行设计、测试和团队合作。

“这是我评估他们整个软件开发[生命周期]学习过程的机会,而不仅仅是代码,”Zingaro说。“我觉得我的课程比以前开放了更多,范围也更广。我可以让学生从事更大、更高级的项目。”

Ooi呼应了这种情绪,注意到生成性人工智能工具“将为我们腾出时间来教授更高层次的思考,例如,如何设计软件、解决什么问题以及解决方案是什么。学生可以花更多的时间在优化、道德问题和系统的用户友好性上,而不是专注于代码的语法。”

避免人工智能编码陷阱

但鉴于LLM的幻觉倾向马修斯说:“我们需要教育学生对结果持怀疑态度,并对结果进行验证。”。

马修斯补充说,生成性人工智能“可能会缩短过于依赖它的学生的学习过程。”张同意这种过度依赖可能是一个陷阱,并建议他的同学们自己探索可能的问题解决方案,这样他们就不会迷失在批判性思维或有效的学习过程中。他说:“我们应该让人工智能成为学习的副驾驶员,而不是自动驾驶仪。”。

“我们应该让人工智能成为学习的副驾驶员,而不是自动驾驶仪。”-Johnny Chang,斯坦福大学

其他缺点包括版权和偏见。波特说:“我教我的学生道德约束——这是一个建立在他人代码基础上的模型,我们会承认它的所有权。”。“我们还必须认识到,模型将代表社会上已经存在的偏见。”

适应生成性人工智能的兴起需要学生和教育工作者共同努力,相互学习。对于她的同事们,马修斯的建议是“努力营造一个环境,鼓励学生告诉你他们何时以及如何使用这些工具。最终,我们正在为学生准备现实世界,而现实世界正在发生变化,因此,坚持你一直在做的可能不是最适合学生在这一转变中的秘诀。”

波特乐观地认为,他们现在申请的改变将在未来为学生提供良好的服务。他说:“我们在学术界教授的知识与学生进入该行业时实际需要的技能之间存在着长期的差距。”。“我希望,如果我们接受LLM,我们可以帮助缩小差距。”

这篇文章发表在2024年7月的印刷版上,名为“教授们反思他们如何教授编码”

对话(1)
布鲁斯·本森
布鲁斯·本森2024年5月6日
LM公司

对!我是一名退休的程序员(BS comp sci),了解开发系统的基本原理。学习最新的系统现在是最大的挑战。Ansible帮助我管理我的家庭实验室集群,我对此很感兴趣,但谁想再学习一种脚本语言呢?结果ChatGPT4知道Ansible的语法、语义和工作流程,我所做的就是告诉他“在我所有的proxbox服务器上安装log2ram”,我得到了一个这样做的剧本。Docker Compose脚本也是如此。真 的。