最新消息:

【EV3基础编程 第一课】不了解这些,别说自己在学编程,其实在瞎忙活

乐高 少儿编程 5611浏览 0评论
ev3基础编程01

本阶段课程适合2年级、3年级、4年级及以上刚开始接触EV3机器人的同学们。

 

本篇请下载 LEGO Mindstorms教育版软件 有条件的话,请为孩子添置一套EV3套装,让课程内容可以同步练习进行动手实践。

《EV3基础 编程篇》正式开始!

如果说硬件篇是一本更全面一些的“说明书”

那么编程篇其实是个无底洞……并且,程序也有易有难。

所以,我们这次的编程篇,属于“基础编程”

1

了解编程

很多人都学编程,也有很多家长让孩子去学编程。那么编程到底是个啥玩意?

我之前有发过一篇随笔,是写关于编程教育的。

说白了,我认为,现在的编程教育很多目的性并不强(不是指全部),一看就不是专门教编程的人做出来的课程产品。

更不是有青少儿课程产品设计经验的人,做出来的课程产品。

编程学习的本身是要有明确目标的。我给我的课程制定的目标,就是学习从分析到解决问题的逻辑。

既然是这个目标,那么首先我们就必须要找一种让学生可以“理解”并且使用的“工具”来进行教学。


我们看到市面上有很多青少年编程的课程一般有两种。

1、教各种编程语言。

2、教图形编程、做个小游戏啥的。

作为一个针对刚刚接触编程的人群的课程。前者,我建议直接忽略吧,根本没有意义。为什么?

这样说好了,你去任何一个互联网或者科技类公司,问问看做开发的工程师,一般都是精通一、二种语言而已。

同时,精通哪种语言还得看他的工作需求,从工作和未来的学习中不断精通。

简单说这句话的意思就是,连学哪个语言对你有实际意义都不知道,乱学个啥?

大多数青少儿编程的课程都是第二种 —— 非代码类的教学。

这样的学习方式,对于初期接触,或者“非职业选手”是比较合适的。


首先,对于“编程工具”的使用,就不会有太大的问题。而更多的是学习编程的一个套过程,从而提升逻辑能力。

市面上比较流行的有Scratch

【EV3基础编程 第一课】不了解这些,别说自己在学编程,其实在瞎忙活

这玩意是人家MIT搞出来让孩子玩的一种工具。现在好像挺火的,但有意思的是,这个软件设计的初衷,就是“引导”,不知道为什么现在变成一项“照抄”课程了?(就是老师在上面一步步操作,下面学生跟着一步步操作,最后完成,大家都很high)

另外就是各种机器人教育的编程软件了,我们EV3的Mindstorms,就属于这种软件。


其实这种图形编程也可以理解为一种编程语言——脚本语言

什么是脚本语言?

举个例子,我们可能要编写一长串代码,来做一件事情。但这串代码经常会用得到,每次都要重复,工作量很大。

所以把这一长串代码先写好,起个名字,然后到要使用的时候调取一下,就能批量处理这些代码达到某一个效果,就会很方便。

它只负责执行编好的一个功能,而不是一种编译行为。

其实脚本语言本身是有致命弱点的,因为在编写这种语言的时候,本来就可能会有错误在里面。如果工程师编译一个软件,完全用脚本语言,那么当这个软件出点问题的时候,会连错误在哪都找不到。

当然,我们初期学习,使用一下,只有好处,没有坏处。最大的好处,就是我们不必要学习一门新的“语言”,再学如何使用。可以直接上手学那些我们容易学会的部分。

2

干嘛学编程?

既然要学,我们一定要知道自己在学什么。

正如上面说的,脚本语言是适合我们这种初学者学习的。但别认为自己学了真正的编译程序。我们在学的,是一个编写程序的逻辑

这种逻辑能力的养成,其实对我们方方面面的帮助都会很大。


不说大道理,直接举个例子。案例分析,绝非广告!

老徐的公众号“徐子曰”今天推出了一篇《中考考纲要求中学生必须掌握的古诗文详解【汇总版】》

如果我们把这篇文章理解为是一个程序。

那么点进去的每一个链接,就相当于是一个脚本程序。

而再点进去,由老徐亲笔一字一句写出来的文章,就是一长串代码,每个字词就是一个代码。

我们会发现,这样的整理和总结,对我们日常的学习帮助会非常大,因为它一下子把某一个知识板块所有的要求,全部罗列了。

这其中的逻辑目的就是:

完成教学中考这一块知识内容

那么反过来,我们日常在学校里面的学习,其实也是这一目的;看老徐的汇总资料,也是这一目的;我们出去找老师学习,也是这一目的。等等……

这些做法的目的其实是相同的,对不对?

我们会发现完成一件事情,其实会有很多的实现方式。

为什么选择了收藏这篇微信文章?因为“这个程序”,使用方便。


那么好了,我们会发现,编程的学习,可以给我们带来的能力就是。

找到目标,思考实现方法,加入需求,达到目的。

这就是一整套逻辑。

这种逻辑几乎可以应用于所有的生活场景。

比如,我们买东西,几个牌子都有这样东西,只有细微的区别,那我们怎么挑选?

学过编程的人,思考问题一般会是:

1、到底什么目的是我买这个东西最主要的动机?达不到这个目的的,排除。

2、这些细微的区别,哪个对我来说是有用的?没用的,排除。

3、其他需求加进去:比如我希望便宜一些的。那么就挑最便宜的。

最终达到买东西的目标,结束。

同理,是不是发现,这种逻辑的应用场景其实无处不在呢?

所以,青少年学习编程,并不一定是要做工程师。而是学会这种逻辑能力

至于学哪种语言?哪种课程?其实本身不重要。

3

赤裸裸的语言表达

我们的生活中充斥了太多影响我们判断的事物了。

比如,情感关系、伦理关系等等……这些因素很多时候会左右我们的准确表达意图。

都说理科生没有“情商”,文科生没有“智商”。

这句话其实就是指,很多学理的朋友,考虑问题,很理性,经常习惯排除各种无谓的顾虑;

而文科生则偏感性,往往被一些不关键的因素纠缠而造成判断错误。

世界上应该没有任何一个纯理性或者纯感性的人。两者平衡,把理性和感性用在不同的场合,其实是很好的。

编程的学习,就是学习一种赤裸裸的语言表达。只谈“理由”,不谈“感觉”。欲练此功,请务必深思熟虑。

因为机器听不懂感觉,它需要准确的表达行为。


举个例子,有个老外向我们问路。

普通人回答,可能是:在前面第二个路口右转就到了。

而我们之后的学习内容,必须要做到的是:向前直行至第一个路口,继续直行,到达第二个路口,停止,90度右转,继续直行10米就到了。

再举个例子,爸爸炖了锅鸡汤,问你好不好吃。

普通人回答,可能是:挺好喝的,就是盐可能放多了一些。

于是爸爸心领神会,满心欢喜的去加水。

而我们之后的学习内容,必须要做到的是:咸,加水。

于是爸爸当场郁闷,灰头土脸的去加水,嘴里还嘀咕一会。。。。

没办法,学编程的时候,我们要的就是“赤裸裸”表达出问题的本质和你的目的,不要任何废话。。。。废话多了,可能会造成别人的误会。

就拿上面哪个例子。如果按照普通人的回答,爸爸的反应也可能是:哦,那我下次注意点。于是你就达不到让他再加些水的目标了。

明白了吗?


这节课大家可以理解为是一篇序。

但我认为这篇序是非常重要的,我在跟学生交流的时候,都会先告诉他们。

学这个到底干嘛;

我们到底在学什么;

你们上课的时候要注意跟我配合的点是什么;

要思考的方向是什么;

等等……

希望大家能先理解这篇文章里面说的内容,我们下节课,将进入一个不断找问题,分析问题,理解问题的阶段性课程内容。

所以,你准备好了吗?

重点总结

了解编程学习的内容,和学习目标。找到学习的重点。

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