少儿编程几岁开始学(小孩从几岁开始学编程)
看点 近年来,培养孩子编程素养的话题越来越受到关注。卡内基梅隆大学教授认为它是每个人的基本技能,与阅读、写作和数学同等重要。斯坦福大学不仅强调编程的重要性,还提出重在培养编程思维。编程思维到底是什么?可以通过哪些途径培养?资深“码农”逃妈介绍了她的经验。
注:本文经授权转载自公众号“东西儿童教育”(ID:eastwest_edu)。
文 | 逃妈 编辑丨闻琛
说到编程,我再熟悉不过了,逃妈我本科和研究生读的都是计算机专业,算上后来工作的那些年,可是当了将近20年的“程序猿”啊。不过咱们那会儿的“编程”至少是高中以后的事,可完全不像现在这样,已经大摇大摆地走进了小学、幼儿园。
儿童编程这几年在美国不能仅仅用“热”来形容,之前奥巴马还在各个编程大会中狠狠地倡导推动了一把,现在已经不用再推了,因为它基本上就像阅读、数学一样,成为孩子的一门必修基础学科。很多比较好的学区从小学低年级,甚至学前班开始就开设编程课,各种课后兴趣班、编程俱乐部也非常火爆。就在我写这篇文章的时候,还正好看到小区邻居在朋友圈里贴了她家儿子今天上编程课的照片:
另一朋友前几天也分享了和孩子在家玩编程桌游的场景:
展开全文
有同学可能会纳闷,为何编程对孩子这么重要呢?我可不想孩子以后当“码农”,甚至可能都不会读理工科啊,那还用得着学编程吗?
儿童编程为啥火?
这得从2006年,卡内基梅隆大学的Jeannette Marie Wing教授所提出的“人人都需要培养编程思维”说起。她认为,编程思维是每个人的基本技能,不该仅属于计算机科学家,在阅读、写作和数学之外,我们应当将编程思维加到每个孩子的培养能力之中。
2013年,斯坦福大学教育学院网站上的一篇文章“Learning to code isn't enough”(“只学写代码是不够的”)再次强调了儿童学习编程的重要性,不仅仅是要学写代码,更重要的是培养编程思维。
那究竟什么是编程思维呢?
其实它跟我们平时所说的“批判性思维”、“逻辑思维”类似,都是指人脑的某种理性思考活动。但它远比这些思维的含义宽广,编写一个计算机程序,跟做一道菜,完成一个项目,管理一家公司,甚至于治理一个国家,本质上都具有相同的目标——就是要解决问题。编程过程培养的思维林林总总,比如:
A - 框架设计思维
A - 框架设计思维
写一个软件,需要先做设计,搭架构;写一段程序,也需要有个大体框架,这种高屋建瓴统筹规划全局的思维几乎在任何的学习、工作项目中都要用到;
B - 大问题拆解思维
B - 大问题拆解思维
一个复杂的问题,看起来千头万绪没有思路,编程者需要把它拆解成一个个简单的问题,再逐个击破。这跟我们生活中很多事情是类似的,比如孩子策划一个生日派对,听起来是个很庞大的任务,但只需要“拆解”细分,比如分成确定邀请多少客人,买些什么食品,派对上些什么节目……这样就好办了。
C - 函数思维
C - 函数思维
编程者通常会把那些将会被重复使用到的运算过程先编写并储存为函数,需要时就直接调用,根据调用的场景、前提条件不同相应地改动输入参数即可,不用每次都重新编写。我们平时工作、生活中经常会用的模版,其实就是应用了“函数思维“,需要时直接拿出来用就好,不用每次都从头开始,“白手起家”。
其他还有很多,比如抽象、循环、并发……我就不一一列举了,总之,最重要的,具有编程思维的人,能够将一个问题清晰具体地描述出来,并且通过收集、分析数据来理解和思考问题,并将问题的解决方案表示为一个信息处理的流程。简单说,培养孩子的编程思维就是培养他理解问题、找出解决问题路径的能力。
说得再远一些,良好的编程思维在我们未来的“人际”交往沟通中也相当重要。
首先,程序是一系列告诉机器做什么、怎么做的指令,可以说是我们和机器之间的沟通语言。在不久的将来,我们和机器打交道的情况会越来越多,甚至,人和机器的“界限”也会越来越模糊。
不知道大家有没有留意到最近的一则新闻,特斯拉电动车的创始人Elon Musk马斯克跟合伙人正在研究一种叫做“神经织网”的技术(Neural Lace Technology),它将通过电极植入大脑的方式,让人们可以随时随地与电脑链接并上传下载任何信息。
想象下人工智能AI和类似这种技术成熟后,咱们可能根本都搞不清隔壁老王,或者同事小赵究竟是纯人类,还是机器人,还是植入了什么电极、芯片的“半人半机器”生物。而在相互的交流沟通中,良好的编程思维能让我们更加清楚对方的表达和接收方式,知己知彼。
可别觉得玄乎,相信这一天不会太久,想当年我们读大学的时候还是每周末排着队等IC电话打给家里呢,现在大家甚至连电话功能都很少用了。我对科学技术革新的速度还是充满信心的。
总之,无论是把握当下,还是放眼未来,孩子们的编程思维培养都非常重要,它完全有理由成为一门必修课程。
编程思维怎么培养?
不用说,最简单直接的方法就是——学编程,比如逃妈我当年学写的第一个C#程序是这样子的:
不过,用来教孩子编程的画风可不能这么晦涩枯燥。在美国,儿童编程已经是一个成熟的教育产业,很多大公司都出品了非常有趣好玩、适合低龄孩子学习编程的工具和游戏,很容易入手,我给大家列一列。
编程工具
1 - ScratchJr
1 - ScratchJr
适合年龄:2-5岁
由美国麻省理工学院媒体实验室开发,完全免费的ScratchJr是一款有故事书一样翻页设计的编程工具,程序指令很简单,界面卡通可爱,它还在2014年推出了iPad版本,使用起来非常方便,很吸引低龄孩子。
2 - Scratch
2 - Scratch
适合年龄:6-10岁
ScratchJr的进阶版,美国这边不少学前班的编程课就是学习Scratch,孩子可以通过拖拉方块的方式学写程序,不同种类的方块有不同功能,孩子就像玩拼图、积木一样玩中学,也逐渐开始了解循环、判断等编程语言的基本功能。
3 - Code.org
3 - Code.org
适合年龄:6+岁
Code.org的名气很大,获得众多科技巨头及奥巴马的支持和推荐,曾发起全球超过2亿人参与的“编程一小时”(Hour of Code)活动。它和Scratch类似,也是通过拖拉方块的方式学写程序。比较有特色的是,Code.org里还有很多和动画片相关的角色可选,比如《星球大战》、《冰雪奇缘》等,孩子很喜欢。
编程桌游
我个人认为,如果是从来没有接触过编程或者刚刚开始启蒙入门的低龄孩子,可以先从一些编程桌游开始,它们的好处是,既能学习编程的基本概念,也不用老盯着电脑屏幕看。另外,桌游很适合空闲时间和爸爸妈妈围坐着一起玩,孩子兴趣会更浓。以下两款是逃逃玩过,也特别喜欢的编程桌游,推荐给大家。
1 - 编程乌龟 Robot Turtles
1 - 编程乌龟 Robot Turtles
适合年龄:3-6岁
编程乌龟的玩法很简单:先将珠宝卡放在中心位置,再把冰城堡、木城堡、木箱子随意放置在地图上。孩子要做的是,根据乌龟所在的位置,和中间每次出一张的行动指令卡,用前进、左拐或者右拐等方法,最后移到珠宝处就算胜利。中间还会有些障碍,比如如果乌龟面临冰城堡挡住去路时,可以出一张激光卡,将冰城堡融化。这种闯关路径的设计就锻炼了编程解决问题的思维。
2 - 编程大师 Code Master
2 - 编程大师 Code Master
适合年龄:5-12岁
编程大师一开始简单的关卡和编程乌龟的玩法很类似,着重在设计闯关路径。但随着关数往后,会增加条件令牌,逻辑和步骤也越来越复杂。条件令牌类似于编程中的判断条件,如果前面的结果满足判断条件,则通过绿勾路径,如果不满足,则通过红叉路径。
比如Repeat Until的逻辑:
分支逻辑:
随着路径设计越来越复杂,孩子不可能每次都恰好一下就摆对顺序,这时就需要在闯关指南上,不断调整行动令牌的顺序,然后重新行动,直到成功,正好对应编程中的调试和改bug。编程大师的特点是关卡难度跨度挺大,孩子可以玩很久,这款游戏是逃逃5岁生日时一位朋友送的,现在他都9岁了,有时也还要拿出来玩一下。
我曾经的“码农“圈子里,其实有些同学现在都不怎么写程序了,比如我自己,码字远比码代码多~但”码农“年代的那些积累,比如目标明确、理性分析利弊、寻找合理解决问题路径等等思维方式,无论做其他什么事情都用得上,我感觉是受益终身的。
上面介绍的这些游戏和编程工具都设计得非常有趣好玩,孩子不会有 “学习”的负担感,在“玩”的过程中,悄悄培养了编程思维。如果都还没玩过,我推荐各位一定要试试,可以从玩桌游开始启蒙,熟悉之后再学电脑、iPad上的编程工具。当然,如果麻麻觉得太“烧脑“,建议粑粑来陪^_^
CodeMonkey少儿编程在线训练营3.0
重装归来
5周集训
首次全200关讲解答疑
限量300名
提前预售
点击下图 立即购买 ▼