专栏名称: 程序员大咖
为程序员提供最优质的博文、最精彩的讨论、最实用的开发资源;提供最新最全的编程学习资料:PHP、Objective-C、Java、Swift、C/C++函数库、.NET Framework类库、J2SE API等等。并不定期奉送各种福利。
目录
相关文章推荐
OSC开源社区  ·  前端年度大事件盘点:尤雨溪成立公司、ECMA ... ·  3 天前  
逸言  ·  项目札记008 | 团队成员的能力培养 ·  昨天  
程序员的那些事  ·  突发!GitLab不再为中国大陆、香港、澳门 ... ·  4 天前  
51好读  ›  专栏  ›  程序员大咖

儿童学编程,教什么语言好?

程序员大咖  · 公众号  · 程序员  · 2017-06-03 19:34

正文

问:我儿子一年级小学生,想教他编程,不知学生么语言好? 


gashero

作为一个用了12年Python,写代码有20年的父亲,我推荐scratch。


我三岁半的儿子每天把他当游戏来玩,抓到iPad后有过一半以上时间在玩scratch。


兴趣是最好的老师是我一直所信奉的。至少从我自己来说,因为一直听课有些费劲,大部分知识都是靠自学,兴趣二字的重要性不言而喻。而scratch,就是个能让我儿子感兴趣的编程语言。我不需要去催促他,甚至不怎么教他,只要在他做出了新奇的动画后表示赞赏就够了。让他主动去学习,这不是花多少钱能获得的。


王颢

我仔细看了一下上面的回复,很多都是不负责的。上来就说学习C语言、C++、HTML、Python之类的语言。


其实吧,回答问题也要用心,不能敷衍了事。问题说了是1年级,也就七八岁不是,这个时候其实好奇心最强,也没有畏难思想。并且,大多数孩子的英语词汇量是不够的。上来就学习这些纯代码的语言,无疑会磨灭孩子的兴趣。


从年龄上区分,比如4-6岁左右,我推荐ScratchJr,这个是幼儿版的Scratch。积木式编程,没有任何单词或者汉字,专为学龄前的小朋友设计。苹果的iPad可以在AppStore中搜索ScratchJr,自行安装。安卓的话找我要,这个需要翻墙下载的。


稍微大一些的小朋友,比如7-12岁左右,可以学习电脑版的Scratch,也是积木式编程。别看功能简单,跟代码式的语言相比,变量、链表、函数、循环、判断,一样也没有少。因为这个年龄的小朋友主要学习编程思维,不是用一大堆编译错误阻碍他们学习。


当然再大一些,比如10岁以上,可以学学乐高的EV3或者NXT机器人,毕竟让机器人动起来,孩子会非常兴奋的。这个时候,如何英语也不错的话,可以考虑学学Python,有了Scratch的编程基础,学习起来还是很快上手的。


可能大家会问到,你是谁呀,这么懂?其实吧,我就是一个嵌入式工程师,跟软硬件打交道比较多,在自己的微信公众号谢谢文章。顺便有一群妈妈粉丝,当然了,也分享儿童编程的视频给大家。


我小时候特别喜欢科学小实验,所以呢,就分享一些简单有趣的科学小实验给大家,坚持一年了。现在呢,长时间坐着脖子疼。偶尔逛逛知乎,休闲休闲。知乎上大牛比较多,想交交朋友。


如果你是家长,想陪着孩子做做实验、学学编程,可以加我微信7572320,当然了,还可以关注我的博客:http://www.iwanghao.net 最近我的小猫编程学习群里,有个8岁的小朋友。自从学习scratch编程,天天嘴里都挂着x/y坐标什么的,而且还教他妈妈学习编程,特别有意思。虽然我的课程后面有作业,但是不强求交作业,想学就学,凭着自己的兴趣来,顺其自然就行。


写累了,休息去,记得点赞哦!么么哒


王滨

一年级不小了,我2年级的时候就可以写简单的批处理了,小孩子聪明着呢。

可以学学LOGO,或者这个,图形化的编程。


Scratch - Imagine, Program, 


Share或者干脆让他学易语言得了,我的真正的编程入门是从易语言开始的。大概小学4年级。


当然如果孩子没兴趣就算了。我当初是自己学的,爹妈没逼着。


爹妈要是逼着估计我就不学了……


那位说学单片机的,你把1年级生当作初中生以上了。  


直接学这些东西需要了解的细节太多,很容易让小孩子畏惧。


比如,写汇编,这么多指令,没有英语功底,只能死记。


C语言,首先要语法搞定,学了半天没有产出,只有各种莫名其妙的错误,靠大人翻译编译器的说明,这是绝对不行的!这样一点乐趣都没有!


另外请尽量不要干涉,领进门以后就让他自己玩。


不要设奖励什么的,不要总在旁边指导,来一句“不会问我”就行了。


不然很容易就会变成“为了得奖励给你玩”的,这样外部激励一消失,就不会再有动力了。


湛兮

scratch,可以让孩子快速找到成就感,先写控制台程序的话,孩子可能过几天就没兴趣了。其实感觉scratch之类的都只是工具,都是拖拖拖来写程序,为了让孩子有亲自上手写代码的感觉(大雾),您应该试试(前方防不胜防)FriceEngine也是可以的,(链接待补充),一个很棒的jvm游戏框架(引擎),也有其他的语言版本,Perl,Ruby,Racket应有尽有,来自超级女装大佬ass1000的制作。详情在gayhub上搜索icela。


sting

过早学工业级编程语言是个大坑,因为工业级语言的使用场景跟孩子们入门启蒙完全不同。


什么是好的入门级儿童编程语言?我认为是:


1)孩子能轻松学会,入门简单。

2)容易完成作品,错误少,成就感强;

3)有能玩得开心的应用场景。比如,机器人和乐高教育虽然不是编程,但是勉强符合前三点特征,所以有很多家长愿意花钱,因为孩子玩得开心。


我强烈推荐Scratch编程。


如果是幼儿园的孩子,建议从http://Code.org上的练习开始,了解编程的基本概念,在玩中学习逻辑、循环等。


Scratch在学的过程中,可以从模仿和改编开始。找到Scratch官网上的好的动画和游戏,改改看,再试试原创。


由于很多Scratch作品都需要加声音和动画,就需要对图片进行处理,那么孩子们也顺便学会PhotoShop的简单操作。


除此之外,还可以学了一些网站相关的技术,比如内容编辑、HTML,JS等,自己找个Wordpress部署一下,稍微编辑下就能做一个孩子自己的个人网站。很有成就感。


大一点了,可以根据项目需求来找一些工业级的编程语言,我推荐Python编程。


10个最佳实践建议


1)用http://code.org入门。5岁-8岁的孩子,可以先尝试下http://code.org上面的一些非常基础的关卡,联系完成二十个关卡,就基本上对最初级的编程的概念(顺序、循环、条件)非常了解了。


2)自学Scratch。如果在http://code.org上的任务都基本上玩过了,那就可以开始学习下Scratch。Scratch初期完全可以自学。家长也可以一起来自学。


3)家长经常去设立一些小目标,让孩子既能够做到,但是又稍许有点挑战,通过这样的小目标的设定,让他们不断的能够自我驱动学习。


4)家长高质量陪伴。有时候需要家长,在孩子旁边进行陪伴,给他提供一些非常具体的建议,才能改进自己的作品,他会觉得非常满意,而且成长也很快。虽然这些建议并不需要在代码上面,家教很懂,而是在可玩性上面,在视觉方面,在互动性方面给出些建议就好,这些即便不是学计算机的家长也同样能够得出。


5)教学相长。孩子如果掌握了一些Scratch或python编程技能,可以教大人或其他小朋友来学编程,这样更能刺激他掌握更多学习的基础知识。比如妈妈可以很好学地让孩子教。


6)让孩子多跟其他编程的孩子交流。孩子们学了以后也需要找其他孩子一起交流,甚至竞争比较,利用孩子们的好胜心,可以促进自主学习。


7)多参观体验科技应用。越早接触到一些实际的科技化应用。越能让孩子们领会到科技的魅力,而不断去探究其原理,积极尝试。


8)参加科技创新大赛。各地区都有这类比赛,通过参加这些比赛,跟其他孩子同台比较,也能及时看到自己的能力和进步,如果能获奖,则在升学教育体制中也获得了很好的筹码,在上海的话,会在名校自招名额方面有体现,同等成绩下,被录取优势更大。


9)多去参加专门的科技夏令营。国外有不少专业的科技夏令营,特别是美国很多,有条件的家长可以让孩子去参加。如果不能参加,至少要会科学上网,看一些在youtube上的各类视频,了解国外孩子们的教育模式和科技水平。


10)跟孩子一起探讨,设立一个长远目标。比如,做最棒的游戏工程师,做一个天才的人工智能等。把眼前的学习跟这个目标关联,并进行计划分解。虽然实现还很渺茫,但是这个梦想会激励他一直坚持。


可以参考我这篇文章:从《20几岁凭什么改变世界:扎克伯格传》看儿童计算机教育 


我在知乎上有个Live:知乎 Live - 教孩子编程,从玩游戏到编游戏,专门讲一些具体的实践,欢迎来参加。


最后,兴趣是最好的老师,儿童学编程最重要的培养兴趣而不是增加负担。


来自: 知乎

链接:https://www.zhihu.com/question/19705160

程序员大咖整理发布,转载请联系作者授权。


↙点击“阅读原文”,加入 

『程序员共读』