最新消息:

【Scratch】它跟Mindstorms,有什么区别?

Scratch 少儿编程 4604浏览 0评论

友情提示:视频教程观看时请手动设置清晰度。

【Scratch】它跟Mindstorms,有什么区别?

第197篇文章


老丁的课程

 

在正式开始这套课程之前,依照老丁的习惯,还是要给大家白话下东西,该怎么学?

 

本节课,来讲讲我对于学习这个软件(包括和EV3配合起来)的一些看法。同时,也给小朋友们一些编程学习规划上的建议。

 

还是那句话!理解!

 

你对于一个事物的理解,是决定你能走多远的关键!

 

首先哦,我可能要说一句不太能被别人认同的话,但还是要说:

 

虽然Scratch学起来简单,也很好玩,但如果真的有一些小朋友要学习编程的话,在这个上面停留的时间,还是越少越好。

 

这里解释一下,不然又有人要误读了。本文就事论事,没有一点点批判Scratch的意思,而且,扪心自问,我很喜欢这个社区。

 


 

我指的少,不是因为Scratch不好,而是简单易学,也很容易能够上手到一定程度。如果按照Scratch的研发目标“让孩子能够体验到编程的乐趣”来说,这点上就足够了。

 

而我们要学习的本身其实是Scratch带来的操作,和对于一些方法的理解。

 

当然,这句话对于很多把Scratch做成几年课程的朋友,可能是不公平的,所以说明一下哈,所以这只是我个人的观点。

 

我认为,Scratch用来作一些启蒙接触,挺好的。但这个软件我们可以理解为是一个多媒体编辑器。你并不能完全把它理解为是一种编程。相反,如果单纯说编程的话,我认为mindstorms,更加配得上“编程”两个字。

 

为什么这样说?

可能我在之后的课程里面一步步会给大家证明这一点。

 

mindstorms,是一种逻辑上的锻炼,逻辑不清,可能根本无法做出一个“正常”的程序。Scratch的优势是,它的操作更加方便,你能够很容易的做出一个属于自己的动画短片,小游戏等等。要知道,这些在mindstorms是一件很累人的事情……(你可以看看本号内关于贪吃蛇的一套课程)

 

正是因为scratch编程的操作太方便,很容易通过拖拽等等方式去完成一些必要的内部逻辑的关联,操作画面也挺好看。所以往往会把小朋友的注意力给吸引掉,也容易忽略掉编程中重要的编程思想和编程的“抽象性”

 

注意,编程是一个抽象的工作!这点很重要。

 

我们有编程思维的人,往往能够把一些想象中的事情给梳理和分析气你给出,从而得到一些解决方案。这一步很关键很关键,也是我们学习编程后,能够锻炼到的很重要的一个潜在能力!

 

这也就是为什么一些常年使用mindstorms编程的朋友,上手Scratch如此之快,并且能够迅速精通的原因。因为长期的mindstorms使用中,把内功给修炼到位了,有了心法,换个招式,只是一种熟练工啦~

 

再说明一下,老丁很喜欢Scratch,只是我个人觉得,很多人在做这样的课程里面,太过于注重案例本身了。案例千千万,但这都是鱼,而不是渔。编程思想应该是每个人的,所以,我们要培养的其实是思想,而不是操作本身。

 

综上所述,我认为,Scratch可以作为一种锻炼和练习的工具,帮助理解一些编程思想,但学的其实不是编程,也不是如何做一个游戏玩玩。关键是,如何用它的各种功能处理一些问题。你学习Mindstorms和LOGO语言也是一样的。编程思想,才是关键!

 


 

说到解决问题,这一点又可以白话一下了。

 

其实解决问题并不难,难的是“提出问题”,“找到问题”。

 

我们市面上大多数的编程教育,都在教如何解决问题。这就是我不愿意看到的。

 

有一块木板,木板上有根钉子,要把钉子弄进去。怎么做?

 

Scratch就像是一把榔头,直接敲不就行了?

Mindstorms就像是你先要确定用榔头,然后你的解决方案是做好这把榔头,再敲进去。(有很重要的流程设计要求)

 

代码类的编程,就像是有一堆物体,你先要确定你是否一定需要一把榔头?明白吗?

 

方便,不是一切,也并不是求真态度下的追求。

 

上面这个问题的本身,其实包含了很多问题。

 

1、你用什么方法让钉子进去?

 

砸进去?拍进去?或者你可能不需要任何东西,把木板倒过来往地上敲,一样能把钉子敲进去,根本不需要其他任何东西的辅助,地面可能就是你最大的帮手。

 

2、当你确定需要一样工具时,你是否需要的是榔头?

 

这不是你能拍脑门决定的事情,你需要创造一样最适合的,最方便创造的东西出来帮你。这个时候榔头不一定是第一选择!主要要看你的场景和你能利用的东西。

 

……等等,我们还可以想象的更加细致。

 

发现没?这都是抽象的,甚至可以想出一些超越平时认知的方法,去实验某一些不同的“可能性”。

 

那么这些,我们就放到后面的课程里面,慢慢体会。

 


 

那么短暂停留之后干嘛呢?

 

当然,你就可以选择一些真正的编程语言来学习啦。

 

Python

【Scratch】它跟Mindstorms,有什么区别?

应用需求极大,并且超级广泛。

 

这个语言甚至已经超过了人们对于中文的需求度,被称为人工智能时代的全球用语。

 

老丁可以很负责的说,在未来几年,这个编程语言会成为一种生活技能。或许你现在不信,就像2012年左右,我对一些朋友说乐高机器人会火一样没人信,甚至有人问我,玩具也能拿来做教育产品?

 

这里我也再做出一个预言:未来几年,Python会成为最热门的IT技能敲门砖,一定会低龄化;哲学也会成为一项青少儿必修课,以应对信息传递越来越快的成长价值观和人生观的个体认知基石。

 

请收藏这篇文章,我们2~3年后来看看我的语言成真没有。

 


 

C++:

【Scratch】它跟Mindstorms,有什么区别?

精通C++的工程师无疑是贴上了IT界的牛人标签。

 

这个语言可能是当今语言中,最灵活、最复杂、最难学的语言。

会当凌绝顶一览众山小,学会了这个东西,再看其他语言,都是小菜一碟!如果你还具备产品思维,那么……

 

C++用在操作系统、游戏、数据处理、医疗数据、教育数据、金融!等等几乎所有你能想到的跟数据有关的领域,岂止于大数据!那是巨数据!

 

如果小朋友有机会参加:

Intel科技奖软件作品的竞选(MIT这样的学校几乎是保送的感觉);

世界顶级noip,NOP大赛(卡耐基梅隆我来啦!);

信息奥赛(清华北大?我考虑一下哈……哪个离家近点呢……);

……

 

这,都是必备技能。

 


 

JavaScript:

【Scratch】它跟Mindstorms,有什么区别?

这个玩意用来做网页动效的,也就是我们俗称的JS语言,我们网页上看到的这些动效啥的,都是由这个来完成的。这玩意一般就被我们叫做“前端”。

 

诶?编辑网页不是用HTML5嘛,要学JS干嘛?

 

这样解释一下,HTML5其实是指HTML语言在2014年的第五次重大改版。一般我们讨论这个重大改版要涉及3个语言。

 

HTML,就像是人的骨骼,器官,是一个网页的结构;

CSS,就像是人的皮肤,是一个能看到样子,换句话说,这两样加起来,就做成了一个“植物网(人)”;

JS,就是灵魂,这个网页对于人们浏览他的各种反应,可以思考,可以换装,等等等等……

 

明白了?还是不明白对吧。那就是了,学了你就明白了!

 

总之,你学会了这个,就可以自己做出一个自己的网页,相当于生了一个自己的孩子一样。这孩子怎么打扮,怎么成长,都可以由你来控制和喂养。

 

说不定高中开始做的网页,到了大学,当你真正认知了这个社会,这个市场,它就变成了你未来人生一辈子的事业!

 


 

以上这些,就是老丁对于Scratch学习的一些学习目标浅谈和未来的规划建议。

 

当然,兴趣是一切的开始!即便你以后不做IT工作,也可以学会很多编程思维。就从这里出发吧!

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