孩子学完了Scratch,再学什么?

网友投稿 2019-09-19 14:10

经常有些小朋友的家长来信问蔡老师,我的孩子学习完了所有的Scratch教程之后,仍然很有兴趣,想继续学习编程,应该怎样进步呢?我想这是很多家长的一个困惑,今天我们就来讨论一下这个话题。

https://cdn.china-scratch.com/timg/190921/141050A13-0.jpg

(图片源自网络)

一、Scratch的优点:视觉化设计

首先,我们要理解Scratch本身作为一个编程平台的优点和局限性。注意,我这把它称为一个编程平台,而不是一门编程语言。因为它除了拥有编程语言本身的功能之外,还附带了图片、角色、音效库和背景库。同时,Scratch开发团队还添加了不少扩展功能,譬如连接摄像头以及翻译、朗读等模块。Scratch最大的优点是视觉化程式设计,换句话说,就是用非常形象的乐高积木式的砖块替代传统编程语言中的代码。这样,孩子的接受程度很高,拼搭起来也避免了很多错误。但要我来说,Scratch成功成为全球编程启蒙首选的另外一个特性,是运行代码后,它的结果立即就能在舞台上以最直观的形式显示出来。譬如说,我用几块积木,做了让小黄猫从舞台下方移到上方,那我只要运行一下,就马上能知道我拼的代码是否正确。
https://cdn.china-scratch.com/timg/190921/1410502033-1.jpg(图片源自蔡老师的Scratch教程)

二、早年的启蒙语言:BASIC

Scratch跟我在小学时,学习BASIC语言的时候区别实在是太大了。在90年代的时候,国内也是出现了很多编程课外班,但是直接编写出带有图像和动画的程序在那个年代对于成人来讲都不是一件容易的事情。所以我们写的大部分程序都是通过控制台输出一些文字结果,比如这样:
https://cdn.china-scratch.com/timg/190921/1410505T9-2.jpg 这是一个经典的猜数字游戏。这个程序运行时,电脑会随机“记住”一个1-100之间的数值,每次用户输入一个猜测的数字,电脑会告诉你刚刚输入的数字是太小了,还是太大了。这个过程一直反复,直到猜中为止。这种游戏挺好玩,即使没有图形界面,只用文字来做游戏也没有任何的违和感。但更多的情况,我们会在控制台里练习各种字符串的操作,做各种数学运算,或者画一些不是那么有趣的“文字图”(ASCII art):https://cdn.china-scratch.com/timg/190921/1410514450-3.jpg这些就相对不是那么有趣了。特别是玩了一阵子之后。所以,综合来说,Scratch的视觉化设计,作为编程启蒙,远远超过了我以前学习的BASIC

三、Scratch的局限性

习惯告诉我们,如果某件事物在一些方面特别好用,那么它在别的地方就会有一些短板。Scratch也是如此,它的积木很好用,但也很占空间,如果要用积木来做一件复杂的事,就不是那么舒服了。譬如说,如果我要用Scratch在舞台上画一个可以自由旋转的3D正方体,即使用上了自制积木,也得拼一大堆密密麻麻的代码https://cdn.china-scratch.com/timg/190921/1410511106-4.gif

以下就是一种解法。但即使用到了自制积木,也需要大概拼接100多块积木。这并不是一件容易的事。

https://cdn.china-scratch.com/timg/190921/1410522323-5.jpg


一旦积木太多,屏幕就放不下了。大家还记得在我的Scratch教程里,到了高级篇后,代码就已经有点复杂了。有些重要的角色,它的整个代码面板都无法放下全部的积木,需要用鼠标上下滑动才能浏览全部。
这就是为什么真正的计算机语言,比如C++、java和Python,都不是视觉化语言。因为在现实生活中,有用的程序往往是挺复杂的。如果不用简练的文字来编写的话,简直是无法浏览和修改的

四、学完Scratch后学什么

我花了一大堆时间,讲了Scratch的优点和局限性。现在又回到文章标题要问的问题了。那到底学完Scratch后要再学什么?答案其实已经出现过了。就是应该学习一门真正的计算机语言了,这里首推Python。选择Python的理由有很多:
  • Python已经问世20多年了,拥有了巨大的用户群体
  • 相较其余的语言,Python比较容易学习。因为它的很多语法更接近自然语言
  • Python在工业界有越来越多的应用:在大数据,人工智能,网站以及电影后期制作都占有举足轻重的地位。
  • Python已经被有些媒体评为世界第一流行的计算机语言,成功把java拉下了王座。这在一定程度上说明了Python的受欢迎程度。
https://cdn.china-scratch.com/timg/190921/141052C06-6.jpg

五、孩子怎么学习Python?


那如何学习Python呢?虽然Python在网络上有数不清的资源,但这些都太零散。而且绝大多数都是十分枯燥地从基础讲起,从变量、运算符、字符串到条件语句,到函数,最后再讲类和面向对象程序设计。从基础讲起并不是一个坏主意,但对于孩子来说,就不太合适了。毕竟,孩子的集中力没有成人高。如果花了几十个小时,仍然没有讲到能吸引孩子的部分,一直在控制台里打印字符,那估计大多数孩子会打退堂鼓。我认为,教孩子学Python,得和成人的教法不太一样。得先从好玩的项目着手。这样,才能让孩子在寓教于乐中成长,并且真心喜爱编程。所以,我现在正在准备的Python教程也是如此。每个话题都会以实际项目为出发点,在完成项目的过程中,孩子会自觉地学习到每个知识点,并且有兴趣去拓展。

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com