这个问题很真诚,对于每个爸爸妈妈在自己不熟悉的领域又想引导孩子的都会有类似的思考或困惑。
对我个人来说,解决困惑的方法,不是把“编程教育”都外包给他人,而是我先和孩子一起学。如果我们做父母都不清楚“编程”会对自己的孩子成长起什么作用,又怎能确信把钱和时间花在了刀刃上。虽然我是计算机专业毕业,做过程序员,但是对幼儿编程也是有了孩子之后才有的深入了解。
今天我从编程是什么,要不要学习编程,怎么学,要不要为了竞赛去学C++,父母怎么参与几个方面梳理下,希望能给到你一些启发。
有时我喜欢去Ted看看一些大师的演讲或者专业的书籍,看看作为他们是怎么看待这个问题的。
幼儿编程之父Mitch Resnick曾经在Ted上做过一个演讲“Learn to code, code to learn”,作为MIT媒体实验室教授,创建风靡全球的可视化编程软件"Scratch",分享了他自己有趣的母亲节故事。
在他的演讲中,反复提到的一点是:编程就是孩子一种表达自我的方式,表达他的思想,并与我们家长和他的朋友交流。
名人宣传,未来需要,思维,创造力的提升等等,对于孩子来说就可以理解为一种“新的书写语言”,这个语言还挺有趣的,圣诞节的时候可以自己制作一个动画发给他的小伙伴,圣诞快乐!
我们知道,孩子用手搭积木孩子学会了稳定和坚固,用画画学会了混合不同的颜色,更重要的是学会了创作的过程,通过不断的探索和实验,表达了自我和世界。
那么编程呢?也可以理解为一种书写能力,一种新的语言,和积木,画画一样,帮助孩子把想法表达出来,并能与身边人交流他的想法。
《揭秘农场》中有个小故事,天亮了,农场主开着拖拉机带领奶牛要去牛棚挤奶,怎么走呢?孩子移动鼠标,拖拉机跟着鼠标走,奶牛跟着拖拉机.....通过十几块的积木块编程,孩子自己就能创作一个农场奶牛挤奶的路线小故事,一会儿看到拖拉机移除屏幕外,一会儿说奶牛转晕了,自己咯咯咯的傻笑。
我们很多人家里有的Smart Games的小红帽桌游,也特别受孩子喜欢。摆放大树,挑选关卡,然后利用拼板,创建连接小红帽到房子的路径。吉吉特别喜欢和我计时比赛。
那么在儿童编程世界中,也有同样的故事。通过上,下,左,右的箭头,帮助小松鼠找到榛子,注意有裂纹的冰块不能走啊。
看,第一张地图中,只需要拖动3个箭头积木块就帮助松鼠顺利找到榛子;第二张地图中,我们选择了先下后右,结果落水啦。
是不是和小红帽很像?只不过是搬到了电脑上来玩。
这是孩子眼中的编程,有故事的语言。不是一项枯燥的技能,也不是复杂的算法,只是作为数字时代新的书写工具,可以让他们轻松访问到更加开放的媒体,包括图片、音乐和动画,关键是孩子也可以灵活创作故事并随时和他们的朋友分享。就像你我通过网络、朋友圈分享好吃的,好玩的一样。
孩子在学习编程的时候,可以创造故事,动画和游戏,通过这种方法,他们可以把想法表达出来并与世界分享。
孩子在学习编程的时候,也是在学一种语言。不是一种技能学习,而是培养理性思维,进而发现理解问题,解决问题的能力。进而让他们发现自己有能力在这个世界上创造东西。
每个孩子都需要表达自己。多数孩子长大后都不会成为程序员或者计算机专家,但任何背景的孩子都能在学习编程过程中受益。
Scratchjr也就是Scratch junior,建议是5+就可以了,我们可以先观察自己的孩子兴趣和发展情况,不能一概而论。
或许有些读者会问,这其中不需要数学、逻辑等等知识吗?要知道,在这个阶段我们需要的不是培养一个计算机专业人才,不需要知道什么是二进制,什么是cpu、内存,你不需要懂得那些高效的算法,只需要一些孩子已经具备的逻辑顺序、情节描绘,就可以实现出一个真实可用的程序,而数学、逻辑等能力在这个过程中也会自然而然的成长,所以完全没有必要担心。虽说未来是程序的时代,但要说能真的走上程序员这条路的人,恐怕还是少数。
这个问题比较大,这里简单的说一下,在孩子5岁以前,可以玩一些培养逻辑和顺序理解的游戏,例如Code Karts和Lightbot,这就是一些游戏而已,孩子可以很快上手,在这个过程中强化一些基础能力
在5-8岁这个阶段可以开始体验基础的积木编程,也就是用图像拖拽、排序的方式来实现动画效果,难度由简到难,同时结果所见即所得,可以很大程度的提升孩子的积极性。在这个阶段,我建议父母和孩子同时学习,一方面,孩子缺乏阅读能力,需要你帮助他,二方面父母可以引导孩子进行思考和创作,三方面亲子共同的工程,对孩子而言是一个天然的动力。
9岁之后可以考虑孩子自主学习了,这个阶段,从技术上来说可能还是积木。这个阶段,孩子所接触的世界已经大大的增加,通过编程的创作所带来的收益会逐渐放大和显现。
5、6年级,可以接触一些语言级的编程了,我个人会比较推荐python,语义简单,没有特别复杂的范式,表达力强,不是特别推荐Java或者C或者C++,因为用这样的语言,你会把很大的精力放在语言本身,而减少了你想表达的内容,你要说编程技能?还不到磨练这个的时候。顺便吐个槽C++17标准都已经发布快两年了,这根本就是和c完全不同的一门语言,真不明白为什么国内很多一提到还是c/c++。
很多人对少儿编程是从机器人编程了解的,更准确的说是从Lego乐高的机器人编程开始的。这些年,乐高培训如火如荼,很多爸妈都知道,孩子学习乐高可以培养想象力、空间结构能力、动手能力,在孩子5,6岁开始学习乐高机器人,并且涉及一些编程基础。
简单来说,少儿编程可以制作动画,制作APP,让机器动起来等等,就如下图所展示的,编程都可以实现。
那么编程机器人呢,主要是让通过编程让机器动起来,比如让车跑起来,加速减速,让机器人挥动臂膀抓,放等等,是通过编程实现机器人这个硬件载体活动起来的,实现我们想做的事。
那么孩子怎么选?我觉得最主要的还是看孩子的兴趣点。
比如孩子喜欢搭乐高,4,5岁对机械的比如齿轮,轴承,梁等感兴趣,那么可以给孩子玩些机械的乐高,慢慢,孩子还想让这些乐高物体动起来,那么就可以尝试Wedo的简单编程,逐渐的通过过度到编程。
机器人编程关注让搭建机械按照目标动起来,以及实现机械的智能运动,同时需要搭建的动手能力。比如孩子感兴趣,可以继续玩Vex, Fable等,这时利用ROBOTC等较为有名的编程软件进行编程,逻辑参照C语言,不在像乐高机器人等有自带编程软件,属于模块化编程,无需代码排列。也会过渡到编程。
如果孩子都这些乐高搭建,机械都没什么兴趣,比如对画画,厨艺,过家家,农场等感兴趣,那么你就可以慢慢的和孩子一起学习Scratch, 过年了,和孩子一起制作个拜年动画,喜欢农场小动物的,给动物换装,挤奶,开着拖拉机耕地。编程作为一种新的表达方式,和画画,搭积木一样, 通过编程实现孩子的创意。
在没有接触编程时,孩子5,6岁对机械感兴趣的话,可以从简单机械开始入手,包括齿轮,轴承等等,慢慢的扩展到Wedo编程。
编程和编程机器人都是你中有我,我中有你的,随着学习的深入,编程机器人也会需要python, C等编程去实现机器人的工作。比如像下面的VEX比赛。
VEX系列比赛的各种模式与FLL非常相似。就像FIRST系列都是和乐高合作,用乐高来比赛一样。VEX也有自己专用的VEX机器人。并且,VEX的机器人对孩子的机械要求更高。编程语言也不同,VEX机器人利用ROBOTC等较为有名的编程软件进行编程,逻辑参照C语言,而乐高机器人有自带编程软件,属于模块化编程,无需代码排列,简单易上手。
首先以C/C++作为小学的编程语言来学习是非常不合适,这个语言的设计初衷是相当直接的操作底层的数据内存等等,他的表达层次过低,而给你掌控的又太多,所以它是很难掌握的语言,反正我上大学的时候,1学期的C语言,1学期的C++表达的数据结构和算法学完,一年下来一个班能顺利独立完成作业的也就20、30%,如果以CSP-S第二轮的标准来说,估计能答对1题以上的更是凤毛麟角。相信大家也都听说过windows和linux经常爆出各种高危漏洞,不好意思,这当中绝大多数是C或C++写的,而这些基本也算是程序员中的精英写的。
其次,以竞赛而言,小学就投入大量的精力没有意义,竞赛考核的内容以数学和数据结构为主,说白了就是用编程去解决数学问题,所以就竞赛而言,唯一的出路就是刷题,听课解决的是共性问题,然后去刷不同层次的真题、模拟题。跟数学、物理竞赛没什么区别,甚至于还不如数学物理,毕竟你不竞赛也得学数学物理等等。但孩子在小学阶段中更重要的是培养学习兴趣,自主学习能力、创造力、以及统筹解决问题的能力,为了竞赛算是舍本逐末吧。真正的竞赛发力应该是初中毕业的暑假和高中,如果这真的是你想要的结果的话。。。
无论是自己在家和孩子一起学,还是送到外面的培训班找“专业”的老师去学,道理都是相同的。
核心都是将现实世界的事物与动手做活动相结合,放手让孩子们去发现解决问题的方法和实践。
这是Lego FLL大赛的2019主题:和我们一起去月球生活吧!需要探索思考,动手创造,然后分享给身边的人。
探索
创造并测试
分享
其实无论是否参赛,我们在家里玩的时候也可以参考上面的流程,开始设计一个孩子感兴趣的主题,恐龙啊,然后一起探讨恐龙生活的时代,吃的食物,地球地貌等,然后搭建并让孩子说出来。
家长想了解的可以上这两个网站学习:
MIT麻省理工的Scratch实验室: https:// scratch.mit.edu/
这里面有学习资源,有自己创造项目,也可以看到其他人的作品。
另外一个是: Code.org
这是一个非盈利性组织由Hadi Partovi兄弟 创建网,学习资源非常的丰富,家长还能在上面看到孩子的学习进度。谷歌,微软等公司也在上面发起了编程一小时的活动。
想和孩子一起学习Scratch的也可以看看DK的书。
更多阅读:
宝宝学编程,在给孩子报个班之前,你需要学的更多
儿童编程,你需要了解的,从理念到实践——5岁娃的15年微软程序员爸爸的感悟
4张图说清积木,画画,桌游和儿童编程
想了解更多也请关注我的微信公众号:大树和棉花,想和我直接互动的话请加我的微信:撒哈拉saharay9 .透过STEAM, 儿童编程,国际教育的分享,希望能够带给大家一些启发和思考。