永洪社区

标题: 用 AI 和不用 AI 学习编码,区别在于…… [打印本页]

作者: puffs    时间: 2024-4-18 19:05
标题: 用 AI 和不用 AI 学习编码,区别在于……
如今,像 ChatGPT 这样的工具能解决许多编程入门任务。通常情况下,你只需简单地复制粘贴指令,就能得到详细的解决方案和解释,无需再做其他事情。
  然而,这引起了很多关于用 AI 生成代码的 LLM 是否会影响编程教育效果的讨论。教育工作者担心学生会过度依赖 AI 工具,无法有效地学习;反之,这些工具也可能降低编程门槛,甚至扩大人们对计算机的参与!
  为了了解其中到底发生了什么,我们有两个基本问题:
  (1)在编程入门课程中,AI 代码生成器对新手有什么影响?
  (2)新手如何在入门编程课程中用 AI 代码生成器?


一、研究方法
  为了回答这些问题,我们在 2022 年 8 月对 69 名没有 Python 编程经验的学生(10-17 岁)进行了 10 节课的对照研究。在第一节课上,我们用 Scratch 向学生传授了编程的基本概念,如变量、条件和循环。然后,立即用 25 个 Scratch 代码跟踪问题对这些学生的高级计算思维能力进行评估。
  在接下来的 7 节课中,学生被分成两组:Baseline 组和 Codex 组。在这 7 节课中,两组学生都使用为本次研究开发的工具 Coding Steps 完成了 45 个由两部分组成的任务。Coding Steps 包含了对新手友好的文档,并允许远程助教对学生提交的任务提供实时反馈。每个任务的第一部分是代码编写任务,学生必须根据提供的说明编写代码;第二部分是代码修改任务,学生必须根据额外要求修改前一部分的正确解决方案。在代码编写任务中,Codex 组的学生只能选择使用 LLM 代码生成器。



该代码生成器基于 OpenAI Codex,学生只需输入用自然语言描述的程序,它即可将其转换为 Python 代码。
  最后两节课的重点是评估学生的表现,在这两节课中,学生无法使用 Codex 或其他 AI 辅助工具。共有两个评估环节,都包含 10 个编码任务和 40 道选择题。第一次评估测试是在七节培训课后一天进行的,第二次测试是在一周后进行的,使用的是稍作修改的类似任务。


  
二、有 AI 和没有 AI 的学习表现
  首先,我们来看看前 7 次课的培训结果:
    接着,让我们来看看最后两节课的测试评估结果:
    
三、使用 AI 学习:过度依赖与自我调节
  此外,我们还对 Codex 组学生在七次培训中用 AI 代码生成器的 1666 次使用情况进行了专题分析。我们重点分析了他们如何使用工具、用了哪些提示,以及如何验证和使用 AI 生成的代码。基于此,我们发现了各种过度依赖和自我调节的迹象,下面将对此进行讨论:
    最后,我们认为未来的 AI 工具设计者和教育者,应该促进人们对 LLM 代码生成器的合理调节使用,同时阻止上述不规范的使用方法。







欢迎光临 永洪社区 (https://club.yonghongtech.com/) Powered by Discuz! X3.4