分享

不插电的编程课 之 玩转二进制

 遁地的蜘猪侠 2018-01-20

让六岁的孩子学懂、运用二进制,并没有想象中的容易。

这课我们是这么上的。

课程目标

1. 理解进制、数学符号的概念。

2. 理解人类为什么在生活中使用十进制。

3. 学会用二进制表示任何一个整数。

4. 以图片显示、存储为例,理解为什么要使用二进制。

课程工具

卡纸、彩笔、二进制谜题纸、磁性白板、吸铁石、白板笔

课程时长

90 ~ 120分钟

课程设计思路

六岁的孩子抽象思维的能力有限。

为了给他们讲清楚二进制,我们要先从十进制入手。

在深入讨论“数位”、“符号”的概念后,

我们可以将阿拉伯数字符号与其代表的数量意义抽离开来,

再建立新的进制体系,并让孩子创造自己的符号系统来表示“二进制”,

最后,再过渡到用“0”和“1”来表示二进制。

接着,我们用一个二进制的谜题游戏,让孩子理解二进制在计算机科学中的运用,

以及我们为什么要学习二进制。

详细授课流水账

“这节课,我们要一起讨论、研究一个很难的问题。”

打预防针也好,建立挑战也好,我习惯于先给孩子们树立一个目标。

这样可以激发他们的兴趣,收紧他们的注意力,课程结束时,也会给他们更大的成就感。

“但是所有的难题,都是从一个特别简单的问题开始的。”

我在白板上写下阿拉伯数字“1”。

这是什么?

它表示了什么?

为什么它就代表“1”?

“1”又是什么意思?

我不断的抛出问题,目的是让孩子思考:

白板上的这道竖线,只是一个符号。

它本身和数量“1”的数学概念,其实是有区别的。

接着我在 1 的后面又写了阿拉伯数字“2”,孩子们立刻喊出了数字“十二”。

我又在 2 的后面写下数字“3”,“一百二十三!”孩子们仍然毫不犹豫的喊出这个三位数。

那么我的问题又来了。

为什么数字“1”代表的意义发生了变化?

为什么把三个数字摆在一起,我们会马上把它们理解为一个三位数?

这个三位数所代表的数量关系,究竟是怎样计算出来的?

一连串刨根问底的问题,让孩子对看似理所当然的事情,重新琢磨开来。

经过又一番讨论,孩子们对“数位”的概念已经渐渐清晰,并且也发现了数位之间的“10倍”递增关系。

到这儿,老师才可以把“十进制”这个术语搬出来。孩子们也真的明白其中的含义。

接下来的是更多更“silly”的问题。

为什么是“10”进制?

为什么不是“8”进制或者“12”进制?

其实这些问题,科学界也并没有一个标准答案。

一种说法是“因为我们人类有10个指头”,比较容易理解和接受;

还有一种说法是源于阿拉伯数字的流传和普及;

孩子们的答案更会是千奇百怪。

尽情讨论,尽情想象,没有对错。

在孩子的热情被充分调动起来后,我们可以开始正式进入二进制了。

“我们今天就来试一试,不用十进制来表示数量,我们换一种进制!

具体要怎么做呢?我们一起来玩一个纸牌游戏吧!”

老师给每个孩子发五张白纸卡和彩笔,带着他们在纸上画下如下的圆圈。

从右边第一张的一个圆圈开始画。

每画完一张,可以让孩子推断一下,下一张应该画几个圆圈。

很快他们就会发现,这是2倍的进位关系。

画完、摆好之后,我们就可以公布游戏规则了。

“我们就用这些卡纸来表达数字!

每个圆圈代表一个单位数量,

需要用到的卡纸,我们就把卡纸面朝上;

不需要用的卡纸,就面朝下扣过来。”

比如数字“3”,我们就这样表达:

又比如“23”,我们可以酱紫表达:

我会问孩子们:

这5张卡纸,能够表达的最小的数是多少?

能够表达的最大的数又是多少?

孩子一算就明白,是0到31.

我开始不断的给出数字,孩子们很快就能熟练的用翻纸牌的方式,来表达数字。

到这里,孩子实际上已经会用二进制来表达数字了,

但是他们的小脑袋里还没有把“二进制”概念和“翻纸牌”行为联系起来。

这个时候,老师不能急于求成,着急用“1”和“0”代表卡纸正反面,

否则会让大部分孩子立刻糊涂。

最好的做法是先用勾和叉来代表正反面,练几遍;

再用方块和三角来代表正反面,再练几遍;

接着让他们设计自己的符号系统,用自己设计的两个符号来表达所有的数字。

孩子们有用男和女的,有用鸟和鱼的,有用太阳月亮的……

你会发现他们的世界比我们成人的要瑰丽斑斓的多。

玩的差不多了,老师可以再次开始引导了。

“是不是用任何一套符号,我们都可以表达所有数字啊?

那这就有一个问题了,每个人都用自己的一套符号,别人看不懂怎么办呢?”

“大家用一套通用的符号就都能看懂了!”孩子马上就想到解决方案。

“那么现在,全世界的数学家、科学家们都在用、都看得懂、又最方便的符号系统是什么呢?”

“是0和1!”很多时候,孩子自己就会找到答案。

“没错!我们就用0和1这两个符号,来表示卡片的正反面!来表示数字!”

接下来,我带着学生再把刚才玩过的数字,都用0和1的符号系统,再表达一遍。

孩子们非常顺畅的、没有理解障碍的,用起了真正的二进制系统!

而且是真正理解了符号、进制的含义。

但是还有一个非常重要的概念没有涉及:

我们为什么要用二进制?

为了解决这个疑问,我引入了下一个游戏:

Binary Puzzle

游戏很简单。

给孩子10X10的方格阵,每一行给出两个数字。

孩子把数字转换成五位的二进制,依次填在方格内。

但是不是填写数字,而是涂满(1)或空着(0)。

涂完所有的数字,就完成了一幅像素图案!

这是全课孩子最 happy 的部分,他们迫切的想知道,完成的图案是什么。

要多准备一些 Puzzle 给他们啊。:)

涂完之后,还要和孩子们一起讨论:

“我们把二进制数字转换成了图案,那我们是不是也可以反过来,

把图案转换成二进制数字?

其实在我们的手机中、电脑里,我们的照片,就是以这样的一串串的二进制数字储存的!

我们的电脑,就是通过处理这样一串串的二进制数字,来处理所有的文件、执行各种任务的!

为了学好电脑知识,我们当然要玩转二进制喽!”


关于《不插电的编程课》系列课程

《玩转二进制》是清华大学终身学习实验室《不插电的编程课》系列课程中的一节。

此系列课程面向刚刚步入小学的一年级学生,旨在用最简单的工具(摆脱电脑等复杂、昂贵的教具的限制),游戏化的学习方法,教孩子学习计算机科学知识。

鸣谢

本课设计过程中,得到了 TULLL研究主管、清华大学心理学系副教授伍珍老师的大力帮助。

她在建立儿童自信心、成长型思维,培养儿童创造力方面,给出了诸多建议。

在此特别鸣谢。


©2016-2020 張飛 保留所有权利。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多