专栏名称: 多知网
专注于报道培训教育领域,有意思,有价值,有细节,有深度
目录
51好读  ›  专栏  ›  多知网

《人工智能时代计算机科学教育未来指南》:为什么学生学习编程仍然很重要?

多知网  · 公众号  ·  · 2024-07-24 14:09

正文

《指南》提出,人们对编程有四大误解。


来源 | 多知

翻译|王上



近日,美国人工智能教育研究非营利机构TeachAI 联合计算机科学教师协会(CSTA)发布了《人工智能时代计算机科学教育未来指南》(以下简称“指南”), 其中明确提出:“在人工智能时代,计算机科学比以往任何时候都更加重要。”


“指南”以问题为导向,分析了三大方面,包括:


1)为什么学生学习编程仍然很重要?


2)计算机科学教育者如何使用人工智能进行教学以及讲授人工智能相关知识?


3)学生如何成为人工智能的批判性消费者和负责任的创造者?


值得注意的是,指南还提到,编程仅仅是计算机科学的一个方面。即使编程变得过时,基础的计算机科学体验仍然是至关重要的。


这份指南包括了一项对364名教师的调查,并展示了如何培养人工智能素养,它提供了其他学科可以效仿的示例。




01

为什么学生学习编程仍然很重要?


TeachAI 在指南中提到,“编程”与“编码”可以互换使用,并且包括软件开发的各个方面。在指南中,编程被定义为一个创造性的过程,涉及设计、编写、测试和维护代码以执行特定功能和解决问题。


指南强调,尽管生成式人工智能(Gen AI)工具能够编写代码,但学习编程对于发展概念理解、主动性以及使用AI工具有效性、评估和修改AI生成的代码、理解编程的更广泛背景和影响所必需的倾向仍然至关重要。编程产生的不仅仅是代码,它鼓励创造力、批判性思维和协作,并为学习计算机科学(CS)的学科奠定了基础。AI可能会增强学习,但无法取代通过学习编程获得的理解和技能。


Gen AI工具强调了对编程基础知识的理解和欣赏这些工具的必要性,而不是降低学习编程的重要性。 正如学生在学习代数或微积分之前必须掌握“数感”(对数字的概念理解及其相互关系和联系的理解)一样,他们在这个AI辅助编程的新时代中要想取得成功也需要培养“编程感”(Johnson, 2024)。


所谓“编程感”或者“编程意识”是指支持有效调试的能力、优化性能,并理解代码在系统中的更广泛背景。


在我的视野中,孩子给计算机编程,在这样做的过程中,不仅获得了对最现代和最强大的技术之一的掌控感,而且与来自科学、数学以及智力模型建构艺术中的一些最深刻思想建立了亲密的联系。——西摩·帕普特,《心智风暴:儿童、计算机与强大思想》,1980年,第5页


随着生成式人工智能的迸发,当下有一些人产生了以下四大误解:


误解1:AI编码工具产生编程知识,编程技能是不必要的;


误解2:学生不需要学习编程 ,因为人工智能可以准确而独立地做到这一点;


误解3:学生不需要学习编程,因为人工智能将取代所有的编程工作。


误解4:学习编程的唯一目的是生产项目;现在,人工智能可以为我们做到这一点。


实际上:


第一,为了最大化人工智能工具的价值和效果,开发者需要知道如何构建有效的提示、改进和请求(Kirova等人,2024年)。 学习编程不仅仅是学习编程语言的语法,它为学生提供了理解编程逻辑、练习解决问题以及发展对算法和数据结构的理解的机会。 这些知识对于有效指导人工智能工具是必要的。


例如,早期研究对10至17岁的新手使用代码生成器的研究表明,那些编程流利度更高的人从工具中获益更多。这表明人工智能工具在增强而非取代编程知识和技能方面最为有效(Kazemitabaar等人,2023年)。


第二,尽管生成式人工智能(Gen AI)工具正在改进,但它们被知道会建议不准确的代码,包含安全漏洞和偏见,或者与用户的意图不一致。2023年对三种流行的代码生成器进行的研究发现,它们在31%到65%的时间里产生了正确的代码(Yetiştiren等人,2023年)。


另一项研究表明,人类和人工智能配对在批判代码方面比单独任何一方都更有效。学习编程为发展代码意识和计算思维技能奠定了基础,这些技能需要评估、调试、修改并将AI生成的代码置于更大程序的上下文中。


第三,生成式人工智能(Gen AI)在工作场所的快速普及正在改变编程实践,但并没有消除对人类的需求。学习编程正在从专注于代码生成转向更多地关注代码阅读、评估、调试和重构。(Kirova等人,2024年)。


人类的创造力和领域专业知识一直是并且将继续是编程中的关键。创造力推动了创新性的问题解决、直观的用户界面设计和功能开发,而领域专业知识确保解决方案的准确性、相关性,并针对特定的用例。它们共同使得能够创建既符合技术需求又满足情境需求的强大、用户友好的程序。


第四,编程不仅仅是将指令翻译成编程语言;它涉及探索需求、编写规范以及测试、调试和分析代码。学习编程为学生提供了一个平台,用于协作解决问题、创造性表达,并在创造新事物中发现乐趣(Kafai等人,2015年)。


人工智能可以编码,但编程不仅仅是代码。当学生一起工作时,他们可能发现不仅更容易吸收新概念和词汇,而且还能够表达他们的好奇心和热情。研究表明,结对编程可以提高计算机科学领域学生,特别是一些代表性不足群体的保留率。


可以说,生成式人工智能(Gen AI)编码工具正在迅速改进,以帮助软件工程师通过消除重复性任务、提供代码建议,甚至将代码从一种编程语言翻译成另一种(Stryker,2024)。 尽管行业专业人士将继续适应这些创新,但学习编程的学生需要建立理解这些不断发展工具背后的基础、持久概念的能力,以便适当地使用它们。


指南总结: “人工智能不会取代程序员的需求。它需要人类的创造力和领域专业知识。人类的创造力和领域专业知识一直是并且将继续是编程中的关键。”


此外,学习编程只是学习计算机科学(CS)的一个方面。例如,CSTA K12标准还包括理解计算机如何工作、信息如何通过互联网发送、数据如何收集和分析,以及技术如何影响社会。


即使编程变得过时,基础的计算机科学体验仍然是至关重要的,因为计算机科学可以:


1)推动多个领域的创新,如数据科学或计算生物学;


2)解决追求高等教育计算机科学过程中的文化和结构性障碍;


3)扩大获得高薪、高满意度工作的机会;


4)促进众多领域的更大多样性(Lewis, 2017)。



02

计算机科学教师如何使用人工智能进行教学以及讲授人工智能相关知识?


指南指出, 计算机科学(CS)是学生探索人工智能的益处、局限性和社会影响的天然环境,计算机科学教师普遍希望获得专业发展,以有效促进这些学习机会。许多教师已经在计算机科学的背景下使用和教授有关人工智能的知识,以强调计算思维,揭开人工智能的神秘面纱,并使学生能够负责任地使用人工智能工具。


《人工智能时代的计算机科学教育指南》是基于2024年5月由计算机科学教师协会(CSTA)和TeachAI进行的一项针对计算机科学教师的调查(调查对象为364名教师,其中24%为小学教师,76%为中学教师,12%为国际教师)所提供的信息。



在调研的364名计算机教师中,85%老师认为学生在入门课程要学习关于人工智能;48%老师觉得自己有能力教授人工智能,88%的教师认为从专业发展到学习如何使用和教授人工智能将让他们从中受益,79%的教师应更新课程内容和课程标准强调人工智能。


在计算机科学课程中,学生目前学习了多少关于人工智能的内容?



根据调研的情况,学生学习人工智能内容的时长并不算多,学了3-5个小时的不到30%。


教师们指出,像算法这样的基础计算机科学概念帮助学生培养了解决问题的技能和对社会影响的认识,这些是批判性地使用人工智能工具和负责任地与它们一起创造所必需的。


关于人工智能的课堂活动可以探讨以下主题:


  • 底层编程和算法概念

  • 常见用途

  • 局限性

  • 对社会的伦理使用和影响(Lee & Kwon,2024年)


更重要的是,诸如算法、分类器、自然语言处理和人工智能的伦理问题等主题不仅在计算机科学课堂中扩展,而且与以下领域相关:数学、语言、生物和社会科学。


不过,在以往的计算机课程中,大多数老师只是解释人工智能的基本概念,而指南认为,不仅要讲相关知识,还要教学生使用工具,将人工智能应用到生活之中。


在计算机科学教育中,老师们对使用AI工具的看法不同,52%的人认为潜在的利益超过风险,43%的人认为风险和利益相当,5%的人认为风险超过潜在利益。


在老师们眼里,使用AI工具的风险包括:人工智能将代替学生思考;学生将过度依赖人工智能工具;学生将失去基本技能;及AI工具可能输出的信息不准确。


不过,指南认为,这些担忧可以通过教授基础的编程技能和与批判性使用人工智能工具来缓解。这种方法确保学生将人工智能作为一个辅助工具使用,保持他们的解决问题的能力,并理解背后的逻辑。


此外,对于计算机教师本身来说,利用人工智能可以提高工作效率。


参与CSTA/TeachAI调查的教师报告说,他们使用人工智能以多种方式促进他们的工作,包括定制和完善课程计划;为需要更多挑战或更多支持的学生提供差异化教学;以及组织思想、分解它们并重新解释它们。这些用途反映了通用人工智能(Gen AI)简化教师工作量的常见机会。在一个早期研究中,研究人员使用源代码提示代码生成器Codex生成新的编程练习。他们发现,绝大多数是完全新颖的,并与当前的主题一致(Denny等人,2023年)。除了节省教师的时间,代码生成器可以从一个输入中创建的解决方案的多样性,可以为学生提供不同方法来解决同一问题的视野。



03

学生如何成为人工智能的批判性消费者和负责任的创造者?


指南指出, 教授学生成为人工智能的批判性消费者和负责任的创造者,涉及到将伦理和社会考量整合到计算机科学(CS)教育中。计算机科学教师正在将关于透明度、问责制、信息准确性、隐私、公平性和伦理设计的讨论纳入他们的课程中。这些课程使学生能够批判性地评估人工智能的输出,理解人工智能对社会的影响,并设计优先考虑公平性和责任的技术。与其他任何学科相比,计算机科学提供了一个机会——通过学习人工智能模型是如何训练的、理解它们的工作原理以及开发自己的模型,来探索人工智能的社会和伦理影响。


从制作深度伪造到放大性别、种族和文化偏见,人工智能对个人和社区造成伤害的可能受到了广泛关注,这增加了将社会和伦理考量融入计算机科学教育的需求。


教授学生关于人工智能的一个关键部分是赋予他们权力,让他们理解人工智能模型是如何构建的,并批判性地思考这些模型的好处、危害、可能的保障措施,以及受这种强大技术影响的人群和社区。


随着越来越多的计算机科学教育涉及人工智能的消费和创造,学生还必须学会问自己,他们是否应该首先使用人工智能,以及为什么要使用。


计算机科学教师协会董事会主席查理蒂·弗里曼(Charity Freeman):“在人工智能教育方面,我们没有把头埋在沙子里的权利。计算机科学教师有机会也有责任引导学生理解人工智能的社会和伦理影响:好的和坏的,好处和伤害,可能性和现实。”


人工智能系统被广泛认为是不透明的,包含着不可知的数据来源和难以理解的决策过程。当教师们了解了人工智能系统的工作原理后,他们在课堂上使用这些系统时就会减少犹豫,对技术对个人自主性的影响也会减少担忧。早期研究表明,当教师们被赋予审查和覆盖人工智能建议的能力时,他们更有可能信任人工智能(Nazaretsky等人,2022年)。







请到「今天看啥」查看全文