导读
Hello大家好,我是新人作者添饭小猪猪,今天想分享一下对Scratch编程平台的一些理解。年,我在大学的一场讲座上初次接触Scratch这款编程软件,—年教学期间也曾尝试教授Scratch课程,算是有一定的教学实践基础吧。我的初衷就是让学生们逐渐喜欢上计算机科学,逐步养成编程思维。
当然,刚刚踏入工作岗位的我教学经验还是不足,教学方法还有待改进,上个信息技术课和讲数学似的。这也成为了我更换工作岗位两年多以来内心深处的遗憾吧——没有教授更好的知识给我的学生们。
以上算是关于我个人履历以及思想变化的一个简单说明吧!剩下的篇幅我准备回归今天的正体,用我自己的语言,主要想讲述一下我对Scratch这款软件的看法和理解,如有不当之处还请各位海涵,批评指正。
Scratch是个啥?
首先我本人将“Scratch”这个词儿读作“思可ruai吃”。
根据百度百科的解释,Scratch是“麻省理工学院开发的一款简易图形化编程工具”。
通俗来说,Scratch就是一款在电脑上安装的软件,和我们平时用的WPS、安全卫士等软件一模一样,下载后安装在电脑上即可使用。但是它们的功能各有不同:WPS可以帮助我进行本次文章的编辑;安全卫士可以帮助我清除电脑内部的垃圾文件。而Scratch同样也有自己的功能,那它能干啥捏?
Scratch能干啥?
首先我来展示几个我自己制作的Scratch作品。
在上面这个案例中,二维空间里有一个可以朝着任意方向做匀速直线运动的球,它在碰到墙体的时候会改变运动方向,我需要通过左右移动鼠标控制屏幕中间那块木板左右移动,接住这个球,让它不会落到地上。如果球落到地上,那么就会显示我的任务失败。
可能聪明的读者已经有所察觉,这不就是个简单的游戏嘛!别急,我们再看下面这个案例。
上面这个案例讲述的是这样一个故事——添饭小猪猪的好朋友恰饭小猴子总是吃不饱,于是上帝决定给予小猴子一个能吃饱的机会!在这个区域内,小猴子只能左右平行移动,天上会随机得掉落香蕉和炸弹;如果小猴子能够抓到香蕉,那么就阔以把它吃掉,想吃多少吃多少;但是天上是不会白白掉馅饼的!小猴子每吃掉5个香蕉,之后香蕉下降的速度就会加快;如果香蕉掉到了地上,那么小猴子就会因为暴殄天物而遭到惩罚,任务失败!同理,如果小猴子碰到了炸弹,那么同样也会因任务失败终止整个过程。
看到这里,大家应该就明白了,这不就是制作游戏嘛!没错,其实Scratch就是这样一款软件,它可以通过最最最简单的方法,实现我们的各种天马行空的想象,制作我们想设计的各类动画、游戏等等。就好像刚才展示的这两款游戏,制作出来的总耗时大约超不过三分钟。当然一些复杂的游戏,类似空战、格斗、消消乐等等,它都是可以通过编程制作的。
《是男人就坚持十秒钟》小游戏《空战游戏(jianyiban)》图形化编程
一说到“编程”,可能绝大多数小伙伴就会退缩了。“我不会编程,怎么实现我想设计的作品呢?”这可能就是Scrtach比较强力的一点了。Scratch的编程被称为图形化编程。兴许这款软件的背后运行着令人眼花缭乱的代码,但是它所展现给使用者的,是这样一个一个的积木块儿,就好像下面展示的这样。
假如,我想让一个魔法师说“变成小猪!”这句话,只需要把“说**”这个积木从库里面拖拽出来,然后把要说的内容填在上面,这个魔法师就会说出我们填写好的这句话。这就是最简单的Scratch编程实现。
我也胡乱总结一下:Scratch可以通过图形化编程的方法,设计我们想要的各种程序;而图形化编程就是指将程序“积木化”,只通过堆叠积木就可以实现顺序、选择、循环等各种编程操作。
为什么要用Scratch?
在这里我要插一句,Scratch的面向对象主要是0-14岁的青少年,如果你已经超过了这个岁数,请不要打我。但就我个人而言,我认为Scratch适用于各个年龄阶段。
我记得美国斯坦福大学的教育学院网站上曾经有一篇文章叫《Learningtocodeisnotenough》,谈论的就是培养“编程思维”的重要性。编程思维并不意味着要当程序员,它指的是我们在日常生活中解决问题的理性思考活动。比如,我准备在上班的时间摸鱼,那么我就要理性地判断什么时间段摸鱼是安全的,什么时间是危险的,这在我脑海中有一个判别标准,而这种判断的思路就是编程思维的一种体验;然后我还需要重复不停的判断,观察领导的车位是不是空的,直到领导车位为空才可以停止观察,这也是编程思维的一种体验。总之,编程思维存在于我们生活的方方面面。
所以,培养编程思维固然重要,那么Scratch就成为了我们培养编程思维很好的工具。我这里并不是给Scratch做广告,如果你找到了其他的培养方式或者工具也可以。Scratch可以根据我们的逻辑编写我们想要的程序,从而逐步培养我们的编程能力,反馈到我们的日常生活中,让我们生活也更加有条理,有逻辑。当然,这款软件对成年人的帮助可能并不是很大,但是像我这样每天总是心存“幻想”的人,有时会突然想到,小时候曾经想设计一款棋牌,设计一款游戏,但没有实现。于是这个时候我会拿出Scratch。
版本问题
Scratch的版本也经历了很多的更新,从最开始的1.4到我开始使用的2.0,再到后面我也没有用过的3.0等版本。如今在国内很多风靡一时的模块化编程平台几乎都是Scratch的衍生版本。年我有幸接触到一款3D模块化编程平台,名字记不起来了,是将Scratch和Unity相互融合的产物,也算是技术的一项革新吧!今后会继续和大家分享我关于Scratch的一些理解,使用的平台就以我最熟悉的2.0平台为主,希望大家多多支持。
最后,感谢能坚持看到最后的读者,谢谢!