真是让人感受到人工智能有多么神奇!
看展途中,同去的朋友对我说,自己一直觉得未来人工智能是大趋势,所以正在让孩子学编程。可是,他看孩子学的编程都只是用一款叫Scratch的软件拖来拖去,做做简单的动画和游戏,和他想象的“高大上”编程实在大相径庭!
其实,我遇到的很多家长都这么想:报了编程课,学了Scratch,但实在觉得这玩意儿也太“不高级”了吧。这样的“编程”,真的有用吗?
壹
Scratch真的“不高级”吗?
大错特错!
看真正的程序员们经常用到的编程语言,都是一行行“不明觉厉”的代码:
而目前大部分小朋友们在学的编程界面都是这样的——花花绿绿色彩斑斓,一个个图标看着还有点萌萌的:
再看程序员们可以用C、python、Java实现谷歌人工智能展上各种酷炫的功能,而用Scratch通常也就是做点简简单单的小游戏、小动画……这会给很多不了解编程的人一种错觉:写代码的才是正经的“编程”,Scratch这种编程语言,不过是给小孩子玩玩的玩具罢了。
孩子学的编程,真的“不高级”吗?
这个问题对于不了解计算机程序的人来说可能有点难,没关系,我们来看一个大家都懂的例子:
你1岁半的娃看到对面有辆小车子,会跟你说“车车”,你能懂他的意思吗?显然是可以的。当然,我们大人说话,用“车”就行了。
“车车”和“车”之间,有“高级”和“不高级”之分吗?
单从语言的功能来讲,两者是没有区别的。
因为我们使用语言是为了互相传递信息,让对方了解自己的想法。因此,只要能让对方听“懂”,所有的语言是一样的。如果硬要说“车”比“车车”更高级,是因为“车”相对来说表达效率比较高,更好用。
回到刚才计算机语言的问题上,大家都知道,计算机比较蠢,人类直接跟它讲话是听不懂的,所以才发明了编程语言来跟它“沟通”。只要能听得懂,使用哪种编程语言,都是一样的。
最初的编程语言,由于技术所限,比较难懂难学。但随着科技发展,编程语言也变得更接近人的思考和表达方式了——也就是说,那些越来越“说人话”,因此看上去显得“不高级”的编程语言,其实是真正的“高级语言”,因为它们更简便、有效率。
甚至可以说,没有太多语法限制,易于编写的Scratch,相当于简便有效的“车”,而看上去高深莫测的C语言才是那个“车车”。
所以,Scratch绝对不是孩子玩过家家的工具,它是一门“高级”的编程语言。
到目前,这款由麻省理工学院(MIT)设计开发的少儿编程工具已经拥有40多种语言的操作界面,在超过150个国家里被使用。在它的官方网站上,你可以看到将近上千万的粉丝们正在上传作品。
贰
学到了计算机语言中的“道”
将来流行什么都轻松上手
明确了Scratch不是玩具之后,可能有人会说,好吧,既然Scratch是一门“高级语言”,那为什么专业程序员不用呢?或者换一种说法,学编程还不是最终要学C、python、java这些语言吗?
这个问题可以用一句话来回答:“假如孩子现在脚是36码,长大了总归要到40码的,那么你会直接让他穿40码的鞋吗?”
具体解释,可以分三点:
1
哪种语言流行也是要看潮流的
语言的更新换代是很快的。互联网刚刚兴起的时候,做网站最赚钱,为了编网站大家都在学Java、C#;现在大数据和人工智能成了主流,大家又开始学python……这就好比前两年大家都在看甄嬛传,最近又都在刷如懿传和延禧攻略一样。明年又会流行什么新剧?20年以后又会用什么编程语言?谁也不知道。
2
学到编程语言的“道”,将来流行什么都不在话下!
虽说编程语言的未来无法预测,但你可能会发现,真正的编程达人,都能同时掌握好几门语言。他们是怎么做到的呢?
首先,他们确实愿意花时间,其次,各种语言中,必然存在着“共通性”。
比如,我家娃妈在尝试了很久、糟蹋了N多面粉、终于学会做最基本的蛋糕后,很快就学会了做海绵蛋糕、戚风蛋糕、巧克力蛋糕……“术”虽不同,但“道”却始终没变。
学编程语言,最重要的其实也是其中的“道”——语言本身的元素和逻辑结构。
比如,我们平时会说“下雨的话带把伞”。这话其实是“如果天下雨,那就带把伞”的省略版本,它本身带有一个逻辑判断:天下雨→带伞。
在不同的编程语言里,只要表达清楚这个逻辑判断,那么结果都一样。
下图的4种语言虽然不同,但都表达清楚了这个逻辑判断,掌握了“道”,剩下的就都是细节了。
所以说,语言语法是“术”,用哪种都无所谓,但能不能把编程玩好,关键还是能不能把你的意思结构化、逻辑化。把这个“道”学会了,换哪种语言学习,都是换汤不换药的。
3
孩子用scratch入门,更能掌握编程的“道”
对于小年龄的孩子来说,要想让他们对一件事产生兴趣,最好的方法是不要把事情弄得太复杂。nainaitea.com
比如说,我想让女儿通过下棋来锻炼思维,于是教她国际象棋,可我家娃资质平平,国际象棋对她来说规则比较复杂,于是很快就不耐烦了。但有一天她却说要跟我下围棋,我很纳闷,没人教过她,她怎么会?原来是幼儿园里有小朋友学过,教了她。围棋的规则简单易上手,只要学会一两条规则就能开始下了。但就是这简单的规则,在棋盘上也可以演变出很多门道,小家伙觉得好玩就在这里。
学编程,也是同一个道理。
直接让孩子学程序员用的那些程序,因为其中涉及大量的语法,英文符号。万一错了还要花很大的精力删除重新输入,对于孩子来说就三个字——太麻烦!!如果编程=麻烦,那又谈何培养兴趣呢?
从刚才的图中大家也可以看到,4种表达方式中,估计只有最右边的Scratch才是你愿意去看的吧。这种形象生动的方法,让孩子可以抛开琐碎的“术”的成分,用更方便的方式践行自己的“道”。
叁
小孩子学编程
一定要“玩”出来!
现在随便看一篇关于编程的文章,都会看到下面这些词句:
“人工智能时代,再不学编程,就要跟计算机抢饭碗了”
“未来智能时代,学会编程意味着拿到了高薪职位”
其实对这些话,我是非常反感的。
学编程就为了混口饭吃?未免太小看编程了吧!
编程能用来干什么?我不知道,我也不想知道,这样才给了编程以无限可能。
换句话说,世界上能用编程做的事儿,实在太多了,多到很多事儿我们大人都还没想明白。
而小学阶段的孩子,思维还没有形成那么多定势,想象力天马行空,他们的世界有太多的未知,为什么要把他们框在我们的已知之中呢?
学编程,还是让孩子像学习那些最重要的能力——走路、语言、探究能力、创造力……一样,在“玩”当中学习吧。
下面,我要向大家介绍一个从小就很会“玩”的人:
4岁
学爱迪生孵鸡蛋
6岁
因为听了爸爸说吃饭是为了补充能量,又在另外一个场合里听爸爸说电里面就带有能量,于是大脑里“天才地”将两个不想干的信息联系起来,拿着铜导线去捅插座给自己“充能”
8岁
总觉得自己是外星人,正好又自学了一点RC振荡器之类的无线电知识,于是开始自制天线联系外星人
真不是一般的会玩啊!而他最终“玩”出了这样的成果——
大学
参加远在上海的 Intel 杯全国嵌入式设计大赛,每天和队友一起睡在实验室,连过年也没回家,付出了超乎常人的努力之后,整个团队一举夺得大赛亚太区第一名。
留学
去德国留学后,开始了自己人生中的第一次创业:创建 EUMLab,并开发出一款享誉全球的节拍器软件 Pro Metronome,App 连续五年获得苹果推荐,上过三星电视广告,帮助了全球3000万用户学习音乐,并籍此实现了个人的财务自由。
这位有20年编程龄,能熟练使用多达十几种不同编程语言的人,就是“西瓜创客”的创始人肖恩老师。
▲肖恩老师
如今,他还想带着更多的孩子跟他一起“玩”Scratch!
西瓜创客,是针对7-12岁儿童设计的线上编程课程。课程采用线上录播课的模式,由肖恩老师亲自录制每一个视频。除此以外,西瓜创客还有以下几个特点:
1
采用著名的PDCA方法保证课程质量
PDCA是是美国著名质量管理专家E•戴明博士提出的,又叫“戴明环”。它包括管理、执行、检查、调整(Plan、Do、Check、Adjust)4个环节,可以让教研团队知道一堂课实际的效果究竟如何,从而方便他们做出难度上的调整。而且这样的循环不只一次,而是每节课要调整17次!
每次迭代,都需要10个教研团队成员每个人连续工作80小时以上、7天以上的周期,也就是说,孩子学习视频的每1分钟背后都凝结着教研团队的将近400分钟的心血。匠心打磨保证课程好品质。
2
背后的“学霸团队”
西瓜创客的课程研发团队来自国内外各大名校,在专业性上有保障:
而作为录播课,西瓜配备了专业的助教老师,这些助教老师全部来自985、211国内名校,每天手动批改作业,一对一辅导,给孩子最专业最用心的辅导。
3
学习状况实时同步,家长省心
▼重现孩子学习状况,何处暂停,何处反复观看,一比一复刻学习状况,才能有效解决疑难问题。
▼作业点评实时同步,随时掌握孩子学习动向。