首页 技术 正文
技术 2022年11月19日
0 收藏 605 点赞 3,055 浏览 2860 个字

【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工作,也可以学会很多编程思维。就从这里出发吧!

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,074
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,551
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,399
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,176
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,811
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,892