← 返回博客

青少年 Python 编程课,周年小结

青少年 Python 编程课自 2018 年推出以来,到现在已经经过了 8 年多的课堂实践。经过多年实际教学的打磨和学生反馈,我写下这篇文章和大家分享。

教案从何而来

我最早的编程课教案以 Java 为背景编写,因为 Java 语言本身的原因,课程适用于 14 岁左右的学生。随着学生年龄逐渐下降,这套教案已不太适用于低龄学生。于是我开始着手编写一套以 Python 为背景、适用于 9–16 岁全年龄段的编程教案。

Python 讲义的内容,直接从几所北美著名大学计算机基础课的教材和讲义里提取,经过简化、注释,并加入例子和练习,最后呈现到课堂上。

不同年龄,不同进度

2018 年初,全新的 Python 编程课正式上线。经过不同批次、不同年龄层学生的反馈,我不断调整优化内容直到现在。最直观的差异就是课程进度。

以 11 岁和 14 岁的学生为例:一套讲义,11 岁的学生至少要讲 15 节课,基础阶段共有 6 套讲义。因此 11 岁开始学习的学生,大约需要 1 年半到 2 年才能具备基本的编程能力,且学习期间不能中断太久(例如寒暑假),课余还需持续练习。而 14 岁的学生,同样的内容大约 12 节课即可完成。

课程内容

以第一套讲义为例,加上举例和练习,我把它写成了约 200 页的课堂 PPT。正如前面所说,11 岁的学生我需要 15 节课才能讲完这 200 页内容。

就我个人而言,如果只是讲解,很快就能讲完。但学生能不能掌握和运用,是另外一回事。学编程从“听懂”到“会用”是两个不同的阶段。

类似这样的内容,我准备了 6 套主题讲义,能让学生从零开始,到具备用编程实现自己想法的能力,内容涵盖:

  • Programming fundamentals(编程基础)
  • Variables(变量)
  • Control flow(控制流)
  • Functions(函数)
  • Sorting(排序)
  • OOP(面向对象)
  • Basic data structure(基础数据结构)
  • Functional programming(函数式编程)
  • Simple algorithm(简单算法)

除这六套主题讲义外,我还准备了独立学习单元,穿插图形、游戏制作等内容,在课程过程中适当使用,提升课程体验。

纯文本编程会枯燥吗?

曾有家长和我讨论:纯文本的编程看起来像打字一样,会不会让孩子感到枯燥、难以坚持?其实这是多虑的。

编程学习并没有看起来那么枯燥单一。我们通过程序来实现功能和想法。当学生进入课程,把自己的想法和学到的技能通过代码在电脑中实现,看到程序运行的结果,那份成就感和满足会不断转化为继续学习的动力。

写在最后

作为《青少年 Python 编程课,周年小结》的完结篇,我想特别感谢多年来支持和信任我的学生与家长。这些年里,看到许多同学通过学习找到自己的兴趣,并最终进入大学、走上专业的道路,我感到无比欣喜和感慨。同学们在实现自己理想的同时,也在帮助老师实现理想。