人工智能会淘汰入门课程吗?专家应该转而教授什么

人工智能会淘汰入门课程吗?专家应该转而教授什么!

Kwiga logo
by Liubomyr Sirskyi
Copywriter at Kwiga

每周都有新的训练营关闭;每个月,AI 工具生成的 JavaScript 都比最笨拙的初级开发者更好。在论坛和教师会议中反复被提出的问题是:人工智能会让入门课程变得不再必要吗?

这种担忧是合理的;ChatGPT 可以在几秒内拆解循环、创建 HTML,并调试 Python。既然有一个“助手”可以帮助编程,为什么还要花 3 周时间学习一门结构化课程呢?

然而,AI 将会淘汰那些设计糟糕的入门课程——那些把人类当作慢速计算机来对待的课程。真正改变的是:初学者到底需要什么?以及他们被教授的技能类型。能够适应不断变化环境的专家,将提供比以往更有价值且更相关的技能组合。

AI 实际擅长的事情

重新设计入门课程应从诚实评估 AI 当前擅长的领域开始。当前的 AI 模型(ChatGPT、Claude、Copilot 等)在三个关键方面表现出色,能够帮助学习者:

用不同方式解释概念

例如,让 AI 以你十岁时能理解的方式解释“for 循环”,提供一个技术性定义,并将其类比为咖啡店的运作。AI 不会因为需要用多种风格表达而感到疲惫,并且会根据你的指令调整语言风格。

创建无限数量的练习题

如果你需要十道用于练习字符串操作的题目,AI 可以为你生成。如果你希望这些题目按难度递增排列,AI 也可以做到。AI 消除了练习材料不足的问题。初学者不再需要等待一本充满练习的教材。

为初学者提供低风险的即时反馈

如果初学者写了一段包含错误的代码,AI 可以识别错误,并解释为什么是错误以及如何修复,而不会带有评判性,这样你就不必再害怕在老师或同伴面前显得愚蠢。

然而,AI 只能基于你提出的问题来回答(而不是你真正需要的内容)。AI 也没有长期记忆,无法在数周时间内识别你的学习错误模式。

当前入门课程的问题是什么?

如今的许多课程是为一个没有 AI 的世界设计的,但那个世界已经不存在了。问题在于,它们教授的内容由于 AI 的存在而几乎失去价值。以下是三个常见问题:

过于注重语法记忆

学生需要花数周时间记住变量声明、循环结构和函数定义。然而在他们记忆这些陈旧规则的同时,AI 已经可以处理所有语法,这使得这些内容变得不再重要。对于初学者来说,Java 使用“equals()”还是“==”来比较字符串也不再重要。初学者只需要知道字符串比较是复杂的,而 AI 会生成正确的语法。

孤立的示例解法

大多数练习都是示例解法(例如反转字符串或计算三个数的平均值)。这些练习只帮助学生一次练习一个规则,但在真实问题中往往混乱且不明确。AI 可以在 5 秒内解决这些示例问题。花数小时完成几个简单问题,只能让学生学会一个单一技能,而没有更多收获。

线性且“一刀切”的学习进度

所有学生都从第 1 周开始,到第 12 周结束。学习快的学生很快感到无聊,学习慢的学生则迅速落后。而 AI 可以根据每个学生的进度提供个性化学习曲线。因此,固定课程在效率上无法竞争。

初级编程课程的产出

最终,初学编程的学生离开课堂时只获得两样东西:一种微弱的从记忆中编写简单程序的能力,以及在遇到问题时完全不知道该怎么办。学生通常被教授大量低级技能,而这些技能 AI 已经可以完成。

问题还在于,学生会对自己新获得的编程知识产生一种不应有的成就感(通常被称为“虚假自信”),直到他们开始第一个真实项目时才发现,自己的知识仅限于语法,实际上根本不会真正使用编程语言。

初学者真正缺失的是什么?

初学者缺乏良好的判断力。他们不知道如何将一个定义不清的问题拆解成具体任务。更重要的是,他们缺乏何时以及如何进行测试和验证的直觉。这些技能都无法通过语法练习获得。

专家应该教授什么

虽然人工智能可以处理语法、算法和练习相关的工作,但有经验的人类教师仍然可以在许多方面帮助学生。不过,这也意味着教师需要放弃过去的课程结构。具体来说,有五项关键技能值得重点教授:

1. 如何拆解问题

AI 可以识别问题,但并不真正理解如何拆解模糊的想法。

要教会学生意识到:执行解决方案之前需要更多信息

  • 需要使用什么类型的设备?

  • 最终结果将如何被收集?

  • 谁来负责完成结果的哪一部分?

将模糊的问题拆解为至少五到十个具体步骤。

识别哪些步骤应该优先完成。

2. 测试与验证

AI 对自己的答案非常自信,但缺乏经验的学习者未必能识别错误。

要教会学生:

  • 在编写代码之前先创建测试用例。

  • 使用基础测试用例验证 AI 生成的答案。

  • 识别 AI 解释中的错误(可能导致错误结果)。

3. 阅读和调试已有代码

AI 可以生成代码,但大多数实际工作是阅读、调试、修改或增强已有代码(无论来自他人还是 AI)。

要教会学生:

  • 在不运行代码的情况下追踪执行路径。

  • 使用 print 语句和调试工具有条理地解决问题。

  • 解释一段代码实际做了什么(而不是它原本的意图)。

4. 提升你的提问能力(提示词)

如果你的提示很糟糕,你从 AI 得到的答案也会很糟糕。初学者通常只会说“修复这段代码”,却没有任何上下文。

要教会初学者:

  • 提供错误信息和预期行为

  • 让 AI 解释其推理过程,而不仅仅是给出答案

  • 重复:“这没有成功;这是发生的情况,再试一次。”

5. 系统行为的心智模型

随着你学会建立关于系统如何运作的心智模型,语法最终会逐渐从记忆中淡去。一个初学者,只要理解变量就像一个带标签的盒子,就可以更快地学习所有编程语言。

向初学者展示如何:

  • 绘制代码运行时计算机内存中发生的情况

  • 在运行代码之前预测输出结果

  • 解释代码为什么没有按预期工作,而不仅仅是如何修复它

从一种方法转向另一种方法的示例

旧方法:“记住 Python 中的列表方法,并完成 20 个练习。”

新方法:“我有一个程序无法运行;它是由 AI 编写的。找出三个错误,修复它们,然后让 AI 解释为什么这些是错误。”

这就是专家如何以一个有思考能力的教练身份支持学习者,而不是直接给出答案。

如何重构入门课程

教师和课程设计者可以通过实际方法,在课堂中以多种方式使用 AI。

改变你的学习目标

以下是如何选择新的目标:

旧目标

新目标

从记忆中写出语法

将问题拆解为步骤

完成 20 个类似练习

验证并调试 AI 生成的代码

通过选择题测试

针对模糊需求提出澄清性问题

围绕 AI 重新设计课程的五种方式

  • 从第一天起就把 AI 当作伙伴使用 —— 向学生展示如何提问、检查并与 AI 互动以获得有效回应。

  • 停止语法测验 —— 例如,在运行代码前问学生:“你认为这段代码的输出会是什么?”

  • 主要内容可以是错误或 AI 生成的代码 —— 给学生有缺陷的代码,让他们找出问题,就像真实工作环境中一样。

  • 在学习写代码之前先学习调试 —— 课程前两周应集中在阅读、跟踪和修正代码,然后再编写新代码。

  • 根据学生如何得出结果进行评分 —— 学生需要提交:他们给 AI 的提示、AI 的回答、验证过程结果以及修正后的最终结果。

循环(loops)的前后对比示例

在学习 for 和 while 循环时,通常会先通过三个小任务逐步讲解,然后提供十个简短练习:打印 1-10、对数组求和等,每个练习只稍微提升一点技能。

另一种方式是:给你一段 AI 生成但存在错误的循环代码,在运行前预测输出结果,从而发现并修复 off-by-one 错误。接下来,你需要请求 AI 提供 3 个测试来发现类似问题。整个学习过程形成闭环。过去需要 3 小时的内容,现在 30 分钟即可完成;语法学习更快,但错误检查与修复所需时间更长。

注意!仅在一节课中加入 AI 基础通常不会带来改变,很快就会被遗忘。应该将这些理念融入每一个任务中。否则,学习者会依赖 AI 逃避思考,而无法真正提升能力。

结论

大多数基础课程不会因为人工智能而消失。但那些依赖机械重复的课程?它们的问题会迅速显现。教师仍在训练语法规则,而“词典”早已过时。网络上已经有所有他们要求学生记住的答案。

有一种方式更合理:专注于推理,而不是敲键盘;强调验证思路,而不是死记答案;先拆解问题,而不是套用公式。

当你卡住时,真正的学习才开始。面向初学者的课程,只有在能指引“下一步该做什么”时才有价值。而 AI 在这些停滞时刻往往无法提供方向。这种能力比其他任何能力都更重要。其余的事情,可以交给人工智能处理。