news 2026/6/9 21:40:32

ChatGPT 如何改变我们教授软件开发的方式

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ChatGPT 如何改变我们教授软件开发的方式

原文:towardsdatascience.com/how-chatgpt-is-transforming-the-way-we-teach-software-development-3d05075a3734

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/f1f4d240fbf27cbc81d8e798267b781f.png

作者使用 Midjourney 创建的图片

2023 年夏天,当我接受一名高中生作为暑期实习生时,我有了这个启示。他们的任务是使用 Jupyter 笔记本、基本的 Python 和 scikit-learn 开发一个机器学习模型,以预测我们城市的空气质量。

有一天,我和我的实习生讨论算法的性能,并要求他们更改一个图表:不是绘制预测值与真实值之间的对比,而是要求他们展示预测值与真实值之间的差异

学生切换到另一个浏览器标签页,提示 ChatGPT 进行操作:“计算两个数组 y1 和 y2 之间的差异”,然后将答案"y1 – y2"复制粘贴到笔记本中。

起初我对他们要求人工智能助手提供这样简单的一行代码感到好笑,这肯定比自己编写要快得多,而且不需要提示、等待和复制粘贴。但随后我开始思考人工智能助手对我们教授软件开发的方式以及学生的学习成果的影响。

在以下内容中,我根据自己作为本科生和研究生导师的个人经验,概述了人工智能助手兴起对编码技能教学的影响。我主张在课堂上接受人工智能助手,而不是试图限制它们的使用。作业和考试应考虑到人工智能助手的使用,并评估那些尚未被人工智能覆盖的技能。然而,学生应该有机会发展他们自己的编码技能,而不是在学习旅程的每个部分都依赖人工智能技术。


学习实际上是如何进行的?

有一个著名的引言归功于中国哲学家孔子:

“我听到的,我忘记了。我看到的,我记住了。我做的,我理解了。”

在我自己的培训和教授他人的过程中,我发现这一点是真实的。在教育心理学中,引言的最后部分被称为学习迁移[1]。学生通过越来越复杂的任务进行进步。首先,他们在相同的问题上做练习,直到掌握一个概念。后来,他们可以独立地识别出解决新问题所需的概念。

例如,当你小学时学习加法,你通过做像*17 + 8 = ?*这样的家庭作业问题来练习。你掌握了加法的概念,现在可以将这个技能应用到任何两个整数的加法中。

只使用过 AI 助手的学生的理解能力无法达到理解概念的水平。在复制粘贴的过程中,学生并没有积极与材料互动。他们可能解决了老师满意的问题,但他们并没有获得完成任务所需的技能。


教授软件开发的意义是什么?

我主要教授软件开发给研究生和专业人士,因此我的经验基于这个水平。我的目标是让学生能够用编程解决他们日常的问题。他们应该学习

  1. 如何识别可以用算法解决的问题,以及如何正确地构建它

  2. 如何编写软件来解决问题

  3. 如何评估算法输出的质量

在我看来,当前 AI 助手的最佳用途是解决问题的中间部分,即编写软件。对于我的学生来说,主要的好处来自于学习如何执行列表中的第一和最后两项任务,因为这些任务高度依赖于他们的特定应用领域。

我们遵循 Carpentries 的概念[2]来教授编码技能,目前我们正在使用简单但富有教育意义的数据集,我们正在引导学生进行数据分析模型开发。

ChatGPT 可以在几秒钟内提供必要的代码,而学生可能需要几天时间才能学习基础知识。我们如何激励学生深入材料并掌握一项技能?

我的学生的成年,如果他们选择放弃学习机会,而是将所有内容复制粘贴到 ChatGPT 中,那对我来说是可以接受的。然而,我期望专业人士对自己的领域有足够的理解,能够在不求助工具的情况下解决基本问题——比如一本书、stackexchange.com,或者现在的 ChatGPT。

为了说明我的观点,考虑一个会计师,他们在日常工作中使用计算器。即使使用这个设备时他们更快且错误更少,但他们仍然知道如何加法。同样的情况也适用于软件开发者和他们使用 AI 助手的方式。

作为未来的知识工作者,计算机科学学生应该培养超出 ChatGPT 提示之外的能力。毕竟,总有人需要开发下一代生成式 AI 模型。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/c0e62aa5bf271bcfb8fcdb540447d58d.png

作者使用 Midjourney 创建的图片


我们是否总能依赖 AI 助手?

尽管 GPT-4 和 Gemini 等 AI 模型的未来前景很诱人,但它们尚未达到我们可以 100%依赖它们的阶段。

首先,AI 模型容易产生幻觉。当它们无法给出答案时,它们可能会编造事实。这一点已经被研究人员和软件专业人士广泛证明[3]。

第二,人工智能模型需要大量的基础设施。你无法保证你总是可以访问需要在大型数据中心运行的模式。网络问题、短期企业决策和不断上升的订阅费用可能会以意想不到的方式限制我们访问人工智能助手。

第三,为了评估人工智能模型的表现,我们需要培养批判性思维技能。人类天生具有这些技能的倾向,但仍然需要训练以正确使用它们。

在一个教育场景中,如果教育仅仅是通过 ChatGPT 进行提示而不进行批判性思考,那么发展这种至关重要的技能似乎是不可能的。因此,我主张将人工智能助手整合到我们的课程和课程中,同时仍为人类成长留出空间。


教师们对人工智能助手有何反应?

当人工智能助手首次随着 ChatGPT 广泛可用时,反应分为三个不同的方向。

  • 一些教师拒绝使用 ChatGPT,并试图将其从作业和考试中禁止,

  • 其他教师对 ChatGPT 的使用没有限制,这通常是由于缺乏意识,

  • 第三组欢迎使用 ChatGPT,理解它不可能被禁止,并着手开发新的教学概念。

我现在将更详细地审视这三种类型,并讨论它们的优缺点。

禁止人工智能助手

在大学层面限制人工智能助手的使用可能毫无意义,因为所有学生都可以在智能手机上随时随地访问互联网。由于人工智能助手可以通过简单的浏览器界面使用,似乎无法阻止学生使用它们。甚至在考试期间,学生也找到了方法——比如将智能手机藏在洗手间里,就像前几代人高中和大学时期的作弊纸条一样。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/58ffb42b61b4b468fb1121e1eb0ee40e.png

由作者使用 Midjourney 创建的图像。

传统的带回家做的作业和开卷考试,长期以来一直是教师们所青睐的,因为它们往往能让学生更深入地与材料互动,现在可以仅用人工智能来解决。由于即使是 OpenAI 也难以区分人工智能生成的内容和人类生成的内容,因此教师似乎无法检测到非法使用人工智能。

在某些情况下,鼓励学生不要盲目地提示 ChatGPT 可能会有益。如上所述,人工智能助手的使用可能会损害学习迁移。

回到学习加两个整数的例子,在小学时,即使每个人都能快速通过手机上的计算器来计算,你也不被允许使用计算器。一旦建立了学习迁移,使用计算器进行加法就不再成问题,这让学生能够解决更复杂的问题。

忽视人工智能助手

作为一名机器学习专业人士,我意识到了生成式 AI 的兴起,但基本转变还是让我感到惊讶。其他学科的教师,他们可能不太倾向于关注最新的 AI 新闻,已经被事件所超越。

忽视 AI 助手的可用性可能会破坏课程。即使学生表现优秀,他们可能也无法掌握与课程相关的技能,教师应该对此有所认识。因此,教育教师了解 AI 助手的强大功能,并将它们融入课程中至关重要。

整合 AI 助手

通过接受 AI 助手进入我们的课堂,我们不仅承认禁止他们是不可行的,而且我们还使我们的学生能够学习一个对数字时代至关重要的新技能:学习如何提示 AI 助手并评估其答案。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/fd5af16fd25f296c7387bfad704329a8.png

作者使用 Midjourney 生成的图像。

这需要新的教学和评估方法。以下是一些供教师评估迁移学习的想法

  • 让学生准备演示文稿,并在课堂上进行互动讨论

  • 更多地关注团队合作和项目,例如在数据分析之前,让学生使用他们自己构建的传感器收集数据

  • 关注那些可能不被今天 AI 工具覆盖的利基应用和区域方面

  • 明确要求学生使用 AI 完成一项任务,随后对生成的输出进行批判性讨论。

在课堂上,在概念尚未牢固之前,考虑限制 AI 助手的使用是有意义的。

结论性思考

AI 助手如 ChatGPT 将长期存在,并将对知识工作者的日常工作产生重大影响。软件开发也不例外,未来编程的许多部分将由 AI 完成,而不是人类。

在教授软件开发时,教育者应该考虑将 AI 助手整合到课程中,而不是限制他们的使用。学生应该有机会独立学习基本的软件开发技能,以便他们能够掌握概念并应用迁移学习。他们需要具备足够的知识来判断 AI 助手在特定任务上的表现是否良好。

作为一项新技能,学生应该学习如何高效地提示 AI 助手解决他们的编程问题。综合来看,这将确保未来我们仍然有能够编写基本代码而不依赖 AI 助手的软件专业人士,但他们在专业环境中能够利用 AI 助手的优势。

您有什么经验和想法?请在评论中分享!

参考文献

  1. 学习迁移:https://en.wikipedia.org/wiki/Transfer_of_learning

  2. Carpentries 软件教育:carpentries.org/

  3. Bang 等人,ChatGPT 在推理、幻觉和交互性方面的多任务、多语言、多模态评估(2023)。arxiv.org/abs/2302.04023

  4. 学校中的 ChatGPT(德语):www.spiegel.de/panorama/bildung/chatgpt-und-co-an-schulen-lehrkraefte-in-ki-verantwortung-a-a2a2bd4f-7b13-481b-8c8a-55ed6c1a9ce9

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/2 23:10:05

低成本PPG心率检测传感器原理图设计,已量产(e-Health传感器)

目录 1、PPG 传感器前端:SON1303 的驱动与信号拾取 2、信号预处理:交流耦合与前置放大 3、模拟信号缓冲与输出 4、数字心率信号:比较整形与指示 5、可调设计:路径选择与增益适配 在便携式健康监测设备中,低成本、小型化的 PPG(光电容积脉搏波描记法)心率检测方案一…

作者头像 李华
网站建设 2026/6/9 6:57:15

28、脚本编程进阶:从变量到流程控制

脚本编程进阶:从变量到流程控制 1. 变量与输出方法 在脚本编程中,变量和输出是基础且关键的部分。为了避免shell对变量名的错误解析,我们可以使用花括号。例如,在变量后添加花括号,能防止尾随的字符被误当作变量名的一部分。 同时,将变量和命令替换用双引号括起来是一…

作者头像 李华
网站建设 2026/6/3 5:22:28

启用 FlashAttention 的令牌压缩 “表象移动 “的工作原理和效果

摘要 本文提出了一种新方法来应对变压器模型计算成本增加的挑战。 近年来,变换器已被广泛应用于自然语言处理和图像/视频理解领域,但随着规模的扩大,处理效率已成为一个严重问题,因为自我注意机制的计算复杂度与输入词块数量的平方…

作者头像 李华
网站建设 2026/5/30 17:55:13

想涨薪?2026年网络安全领域最值得投资的四大黄金认证

前言 无论你是想投身网安蓝海、加固职场护城河,还是填补“数字时代安全刚需”的技能缺口,选对证书就是握紧职业发展的金钥匙!聚焦网络安全领域,以下四大证书堪称行业硬通货,助你筑牢数字防线,赢在安全时代…

作者头像 李华
网站建设 2026/6/10 10:02:30

如何利用资源管理器排查程序错误?

利用 Windows 资源管理器来排查程序错误,是一个非常实用且直接的“第一反应”式排查方法。它主要不是用来调试代码逻辑,而是用来检查程序运行所依赖的“环境”和“资源”是否正常。 以下是详细的排查思路和步骤,你可以把它当作一个检查清单来…

作者头像 李华
网站建设 2026/6/9 6:07:15

商业表单(一)眼镜验光单—东方仙盟练气期

代码以东方仙盟之妙喻,解锁眼镜验光单开单系统奥秘在眼镜验光配镜的 “江湖” 中,这款眼镜验光单开单系统宛如东方仙盟的镇盟之宝,承载着提升视力矫正精准度与服务效率的神奇使命,为验光师与配镜师们构建起一个数据精准、操作便捷…

作者头像 李华