打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
纠结要不要给孩子学编程?纠结怎么选?先搞懂这个问题,你心里才能有答案

开始今天的文章之前,我们先一起来头脑风暴一下。

在商场门口,挥动着手臂跟大家打招呼的吹气人,它的手臂为什么能上下挥动呢?

来做个实验吧。

有这样一个长条形的塑料袋子,我们想象它是吹气人的手臂。跟所有的袋子一样,它一头是封闭的,一头是开口。

现在用剪刀,在它封闭的那头顶端,剪出一个小口子。

然后,用吹风机,从开口的那一头往里吹风,会发生什么?

在脑海里运行一下吧。

没错,风会把袋子抬起来,变成直直的一条。

好,如果这一次,这个洞口我们不开在袋子的顶端,而是开在侧面。

然后,把洞口朝下,还是同样,用吹风机往里吹风,袋子会怎么样呢?

在脑海里运行一遍吧——

风吹进袋子:

袋子变直了:

风从洞口吹出来:

风的反作用力,把袋子抬起来

袋子弯折,空气的通路被阻挡,袋子掉下来,接着重复上面的过程。

就这样,袋子像一只手臂,不停的上下挥动:

来看看它的程序:

风吹进袋子——袋子变直——风从洞口向下出来——袋子被抬起——风被阻断,袋子掉落——回到第一步,不断循环。

你看,这就是编程。听起来高大上的编程,其实充斥在我们的生活之中。

经常有读者问我,“编程思维到底是什么?要不要给孩子学编程?”

说实话,我也一直觉得编程挺高深的。

妞爸编程很厉害,他是世界上第一个把人工智能图像识别用于搜寻脉冲星的科学家。我俩刚谈恋爱的时候,他送给我一个用我名字命名的专属聊天程序,类似于MSN,专门用来和我跨洋聊天。(嗯,理工直男的浪漫,就是这么……不花钱……)

每次我看到他在电脑前敲下一排排代码,就能让电脑从千万个信号中找到太空中的星星,都会觉得太不可思议了,有时会拉着他问东问西。

这段时间在考察章鱼老师的数学思维课,我经常跑去他们办公室。章鱼老师的联合创始人凳子老师是北大的计算机硕士,我缠着他请教了一次,颇有豁然开朗之感。

正好这两天我在B站上偶尔看到了日本著名的NHK教育台制作的科普节目《Texico》。

NHK的节目向来经典,《像乌鸦一样思考》、《啊!设计》就是他们制作的。《Texico》是讲编程思维的,做的实在太好太魔性了,墙裂推荐给大家,我是一口气看完的,经常有那种“喔,原来是这样”的发现新知识的爽感。

我就借着这个节目,加上我的理解,来跟大家聊聊编程思维吧。至于要不要上编程课、怎么选,至少我们要对编程思维有个基本了解才能去做判断,否则太容易被忽悠了。

内容很多,我会分成几篇文章和大家聊。但我首先得承认,我的理解还是很初步的,这背后的广袤,咱们一起慢慢学习吧。

编程思维到底是什么?

说到编程,其实我们大部分人指的是“计算机语言”,像Scratch、Python、C++,都是计算机语言。计算机语言只能说是狭义上的编程。

计算机语言是什么呢?就是计算机能听懂的话,我们用这些话告诉计算机,在什么情况下做什么事情。

最底层的计算机语言,其实是二进制码,就是用一串0和1组成的字符,来告诉计算机做什么。

举个形象的例子,在下面这张图里,“10111”这串字符代表字母“W”,“101”这串字符代表字母“E”。那么“10111 101”就是“WE”——我们。

可以想象,用二进制码来写程序,该有多复杂。好在我们现在有了“高级语言”,Scratch、Python、Java、C++都是高级语言,用这些语言写出程序之后,它们会再被翻译成二进制码来让计算机执行。

那这些语言有什么区别呢?

这就好像我们要跟一个外国人说话,可以用英语、法语、德语,区别只是这个语言好不好懂、好不好用。

这里面最好懂的就是Scratch,它是大白话的中文,不需要孩子懂英语,也不需要会打字,因为它的指令被做成了一个个的图标,只要用鼠标把指令拖到一起就行了。

像上面这些程序,是不是一看就懂?

Python就需要孩子会说英语、会打字了,好处是语法结构比较简单,读起来就跟读英语句子差不多,妞爸就是Python的深度爱好者。

但这所有的计算机语言,学的不过是语法罢了,是一种工具。

这就好像你要叫一个外国人帮你做一件事情,你掌握了英语的语法,但到底要叫这个人去做一件什么有趣的事,怎么样一步步做成这件事,还做的快、做的好、做的漂亮,后面的这些,才是编程思维。

就像前面提到的商场门口不停挥手的充气人。你要想到目的是让小人挥手,想到剪出一个洞的方法,想到充气后“手臂伸直-抬高-落下-循环前面动作”的一步步的过程,这才是编程思维。

而且,编程思维并不仅仅是和电脑对话。我们生活中很多东西都是编程的结果。

无处不在的编程思维

比如说邮递员送信。

信件在派送之前,要由专人进行“重组”,按照一个特别的表格重新排序。

但是,这张表格并不是简单的按照某某路1号、2号、3号的地址顺序进行排序,而是按照一定的程序来进行编排的。

是什么样的程序呢?

我们先来看看没有被“编程”的信件,放在地图上是什么样子:

是无序的散落。

那按照程序重组之后呢?

摆在地图上,就像是一笔画一样连了起来。

这就是配送时的最短路径。这条路线还考虑了单行道、禁止右转等等交通状况,是一条经过了程序化设计的路线。

再举个搬箱子的例子。

有按顺序摆放的1、2、3、4号箱子,要搬到对面,怎么搬呢?

你是这样打算的吗?

先分四步一个个抬到对面。

但是,这样的结果是,箱子顺序反了……

接下来只能再一个个调整箱子的顺序。

怎么优化流程呢?

其实,只要加上一个手推车就行了。

把箱子放上手推车,1号在最下面,4号在最上面,箱子的顺序反了。

接着,从手推车上把箱子再一个个搬下来: 4号先搬下来,放在最下面; 1号最后一个搬下来,放在最上面。

哇噢,箱子的顺序又正过来了。

能一步步分解流程、想到结果,再进行优化,这就是编程思维啊。

之前我看到一个新闻,有个大学生去干快递,他对快递路线、流程、车子的装卸方法进行了重新的优化设计,很快就做到了公司管理层。这就是编程思维的生产力。

我曾经在文章里说过,文凭改变命运的时代已经过去了,将来是思维改变命运的时代。我觉得未来的机会蓝海并不在白领行业,而是在蓝领行业。大学生可以用自己的知识、思维,去做蓝领行业的领头羊,去改造蓝领行业,把它变成创新、创业的机会。

在什么行业并不重要,重要的是你在这个行业里所处的位置。

这也是为什么我们一直强调底层能力,一直反对用刷题填充孩子的时间,反对为了一时的成绩去阉割孩子的思维的原因。只要你看到无处不在的机会,看到思维的生产力,就不会那么焦虑了。

再来看一个有趣的例子。

有一个小车,只有右边的轮子会转。把它放在地上,会发生什么呢?

小车一直在向左打圈圈。

把小车边上的金属条按下去,就变成只有左边的轮子会转了。

现在,在地上放一个箱子,然后放开小车,会发生什么呢?

在脑海里运行一下吧。

放在地上——只有右边轮子在转——向左转弯——碰到箱子——然后呢?

原来这就是扫地机器人的程序啊。

所以,编程思维,并不是指让孩子去学习计算机语言,让每个孩子都会写代码,都去做码农。

当我们说到每个孩子都应该懂点编程,指的是每个孩子都应该具有这种广义上的编程思维。这是一种思考的模式,一种解决问题的方法,一种创造力。

具有编程思维,即使将来不学工具性的计算机语言,把它用在别的领域也一样会很有生产力。

而编程思维是可以被锻炼的,它是逻辑学、数学和计算机科学的结晶,背后是一整套的核心思维方法。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
四个步骤告诉你什么是“编程思维”
小学生学编程有必要吗,如何入门?
乔布斯说:每个人都应该学习编程,因为它教会你思考
教育要践行| 让孩子形成“计算机思维”
(1)[转载]为什么要学习编程
“228个汉字笔划顺序!别再给我写错字了!”小学老师疾言
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服