让孩子学习编程,最终目的就一定要成为程序员吗?其实不然,编程思维才是大力推进编程教育的原因,它能帮助我们理清思维过程,理解问题并找出高效的解决方式,具备了这种编程思维的人也能在任何场合运筹帷幄。
把一个复杂的大问题,拆解成更可执行、更好理解的小步骤。
复杂问题很难一下子破解,但如果把它细分成很多个小问题,逐步解决,就容易多了。
比如,破案。
找出罪犯不是件容易的事。但通常警察都会通过理清一系列相关的小问题破案,包括:发生了什么犯罪,时间,地点,有什么证据,有没有目击者,最近、附近是否有相似案件发生……等等。
模式识别(pattern recognition)
找出相似模式,高效解决细分问题。
识别模式,意味着新问题变成了老问题,我们在经验库里搜索以往的类似问题及解决方法,套用解决。识别的模式越多,解题的速度就越快。
举个例子:假如你需要画100只猫,你会怎么办?找100只猫来挨个临摹?还是找出猫的“模式”?
如果是后者,你可能要知道猫长毛,有眼睛、尾巴、四条腿。然后,按照这个“模式”,你就可以“批量”画猫了——你不用每次画一个新动物,只需要变换局部特征:黄白条的猫还是黑猫,长尾巴的猫还是短尾猫。
抽象(abstraction)
聚焦重要的关键信息,忽视无用细节。
这是一个过滤的过程,通过认知问题的核心本质,帮助我们形成解决问题的构想。
接着举刚才画猫的例子,我们了解了猫的特征,就可以根据这些抽象的特点,形成关于猫的整体设想,做出一个模型。
算法(algorithms)
设计一步一步的解决路径,解决整个问题。
陕西【华大半导体单片机授权代理商】报价,毕业生工作区域主要分布在,上海、大连、北京、广州和天津等市。来看看招生计划分析!
通过这四个步骤,一个复杂问题先被拆解成一系列好解决的小问题;
每一个小问题被单独检视、思考,搜索解决方案;
然后,聚焦几个重要节点,忽视小细节,形成解决思路;
最后,设计步骤,执行——问题解决。
所以,所谓“编程思维”并不是编写程序的技巧,而是一种高效解决问题的思维方式。
编程思维可以用于处理任何事。
比如——组织一次朋友聚会。
你可能需要拆分问题:你们能去哪、做什么,每个人喜欢什么、想干什么,之前你们一起玩的成功经验和失败教训,预算和每项活动的成本,时间长短,天气……
显然,用编程思维组织的朋友聚会,选择起来会更容易,也更有可能让大家玩得开心。
再比如——打电子游戏。
为了玩到一定级别,你需要知道:要收集什么物品,去哪及怎么收集,时限是多少,最佳路线是什么,怎么躲过敌人……通过了解细节、掌握要点,你就能制定计划,用最短时间完成升级。
处理正经事,更离不开“编程思维”,比如——写作。
想把作文写得又快又好,得先解题,拆分出可能的层次内容;然后调用大脑存储的相关信息——例子、格言,甚至曾经写过、看过的文章;列出提纲,理清思路;最后,写。
做数学题也一样,拆解、理解新问题——搜索出对应的老问题和公式——理清思路——做题。
网上曾有一个段子,说就算高考改成考怎么玩,玩得好的也还是这些学霸。
因为人的选择决定事的结果,而选择是以思维模式为基础的。
编程思维不但能大大提高解决具体问题的效率,当拥有编程思维的人面临人生选择时,也会更理性地分析利弊,目标更明确,更善于利用有限的资源。
而最重要的是,具有编程思维的人不会被貌似艰巨的困难吓倒,他们知道并相信——问题是可以解决的,以会更有勇气、毅力和自信去面对生活的挑战,不会轻易被挫折打败,陷入迷茫焦虑。
学业、事业、社交、玩乐、无论你的目的是什么,编程思维都能让你更迅速、更容易的达成,人生有怎么会不快乐,不幸福?
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >