“计算思维”是信息技术学科的核心素养之一,它是21世纪高素质人才的必备素养。美国卡梅隆大学计算机科学系主任周以真 (Jeannette M.Wing)教授认为:计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。当前最新最热门的高科技大部分都是借助于计算思维发展起来的,比如人工神经网络、深度学习、人工智能、语音识别、机器人技术……所以我们很有必要从小学开始就进行计算思维的渗透学习。
计算思维的学习建立在人理解计算机运行方式的基础上,学会运用这样的方法对数据进行一系列的映射,从而得到我们想要的结果。但它的学习过程并不一定要用到计算机,为此笔者开设了主题为 “不开机学习计算思维”的兴趣课程,让学生不用计算机也能学到高深的计算机知识。以下是一些相关的做法:
计算思维是一个新鲜概念,2006年3月周以真教授首次提出这一概念,它也是计算机科学高度发展的必然结果。笔者认为 “二进制” “程序思维” “递归思想” “数据映射”是它的核心,为此编写了校本教材 《小学计算思维教程》,该教程一共有26课,目录如下:
第一课:从卡片到二进制数;第二课:不同的二进制数;第三课:二进制数的特点;第四课:十进制数转为二进制;第五课:读心小魔术;第六课:用二进制表示字母;第七课:用其他方法表示二进制;第八课:用二进制表示图像;第九课:压缩文字信息;第十课:奇偶校验 (1);第十一课:奇偶校验 (2);第十二课:哈希校验;第十三课:信息的多少;第十四课:决策树;第十五课:线性搜索;第十六课:二分搜索;第十七课:哈希搜索;第十八课:选择排序;第十九课:插入排序和冒泡排序;第二十课:快速排序;第二十一课:归并排序;第二十二课:并行排序;第二十三课:网络;第二十四课:路由与死锁;第二十五课:处理输入;第二十六课:使用FAS处理输入。
按这个教程切实开展教学,就能让学生进入奇妙的信息技术科学殿堂,理解计算机的工作原理。学生学会的不仅仅是计算机知识,还有相应的思维方法和思考技巧,这将对学生的未来产生极大的影响。
笔者尽量使用儿童化的语言来描述计算机世界,比如在二进制学习的第一课作如下描述:
当前,所有电子计算机的数据都是以二进制的形式来储存和传输的。如果我们可以钻进计算机内部,就会看到下面这样的图形。理解了二进制数的工作原理也就意味着理解了计算机是怎样处理信息的,计算机的神秘面纱也将会被揭开。
很神奇吧,计算机中全部信息都只用两个数值来表示:0和1。0和1在计算机内存中以晶体管的开、关来表示 (“开”代表1,“关”代表0,或者相反也可以)。
是不是觉得二进制一下子变得简单了呢?
虽然笔者在教材上做了很多努力,但难以掩盖计算思维非常抽象的事实。因此,在每节课上都使用游戏教学法,设计精妙的活动让学生参加,让他们在活动中感受到计算思维的真谛。
1.在二进制学习中我们使用卡片来开展活动:
材料:准备下图五张卡片:
问题:①如果在左边增加一张卡片,要画几个圆点?②如果再增加一张卡片,要画几个圆点?……
2.在学习用声音传送二进制信息中我们设计了这样的活动:
首先要和小伙伴确定声音表示的含义 (如 “吧”表示1,“布”表示0),然后明确你们传送的是什么信息,是怎样编码的,最后你们就可以用 “唱”的方式来传达信息了。当然,你不用像计算机那样高速地“唱”出这些声音,你可以慢慢地、以听得清的速度来表达。
问题:用 “唱”的方法传送数字89。
3.在学习排序时,我们使用了下面这些材料来模拟计算机的运行方式:
①托盘天平或自制玩具天平 (如下图);
②8个自制的物体,最好大小一样。
活动:
在天平的帮助下,一次比较两个物体,依次找出最重的物体,从而实现从高到低的排列。
这样的活动每节课都有安排,目的就是让学生“有效”地感受计算思维的核心思想。
游戏教学的效果非常好,学生参与热情高涨,但如果就此认为他们学会了这个知识,那就大错特错。知识的内化需要学生主动建构,只有开动脑筋积极思考,知识点才会在他们的大脑中建构并和原有知识产生联结,这样才算他真正学会了。笔者认为提出问题让学生思考并回答是知识内化的最好途径,问题要设在他们的最近发展区,要问得有深度、有开放性。列举笔者设计的几个问题:
1.比如在二进制中有:
光盘利用光学原理来储存比特,此时可以用碟片表面反光或不反光来表示0或1。下面的CD碟片上存储了6位二进制,如果吸收光表示0,反射光表示1,则下图代表二进制多少?
(学生对二进制有了更多认识,同时也了解了光盘的存储原理)
2.比如在压缩文字信息中有:
(通过思考如何把压缩信息还原,可以帮助学生更好地理解游程压缩算法)
3.在二分搜索中有:
①你一共几次猜中对手的秘密战舰?和上节课的成绩相比有进步吗?是什么原因让你进步了?
②同学们最快用了几次猜中秘密战舰,最差的又是几次呢?
③你是怎样用二分查找的办法来搜索秘密战舰的?
④如果秘密战舰不在队列中会发生什么情况?要猜多少次才能发现?
⑤如果有100张卡片,要猜多少次才一定能赢得游戏?
(二分搜索操作起来并不难,难点是理解它的速度为什么会这么快。通过回答上述问题,学生可以将这个知识点内化)
每节课都需要学生全力开动脑筋思考,他们的大脑就像装了水泵一样,不断吸收着高深的计算思维知识。
在教学过程中,笔者发现有些内容使用微课视频的方式教学,效果会更好。这些内容最好以动画的形式呈现,需要学生多次学习。当前 “互联网+”技术的发展让这一切都轻易实现,只需在合适的地方放上二维码,学生扫一扫就可以随时随地学习。
比如在 “读心小魔术”一课上,我们就特意制作了视频,从 “算命”这个情境导入,吸引学生思考为什么他能猜到我的想法,然后讲解其中的原理,最后带领学生制作这样的魔术卡片。
又如在 “并行排序”一课上,我们也录制了视频,首先在桌上用游戏棋来演示玩法,然后在操场上实地来玩,最后讲解其中的原理。
视频贵精不贵多,无需为每节课录制,在需要的地方放上即可。它让我们乘上 “互联网+”的东风,快速航行在计算思维的大海上。
计算思维作为信息技术的核心素养,它的重要性与日俱增。在培养计算思维的道路上,笔者作了一些尝试,取得了一定效果。将计算思维作为一个单独的课程,以兴趣课的形式开展教学,学生学得开心、学得扎实。计算思维是一个广义的概念,更需要教师集思广益,在长期的教学实践中不断探索、补充。