2026-03-31 16:15来源:本站

你认为哪一种人比较多:专业的计算机程序员还是会编程的计算机用户?
这是第二组。有数百万所谓的终端用户程序员。他们不会成为职业程序员或计算机科学家。他们将进入商业、教学、法律或任何职业——他们只需要一点编程来提高效率。程序员局限于软件开发公司的日子已经一去不复返了。
如果你用Excel写过公式,根据规则过滤过邮件,修改过游戏,用Photoshop写过脚本,用R分析过数据,或者自动化过重复的工作流程,那么你就是一名终端用户程序员。
作为教授编程的教育工作者,我们希望帮助计算机科学以外领域的学生实现他们的目标。但是学习如何很好地编写完整的程序可能很难在一门课程中完成,因为编程语言本身有太多需要学习的东西。人工智能可以提供帮助。
学习一门编程语言的语法——例如,在哪里放置冒号,在哪里需要缩进——对许多学生来说需要花费大量的时间。对于那些只想用编码来帮助解决问题而不是学习编程技能的学生来说,在语法层面上花费时间是一种浪费。
因此,我们觉得我们现有的课程并没有很好地服务这些学生。事实上,许多学生最终几乎不会写小函数——短小、离散的代码片段——更不用说写一个完整的程序来改善他们的生活了。

建立在大型语言模型上的工具,如GitHub Copilot,可能允许我们改变这些结果。这些工具已经改变了专业人员的编程方式,我们相信我们可以使用它们来帮助未来的最终用户程序员编写对他们有意义的软件。
这些人工智能几乎总是编写语法正确的代码,并且通常可以根据简单的英语提示编写小函数。因为学生可以使用这些工具来处理一些较低级别的编程细节,这使他们能够专注于编写软件程序的核心问题——更大的问题。许多大学现在都提供使用Copilot的编程课程。
在加州大学圣地亚哥分校(University of California, San Diego),我们为那些不是计算机科学专业的学生开设了一个入门编程课程,其中包含了Copilot。在本课程中,学生将学习如何使用副驾驶作为他们的人工智能助手编程,遵循我们书中的课程。在我们的课程中,学生学习高级技能,如将大任务分解为小任务,测试代码以确保其正确性,以及阅读和修复有bug的代码。
在这门课程中,我们一直在给学生们大型的开放式项目,他们所创造的东西让我们非常高兴。
例如,在一个学生必须查找和分析在线数据集的项目中,我们让一名神经科学专业的学生创建了一个数据可视化工具,说明年龄和其他因素如何影响中风风险。或者,例如,在另一个项目中,学生们能够在应用他们使用编程语言Python创建的过滤器后,将他们的个人艺术融入拼贴画中。在大型语言模型人工智能出现之前,这些项目远远超出了我们要求学生做的范围。
考虑到人工智能如何通过给学生写论文和做作业来破坏教育的言论,你可能会惊讶地听到像我们这样的教育工作者谈论它的好处。人工智能,就像人们创造的任何其他工具一样,在某些情况下是有用的,在另一些情况下是无用的。
在我们的编程入门课程中,大多数学生都不是计算机科学专业的学生,我们亲眼看到了人工智能如何以特定的方式赋予学生权力,并承诺扩大最终用户程序员的队伍。