← StudyX Devlog

日本小学的编程教育学什么:与中国信息科技课对照

Hiroki ObaraHiroki Obara · DeveloperMath Gates使用指南
日本小学的编程教育学什么:与中国信息科技课对照

日本的小学编程教育,是从2020学年度全面实施的学习指导要领开始的。听到“必修化”,容易以为新设了一门叫“编程”的科目,其实并不是这样。课表上并没有多出“编程课”,编程是在算数、理科、综合学习时间等已有的科目里进行的。

那么,学校里实际在做什么呢?这篇文章根据学习指导要领原文和文部科学省的《小学校编程教育指南(第三版)》(2020年2月,日文),整理了它的内容,并和中国的信息科技课程作一个对照。“计算思维”这个词的意思,我写在什么是计算思维:解谜游戏能培养什么里,这里以学校做什么为中心。

学习指导要领怎么写

日本《小学校学习指导要领(2017年告示)》(日文)的总则里,在各科目要根据其特点有计划地开展的学习活动中,有这样一句:

让儿童在体验编程的同时,掌握让计算机执行自己意图的处理所需要的逻辑思维能力的学习活动

关键是“在体验的同时”。要求的不是把编程当作知识来教,而是实际去做。要掌握的是“逻辑思维能力”,而不是编程技能。

三个目标

指南把小学编程教育的目标大致归纳为三个。

  1. 培养“编程思维”(日本的说法,相当于计算思维中的一部分)
  2. 让孩子意识到程序的作用和好处,以及信息社会是由计算机等信息技术支撑的,并培养善用计算机解决身边问题、建设更好社会的态度
  3. 在科目中进行时,让这个科目的学习更加扎实

指南接着明确写道:孩子在过程中自然学会编程语言、掌握编程技能是可能的,但这本身并不是目标。

关于第二个目标,指南有一段很好懂的说明。现在的孩子几乎每天都在用计算机,但它的原理已经“黑箱化”了。所以要通过体验让孩子意识到:计算机是靠程序运行的,程序是人写的,计算机有擅长的事,也有不太能做的事。

课例

学习指导要领里写了两个在科目中进行编程的例子。

算数,五年级:正多边形。 画正多边形,需要准确地重复“前进同样的长度,转同样的角度”。而且只要改变重复的次数或转的角度,就能用同样的方法画出别的正多边形。在“准确重复”和“改一部分就变成别的图形”的场景里使用编程。

理科,六年级:电的利用。 学习身边有很多利用电的性质和作用的工具。在思考装置如何按照给定的条件工作、改变条件后动作会怎样变化的场景里使用编程。指南的课例是:做一个用人体感应传感器控制发光二极管亮灭的电路,再通过程序改变传感器响应的条件。

综合学习时间里,也要求把编程体验放进探究的过程中。

指南还举了学习指导要领中没有列出的科目的例子:音乐课组合节奏型来创作音乐,社会课用组合都道府县特征的程序找出47个都道府县,家政课思考电饭煲里内置的程序,等等。

指南把这些学习活动分为A到F六类。A是在学习指导要领列举的单元中进行的,B是没有列举但在科目内容的教学中进行的,C是在课程内、科目之外进行的,D是社团活动等面向特定儿童的,E和F在学校课程之外。哪个年级做多少,由各学校决定。

用什么来学

指南提到,像搭积木一样组合指令的“可视化编程语言”已经很普及,小学生很快就能学会基本用法。指南里的课例也是以这类语言为前提写的。

也有不用计算机培养编程思维的活动。不过指南同时写道,学习指导要领要求儿童体验编程,所以在整个编程教育中几乎不用计算机,是不理想的。

与中国的信息科技课对照

中国走的是另一条路。教育部2022年印发的义务教育课程方案和课程标准,自2022年秋季学期起执行(教育部通知)。其中把信息科技从综合实践活动课程中独立出来,按《义务教育信息科技课程标准(2022年版)》,3到8年级单独开设课程。第三学段(5到6年级)的内容模块是“身边的算法”“过程与控制”,课标里也写到要了解算法的顺序、分支和循环三种基本控制结构。

日本小学阶段对编程知识的要求要轻得多。指南引用专家会议的总结,列出了各学段要掌握的知识和技能:

  • 小学:意识到身边的生活中在使用计算机,以及解决问题需要必要的步骤
  • 初中:理解计算机在社会中的作用和影响,能编写简单的程序
  • 高中:科学地理解计算机的工作原理,能用计算机解决实际问题

小学被定位为“意识到”的阶段。算法的思路和计算机的原理,放在初中和高中学习。

在家可以做什么

学校的课,各校差别很大。如果在家里补一点什么,我认为有两件事最重要。

一是把步骤说出来的游戏。按顺序写出做菜的步骤,或者只用语言给人指路。行不通的时候,一起找出在哪里卡住了,再改过来。这就是把指南说的“把想要的动作看成一个个动作的组合,并不断改进”,直接搬到厨房或门口来做。

二是留意家里“靠程序运转的东西”。除了指南家政课例子里的电饭煲,空调的定时、洗衣机、红绿灯,身边按条件和步骤运转的东西有很多。只要问一句“你觉得它是按什么步骤运转的”,就能连到第二个目标的“意识到”。

关于 Math Gates

Math Gates 是我做的一款回路解谜游戏。在盘面的空格里放上改变数值的“门”和让路线转90度的“镜子”,然后按“运行”,带着数字的比特就会沿直线前进。终点的出口只接收满足条件的值。

和学校的课相比,Math Gates 代替不了可视化编程语言。它不是让孩子做自己想做的东西的工具,目标属于题目。它能提供的,是在短时间里反复练习按顺序组合动作、运行前预测结果、找出失败的原因并修正。每放一个棋子,结果就会用虚线画在盘面上;失败时会带着原因停下来,比如撞到了墙,或者带着门不让通过的值。最后的“逻辑电路”里,还会出现 NOT、AND、OR 逻辑门。

一共7个世界140道题,面向8岁以上。可以免费玩,过关之间会有广告,一次性购买可以去除广告。Math Gates 和 Scratch 等其他选择的区别,写在 Math Gates 与其他选择的比较里。

据我理解,日本小学的编程教育不是为了培养程序员,而是为了让孩子意识到计算机是按人写的步骤运转的,并体验组合步骤、修正步骤的过程。这样一想,在家里能做的事其实也不少。

在 App Store 下载