为什么有“编程思维”的孩子这么优秀?

2018-08-18 00:15

 儿童编程软件scratch介绍平时我们总会遇到这种情况:一些成绩好的孩子,说话做事很有条理,每一步、每一句都清清楚楚。而有的孩子,做事无逻辑,话说了一堆,还是不知道表达什么。

其实这背后都是因为缺乏——逻辑思维能力,导致不会正确地处理问题,表达自己的想法。

那有什么好方法改善这种状况,提高孩子解决问题的能力,并清楚表达自己的想法呢?今天编程教授就给各位推荐一种很实用的方法——编程思维。

一、什么是编程思维?

所谓“编程思维(computational thinking)”就是“理解问题——找出路径”的思维过程,它由四个步骤组成:

1、分解(decomposition)

把一个复杂的大问题,拆解成更可执行、更好理解的小步骤。

复杂问题很难一下子破解,但如果把它细分成很多个小问题,逐步解决,就容易多了。

比如破案。

找出嫌疑人可不是件容易的事。但通常警察都会从一系列小问题破案,包括:发生了什么犯罪,什么时间,什么地点,有什么证据,最近附近是否有相似案件发生……

通过拆解问题,可以深入了解犯罪的过程、细节,获得大量信息。而理解是解决的第一步。

也就是说,再难的问题,把它分解成一个个小部分就好处理了。

2、模式识别(pattern recognition)

找出相似模式,高效解决细分问题,这点至关重要。

识别模式意味着新问题变成了老问题。我们在经验库里搜索以往的类似问题及解决方法,套用解决。识别的模式越多,解题的速度就越快。数学里常说的题海战术就是用到这个思维,题做多了就知道它考哪个知识点。

举个例子:假如你需要画100只猫,你会怎么办?找100只猫来挨个临摹?还是找出猫的“模式”?

如果是后者,你可能要知道猫长毛,有眼睛、尾巴、四条腿。然后,按照这个“模式”,你就可以“批量”画猫了——你不用每次画一个新动物,只需要变换局部特征:黄白条的猫还是黑猫,长尾巴的猫还是短尾猫。

现在流行的机器学习中普遍用到这种思维。

3、抽象(abstraction)

聚焦重要的信息,忽视无用细节。这是一个过滤的过程,通过认识问题的核心本质,帮助我们形成解决问题的构想。

接着举刚才画猫的例子,我们了解了猫的特征,就可以根据这些抽象的特点,形成关于猫的整体设想,做出一个模型。

4、算法(algorithms)

设计一步一步的解决路径,解决整个问题。

通过这四个步骤,一个复杂的问题先被拆解成一系列好解决的小问题;每一个小问题被单独检视、思考,搜索解决方案;然后,聚焦几个重要节点,忽视小细节,形成解决思路;最后,设计步骤,执行——问题解决。

所以,所谓“编程思维”并不是编写程序的技巧,而是一种高效解决问题的思维方式。

二、编程思维的好处

编程思维可以用于处理任何事。

比如——打电子游戏。

为了升到最高级别,你需要知道:要收集什么物品,去哪及怎么收集,时限是多少,最佳路线是什么,怎么躲过敌人……通过了解细节、掌握要点,你就能制定计划,用最短时间完成升级。

处理正经事,更离不开“编程思维”,比如——写作。

想把作文写得又快又好,得先解题,拆分出可能的层次内容;然后调用大脑存储的相关信息——例子、格言,甚至曾经写过、看过的文章;列出提纲,理清思路;最后,写。

做数学题也一样,拆解、理解新问题——搜索出对应的老问题和公式——理清思路——做题。

职场牛人个个都有“编程思维”。

麦肯锡公司的第一个女咨询顾问芭芭拉·民托(Barbara Minto)曾提出著名的思考方式——“金字塔原理(The Minto Pyramid Principle)”。

其中,提到了一个重要原则:MECE,即Mutually Exclusive Collectively Exhaustive,中文意思是“相互独立,完全穷尽”。换成人话就是:将影响一个重大议题的原因,不重叠、不遗漏地拆分,藉此有效把握问题核心,找到解决方案。

可以这么说,无论你的目标是什么,编程思维都能让你更迅速、更容易地达成,妥妥的人生赢家。

相关阅读:

回到顶部