最新消息:

少儿编程scratch毕业后,该学什么?

Python 少儿编程 2349浏览 0评论

最近有些家长问我,小孩已经10岁多了,scratch该学的也都会了,后面该继续学什么呢?

 

确实,scratch做为一门计算机编程启蒙课程,其主要任务是向少年儿童打开一扇门,而当孩子们窥探到门后的世界后,就是时候考虑下一步的事情了。

如果这个时候,孩子们仍有兴趣想继续学习计算机编程,备选的几种编程语言大致有,C, java, python, js这些工业级语言。所谓的工业级语言指的是这些语言目前都已经被用于大规模工业化生产中,简单说就是现在的大的软件公司,google,facebook,腾讯百度阿里等都在自己的产品中使用这些语言,它们已经经受了许多年实际使用的检验,同时自身也在经历不停的改进和迭代,已经非常成熟了。

 

下面简单介绍下这几种语言:

C语言,是这些语言中最古老的语言了, 于1972年诞生,是一门非常接近机器底层的语言。现在的操作系统如 windows, MacOs, Linux等都是用C开发的。 其接近机器底层的特性决定了C是一门很需要严谨的语言,因为稍有错误就是崩溃(还记得当年windows的蓝屏死机么?)。C语言的这些特点决定了,C绝不是一门容易驾驭的语言,是那种需要经过好几年时间的磨练,然后才敢颤颤巍巍在简历中写上自己“精通C语言”的一门语言。

 

所以,强烈不建议少儿学习C语言作为入门编程语言!!!

 

java语言,java语言相比较c来说多了许多灵活性,面向对象,也没有C那样地底层,可以用来构建大型系统,对了,android手机上的程序都是用java开发的。

 

python语言,是我非常喜欢的一种语言,精简,有成熟的各种周边支持。有各种人工智能,机器学习,数学统计分析,爬虫等支持,借助这些支持,写一个简单的人脸识别程序,也就是10行不到的代码。python语言有一种“草稿纸”式的语言特性,不要求语言的使用者要那样地遵守某种严谨的规则,而是像草稿纸一样可以让使用者随心所欲写写画画,完成自己要解决的问题。语言是为了使用者的思路而服务的,而不是人需要跟着语言的思路走。

 

Js 语言,js语言是谷歌公司发扬光大的,其特性和python差不多,动态,灵活,高效,丰富的周边支持,只是其更多应用于网页技术中,在科学计算,机器学习,人工智能等方面的支持没有python丰富。

所以,综上,我会推荐给那些学习完scratch的孩子学习python。比如用python写个爬虫抓取淘宝的一篮子生活必须品的平均价格,持续关注,这样可以自己计算通货膨胀指数。

 

或者用python写个简单的人脸识别程序等,写一个手机App,只能用自己的人脸识别启动,然后在这个应用里写自己的日记之类的东西。 等等许多好玩的东西。

 

可能有些家长会问,不是应该学习一些算法知识什么的么?

真不需要,所谓的算法知识数据结构多是一些链表,图,二叉树,红黑树,排序,路径计算等,相信我,没有人会在刚开始学编程时就会对这些枯燥的东西感兴趣的,这些知识可以毫不夸张地成为“编程兴趣杀手”,基本学个两三节课后,你就不想学习编程了。也许孩子没有能力反抗家长所安排的课程,但是谁也阻止不了他在内心中认为“编程太枯燥,太无聊了”。

 

就像初学习吉他并不需要学习五线谱和基础音乐理论一样,只要知道一首歌怎么弹,怎么唱,就可以欢快地唱了,不用纠结太多。而等到弹唱都已经是小菜一碟的时候,想自己写歌谱曲了,想成为大师了,那时候可以去学习五线谱,音乐理论,这时候有丰富的实际经验,那些音乐理论就有经验可以依托可以落地了,否则无实践基础上的理论,无异于空中阁楼。

 

等上面说的各种知其然的知识,已经不能满足强烈的求知欲的时候,就是去学习各种“知其所以然”的时候了,就是去学习五线谱学习理论学习算法,学习底层计算机系统知识的时候,去弄清这一切为什么是这个样子的,网络到底是什么,信息是怎样从一台计算机到另一个人的手机中去的,为啥计算机能认出我的脸来,等等等等,有无数个为什么在闹钟盘旋,想弄清楚的时候,孩子们才会有勇气面对稍显枯燥的底层知识,才能勇敢去克服,(其实成人也是一样)。

 

这方面我有一个切身的经验,大学时我非常不想学高等数学,线性代数,微积分之类的课程,并且真是搞不懂那些枯燥的玩意,那些枯燥的天书一样的符号到底是要用来干嘛的,一个大数到底能不能分解成两个素数之和,和我到底有啥关系,能分解咋的,不能分解又咋的,微积分积出来怎样,积不出来又怎么样,是不是所有人都疯了,一定要学这些没用的玩意,用来是干啥的。所以,我就尽力把这些课程分数维持在及格线上,真是多考一分都觉得是浪费。

 

而当工作许多年后,在我想深入学习密码学时,才知道这里面需要那么多的数论知识,当我想学习人工智能时,里面又都是线性代数,概率,统计理论等高等数学。 我去,感觉就好像被谁欺骗了一样,我就不明白,当年为啥不能先让我学密码学,学人工智能呢,也好让我先接触这么有意思的学科,然后然后有动力去为此而学习底层数学知识呢,就不能理论实践同步向前走么?

 

小吐个槽,这也是我推荐孩子们先学习python后如果有兴趣再学习C的原因。

 

 

始发于微信公众号:
编程之星

您必须 登录 才能发表评论!