少儿编程的Scratch是什么?听说phthon和C++更有用?真是这样的么?

admin 发表于 2019-07-25 15:08

今年编程已纳入浙江高考,在重庆编程也已纳入中小学必修课程,这让很多家长已经开始意识到了让孩子学习编程的必要性。

但是,在选择⼊门编程的语⾔时⽐较纠结,相信下面这些疑惑,你肯定也有过:

(1)“scratch的那种拖块看起来像玩游戏,不如 Python、C++ 这样的代码编程语⾔⾼级,对于孩子太简单了。”

(2)"现在是人工智能时代,直接让孩子从Python学习,以后前景更好。"

(3)“让孩子学习C++,以后考个信奥对升学有帮助!”

......

那么,问题来了,最适合的编程语言,真的存在么?别着急,小贝老师一一分析给你听。

https://www.china-scratch.com/Uploads/timg/190725/150P12E5-0.jpg

scratch是什么?

首先,在讨论各种编程语言之前,我们先弄清楚scratch与python、c++的不同。

scratch

首先,我先给大家看看scratch的编程界面截图。

大家是不是觉得很容易理解?你没有学过编程,但是你看到每个模块就知道他的意思了,你不需要去记每个模块的具体语句,具体格式,只需要看到合适的拖拽就可以了。

https://www.china-scratch.com/Uploads/timg/190725/150P12457-1.jpg

比如说我刚才随手编了一个水仙花数的程序,程序的题目是这样的。所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

那么这道题是个很经典的程序题目,他的思路就是三位数的范围是100-999,我们只需要从100开始挨个判断直到999,看是否符合水仙花数的条件就可以了。

我们先来看scratch的程序,大家觉得如何?

https://www.china-scratch.com/Uploads/timg/190725/150P35039-2.jpg

大家觉得如何?是不是虽然你编程可能是外行,但是看这个程序一目了然,完全可以读得懂编程者的思路。

运行起来也是格外的简单,直接点绿旗就好了。

我们来看下运行结果

https://www.china-scratch.com/Uploads/timg/190725/150P3H38-3.jpg

Python

那相同的题目,python是怎样的呢?

https://www.china-scratch.com/Uploads/timg/190725/150P35521-4.jpg

大家看出来区别了吗?python的程序看起来是不是更简单?但是他需要去记住各种语句和格式,这个程序输出是这样的:

https://www.china-scratch.com/Uploads/timg/190725/150P34017-5.jpg

我把程序随便改一下:

https://www.china-scratch.com/Uploads/timg/190725/150P45024-6.jpg

可是他报错了。为什么呢?很简单,print前面忘记空格了。

https://www.china-scratch.com/Uploads/timg/190725/150P5L54-7.jpg

那么C++在格式上要求的更加严格,我们再来看看C++的同款程序:

https://www.china-scratch.com/Uploads/timg/190725/150P53M3-8.jpg

最后运行结果是:

https://www.china-scratch.com/Uploads/timg/190725/150P61C7-9.jpg

可以看出来,C++跟python语句非常相似,但是他的格式要求更高。比如所有的分号都不能忘记,一旦格式有一丁点不对就直接报错。

通过以上分析,我想大家也知道了三者在难易程度上的区别。

https://www.china-scratch.com/Uploads/timg/190725/150PB0c-10.jpg

为什么要让孩子学scratch?

对于一名零基础的孩子来说,培养编程的兴趣很重要,直接上手代码编程不是不可以,只是这样的学习会让孩子觉得枯燥,容易打消他们学习编程的积极性,甚至产生抵触。

如果真的想让孩子学习编程,那么他的学习路径应该是循序渐进的,孩⼦刚开始接触编程时,重要的有 2 点。

⼀是容易上手,让孩⼦能⽤编程做出东西,体会到编程的乐趣,培养孩子对编程的兴趣。

⼆是把精力尽量用在学习编程逻辑上,而不是编程语言的语法上。因为编程逻辑,才是编程的核心,真正锻炼思维的东西,而编程语⾔只是我们为了完成目的使用的⼯具。

而Scratch,就是最适合零基础孩子学习的编程语言。

(1)Scratch特点1:入门容易

Scratch使⽤了图形化的呈现,通过拖拽代码块进⾏编程,过程很像搭建“电⼦积⽊”,对刚接触编程的孩⼦来说,上⼿容易、门槛低。

https://www.china-scratch.com/Uploads/timg/190725/150P62920-11.jpg

(2)Scratch特点2:及时反馈

孩⼦使⽤Scratch时,点击单个代码块,就能看到“移动”、“转向”、“切换造型”等代码效果;通过⼀些简单的操作就能完成⼀个小故事、节⽇贺卡、⼩游戏⼀类的作品。

这能让孩⼦在刚接触编程时,就体会到⾃⼰创造出作品的成就感,获得精神上的⿎励,更容易激起孩子的学习兴趣,有信心迎接后续的挑战。

https://www.china-scratch.com/Uploads/timg/190725/150Q54027-12.jpg

(3)Scratch特点3:避免了代码语法错误

Python和C++之所以让⼈感觉⽐Scratch难,是因为Python/C++的代码语法更繁琐,在完成⼀个相同逻辑难度的作品时,Python/C++⽐起Scratch,需要花费更多的时间在解决语法问题上。

⽽Scratch是⽤拖拽代码块的⽅式来编程的,从根本上就不需要孩⼦去关注拼写错误、标点错误等⽆意义的语法问题,极大减轻了孩子对编程的挫败感,而让他们留有更多时间全⾝⼼专注于理解编程逻辑上,这才是对锻炼思维真正有⽤的部分。

https://www.china-scratch.com/Uploads/timg/190725/150QBC8-13.jpg

(4)Scratch特点4:高上限

有的家长看到Scratch语法简单,就误以为Scratch只能做出简单的作品。其实编程的核⼼是逻辑和算法,编程语⾔只是⼯具,作品的复杂度是由编程逻辑决定的,⽽不是由⼯具决定的。

现在很多热门软件和游戏,虽然它们本身不是⽤Scratch开发的,但同样可以⽤Scratch还原出来,实现相同的效果。

另外,Scratch对于创新的鼓励以及在图像创作、声音编辑和项目混制方面的功能优化,让它在成为各年龄段孩子首选编程语言上变得理所当然。

较之被称为“编程语言”,它更希望被定位为一个绘图工具,一个动画制作工具,或是一个故事与游戏创作工具。

学习了Scratch孩子,更愿意去尝试代码编程,因为他们觉得那意味着长大,只有“真正的编程”才会被行业采纳。

https://www.china-scratch.com/Uploads/timg/190725/150Q64A1-14.jpghttps://www.china-scratch.com/Uploads/timg/190725/150Q612R-15.jpg

零基础的孩子

先从 Scratch 语言开始学起

其实,选择哪种编程语言不是重点,激发孩子的学习兴趣,培养孩子的逻辑思维,掌握编程思想,学会用编程的方式去发现问题和解决问题才是重点。

如果孩子能够熟练掌握编程中变量、条件、循环,还有函数等基本的编程概念,并以一种语言编程成功,这时再用另一种语言来编程就不难了。

转换编程语言虽然不像打个响指那样容易,但只要了解了其他语言的语法就能快速上手,因为编程的核心不在于语法,而是解决问题的思路和方法(算法)。 

因此,我们推荐零基础的孩子,先从 Scratch 语言开始学起

后记,小编朋友研发了一个游戏化的少儿编程在线课程(5-12岁),游戏化教学结合scratch(一款在线少儿编程工具,类似乐高的积木拼搭),我家娃娃学了几次课,非常喜欢(超预期),16次课才200多块钱,对锻炼孩子的思维能力和动手动力很有帮助。

感兴趣的朋友可以扫描二维码,关注一下,或微信搜索“大耳猴少儿编程”

https://www.china-scratch.com/Uploads/Editor/2018-04-22/5adca08bdc212.jpg