编程思维由四个环节组成,“分解—抽象—模式识别—算法”,简单的来说就是一种高效解决问题的方式,清晰的从理解问题过渡到找出解决办法。
1、分解——化繁为简
生活中我们遇到一个问题的时候,往往比较手忙脚乱,不知道如何下手。这一类人就是明显的缺乏“分解问题,化繁为简”的能力。接触过程序员或者是和程序员合作过的人会有这样感受。当提出一个需求的时候,程序员会沟通每个环节的执行步骤,怎么实现,然后一步步的建立起整个项目。听到的多的词往往是逻辑。编程本质上就是把复杂和庞大的问题“自上而下,逐步拆解,直至理顺”。这种思维,在学习和生活叫“分解思想”,在工作中又叫“项目管理”。当孩子慢慢的具备这种思维的时候,不管是当前的学习中,还是工作后遇到的问题,都能冷静从容的对待,即使是非常有挑战性的问题,也能慢慢的梳理出思路来,从而解决掉!
2、抽象 —— 聚焦关键
简单来说,就是从复杂的信息中,的锁定出关键点来。举个例子,我们想象一个房子,一般人的想象的是这样的:
但在建筑师的想象中,它可能是这样的:建筑师想象中的房子,具体到了房子内部的具体架构和材料,每一面墙、每一扇门窗应该如何更精巧地设置。数学中,实数运算是对现实的抽象,代数运算是对实数运算的抽象,抽象代数又是对代数的抽象。方针政策是对整个运行发展的抽象,政府职能部门对方针政策进行具象,省市县级再依序进行具象。我们的现实,就是在这样一步步的分层抽象中,逐步清晰起来。抽象级别越高,则越接近事物的本质,规律的适用面也越广。编程的世界里,就包含“子系统、模块、包、类、方法和语句”等不同层级的抽象,学编程能锻炼孩子们不断抽象、聚焦关键信息的能力。在学习中,抽象思维也非常重要,我们孩子在学校里的学习,很多都是对抽象思维的训练与考察。例如,学语文课文时,需要定位段落关键句;做英语阅读理解时,要抓取关键信息和中心思想。抽象思维能力越高的孩子,在大量信息中聚焦关键信息的能力会越强,专注力也会更高,自然学习也会更轻松。
3、模式识别 —— 规律整合
模式识别,就是“如何找出相似的模式,并高效率解决细分问题”,它能极大锻炼我们规律整合的能力。具备强大整合能力的人,做事儿高效,思路清晰。在编程中,会经常提到调用,函数调用,模块调用等等,这个过程就是将重复的单元整合起来,用到的时候直接拿来。避免复杂重复的工作。具备规律整合的孩子,也会善于发现学习中的问题,公务员考试,一些大企业的面试中,会经常出一些找规律的题目,其实考察的就是应试者的规律整合能力。
4、算法 —— 逻辑思维
算法这个词数学中遇到的非常多。算法,就是根据之前一系列对于问题的理解,设计一步一步的解决路径,并解决整个问题。逻辑思维中有个很重要的原则叫 mece(mutually exclusive and collectively exhaustive),意思就是“相互排斥且整体完备”,也就是“不重复,不遗漏”。在编程的算法中,需要处处考虑mece原则。解数学题时,也是同一个道理——我们要保证答案中考虑到所有的情况,而这些情况既不遗漏,也不重叠。另外,编程算法中还会涉及到处理很多 “与”、“或”、“非”等逻辑用语。这些操作和思考,对孩子来说都是非常好的逻辑训练。