要不要让孩子学编程?几岁开始学?.....
其实除了编程语言,编程更需要的是逻辑能力。比如,描述、抽象并归纳问题;比如,把问题分解成能够精确、重复完成的小任务,等等。而这个能力,其实是可以从学龄前就可以开始培养的。
今天的文章从编程的底层逻辑切入,探讨如何带孩子在玩和学中培养编程思维,并按照不同的年龄段推荐了一些编程玩具和网站。文章浅显易懂,深入浅出,非常值得一读。
编程,现代生活的魔法之源
许多小朋友,都有一个魔法梦。在那里,有可爱的精灵,有神奇的魔棒,更有无所不能的魔法师。你是否注意到,现代社会的科技发展已经让这些“魔法”变成了现实?
比如,谷歌的Google Home,苹果的Siri,还有小度、小爱、天猫精灵等各类智能家庭AI,就像一名永不疲倦的魔法管家,为你处理各种个人事务。
手机和移动通信技术的发展,已让我们能够通过一块轻巧的玻璃板获知天下事,还能和千里之外的朋友面谈。
增强现实(AR)和混合现实(MR)技术的普及,更是架起了连接魔法与现实世界的桥梁,挥挥手就能纵览悬浮在空中的文件报表,指指点点,口中念念有词,就完成了一份PPT!
是的,这些都已经是现实了,大人的魔法世界还真是……有点枯燥呢。
著名科幻作家亚瑟·克拉克在1973年就提出过:“在任何一项足够先进的技术和魔法之间,我们无法作出区分。”
可以说,我们现在都活在一个全新的魔法时代,使用着“魔法师”制造的“魔法物品”,见证着一个又一个的奇迹。
而这一切的基础,现代社会的魔法之源,就是由人编写,由计算机执行的各种程序。编写这些程序的过程,也就是俗称的“编程”。
编程很有用,难学吗?
计算机和相关的信息系统已经成为了新一代的公共基础设施,未来的学习、工作和生活中,需要用到编程的地方越来越多。计算机快速而准确的计算能力能够高效地处理许多实际问题,使能够驾驭它的人如虎添翼。
此外,国务院2017年就已印发了《新一代人工智能发展规划》,国内许多省、市都正逐步将编程教育、智能教育纳入中小学的教育体系。如果能够在更轻松、活泼的环境下接触并熟悉编程,也能为未来的升学做好准备。
最后,在个人成长中,编程学习过程带来的分析能力、组织能力、逻辑思考能力的锻炼,也有助于培养孩子动手动脑能力,能为将来系统性地学习科学知识打下良好的思维习惯基础。
也许有的家长看到这里就忍不住开始焦虑:“编程啊,那不是只有那种修电脑的技术宅们才会的?要成天面对一行行密密麻麻的蝌蚪文,这怎么能学得来呀?”
请务必放心,其实编程不是什么高深莫测的天书,它本质上和你在手机上设了个闹钟差不多——也就是给电脑下达了一个命令,让它帮你完成某个特定的任务。
和大多数人的直觉相反,这其中的“编辑器”和“规则”倒是次要的,真正关键的是知道自己应该如何告诉电脑该做什么——也就是学会“编程思维”。
只要掌握了这一点,一切都能触类旁通了。
编程思维又是啥?
电脑能理解的“工作”或“任务”,和人们通常思考的方式不太一样。
对于目前的电脑而言,它最擅长的是直截了当的读取、计算、存储工作,比如打开文件读取信息,按照公式对数字进行计算,将计算结果保存到文件里等等。此外,它还能快速而精确地将某个已知任务重复上许多次。
当然,随着人工智能领域的发展,电脑也逐渐开始拥有处理模糊概念、语义识别甚至一定程度上的预测分析之类的“高级能力”,但这一切归根结底还是建立在精密的数学和逻辑基础之上。
就目前而言,要驾驭我们日常接触到的编程语言,还是需要从这些直截了当的小任务入手。
为了让电脑能够“看懂”,人们将复杂的任务分解、组织成一系列小任务,让电脑运用强大的运算能力快速、多次地完成这些小任务,从而搞定整个复杂任务。
在这一过程中,描述、抽象并归纳问题是根本,把问题分解成能够精确、重复完成的小任务是手段,通过不断寻找、发现、解决问题,最终将看起来困难的工作转换成一系列已知问题,并加以解决。
这种分解、组织,并合理协调的思维方式,就是编程思维。编程思维的核心,就在培养和使用逻辑思维能力。
如何在玩和学中培养编程思维?
编程思维的核心——逻辑思维能力,其实从小就可以培养。
当然,对三岁及以下的婴幼儿来说,要领会这些抽象概念和逻辑思考能力还是太早了点。
利用各种插电、不插电的游戏,锻炼孩子们思考、分析目标问题,分解规划解决方案,排查纠正误差的能力;通过成功解决问题的成就感和获得感,推动他们不断积极探索,培养编程思维。
下面根据个人经验,为不同年龄段的孩子,推荐一些能和家长一起玩的有趣编程游戏、课程。
4-6岁
桌游《机器乌龟》
Robot Turtles
适合年龄:4岁+
机器乌龟是一名计算机工程师设计的益智桌游,他的初衷就是用这套桌游教自家的娃儿学习编程。游戏本身不太复杂,但很能体现编程所需的逻辑思维。
游戏中包括44张写有不同命令的卡片,由主持人(家长)设置棋盘内容,布置关卡,孩子们选择各种命令卡片,控制乌龟在棋盘上行动,穿越障碍,获得宝石。
我个人最喜欢的部分在于,游戏中还有一套特殊的“青蛙卡”,用一张青蛙卡可以代表一套需要重复使用的指令序列,方便在主序列中多次使用同一套指令——这是对编程中“函数”这一重复利用思想的绝妙体现。
桌游《奶酪在哪里》
Mouse Mani
适合年龄:5岁+
这款游戏可以看作是机器乌龟的回合制对战版本。
同样是通过列出指令卡,控制角色(小老鼠)的移动,但每回合能放置的卡片数量是有限的,每个玩家需要投掷骰子,以决定当前回合能放置多少个指令。
游戏中,玩家还能互相给对方设置障碍,或是使用特殊卡片消除别人给自己设置的障碍,通过解决各种意料之外的麻烦,随机应变,才能收集到更多的奶酪。
点灯机器人·幼儿版
Lightbot Jr : Coding Puzzles
适合年龄:4~8岁
这是一款支持iOS和Android平台的免费游戏,有简体中文版。玩家需要在有限的空间内设置各种移动、旋转、跳跃、电灯等指令,控制小机器人把关卡内的地灯全部点亮。
幼儿版的游戏关卡更简单,还有更多介绍和提示。函数和循环功能依旧保留,对于学有余力的孩子,依旧能玩出非常复杂的花样。
KIBO机器人·酷奇编程
适合年龄:4~8岁
KIBO机器人的理论基础来源于麻省理工媒体实验室,后经Marina Umaschi Bers 博士在塔夫茨大学研究“什么样的教育机器人最适合儿童?并提供评估学习成果标准”,参与此项研究的大约有40位早教老师和300名不同班级的儿童。依据研究成果开发出了KIBO,并制定出一套机器人教育教学大纲。
酷奇(CodeKey)编程课程体系是以KIBO为载体,由哈佛大学、麻省理工学院教育学背景的专业团队为国内儿童设计开发的课程。孩子们可以通过组合KIBO套件中的彩色模块来告诉机器人该做什么。每个模块上都有条形码,代表一条相应的指令,使用KIBO自带的激光读取器扫描条形码输入指令,KIBO就能按照指令执行动作。孩子们相互配合组合模块的过程就是学习编程的过程。
👆 KIBO机器人套件
通过提炼科学(Science)、技术(Technology)、工程(Engineering)、艺术(Arts)、数学(Mathematics)五大领域知识,结合儿童认知规律,将课程体系划分为5个level。课程体系呈螺旋式上升,循序渐进,全面促进孩子的逻辑能力、创造力、创新力、探究实践能力、设计思维、沟通能力等十大能力养成。
👆酷奇编程课程体系
不插电、无屏幕,让8岁前幼儿直观的理解“电脑能听懂的语言”(编程思维),并掌握顺序、循环、选择结构。
每堂课都有1个精心设计的主题,并结合主题设计了辅助道具和课堂活动,比如地图、积木、剪纸等。在教学过程中,通过动画引入主题、教师讲解分析、学生动脑思考、动手探索的方式,让孩子们和老师一起对课程主题进行积极的探索与互动,来激发孩子们的学习潜能和学习热情。
9岁+
《不插电的计算机科学》
适合年龄:9岁+
这是一本开源的计算机书籍,里面含有21个无需用电脑就能玩的编程活动。分成六大部分,介绍了计算机科学方面的基本原理、概念,甚至一些著名的算法等,让大人和小孩都能边玩边学。
Scratch
适合年龄:8~16岁
Scratch是麻省理工媒体实验室开发的一套可视化积木式编程平台,完全免费开源,支持MacOS、Windows、Linux系统的电脑,也支持Android平板,有简体中文。
和Scratch Jr类似,你只需要将代表各种变量、循环、控制指令的“积木”拼接在一起,就能控制角色在场景中进行复杂的动作。
和Scratch Jr不同的是,这里你用到的指令积木都能在真实世界的编程语言中找到对应,积木本身也支持复杂的嵌套、判断、触发和参数传递。