编程思维,是一种高效率解决问题的方式,是“理解问题——找出路径”的高效思维过程,它由“分解—抽象—模式识别—算法”四个步骤组成。
分解,简单来说,就是“把复杂的大问题,拆解成更可执行、更好理解的小步骤”,它能锻炼我们拆解复杂问题的能力。
生活中常常会出现一些复杂,且需要多步骤才能解决的问题。很多人在遇到此类情况时,常常感到一团乱麻,完全不知道该从何下手。这样的人,就是缺少“分解问题,化繁为简”的能力。
编程的过程,就是把复杂和庞大的问题“自上而下,逐步拆解,直至理顺”。这种思维,在学习和生活叫“分解思想”,在工作中又叫“项目管理”
02抽象 —— 聚焦关键
编程中最关键的就是“抽象思维”能力,它能锻炼我们聚焦重点,忽略无用信息,并抽取关键信息的能力。
编程的世界里,就包含“子系统、模块、包、类、方法和语句”等不同层级的抽象,学编程能锻炼孩子们不断抽象、聚焦关键信息的能力。
在学习中,抽象思维也非常重要,我们孩子在学校里的学习,很多都是对抽象思维的训练与考察。例如,学语文课文时,需要定位段落关键句;做英语阅读理解时,要快速抓取关键信息和中心思想。抽象思维能力越高的孩子,在大量信息中聚焦关键信息的能力会越强,专注力也会更高,自然学习也会更轻松。
03模式识别 —— 规律整合
模式识别,就是“如何找出相似的模式,并高效率解决细分问题”,它能极大锻炼我们规律整合的能力。
善于发现和总结规律的人,常常做事麻利、效率也特别高。因为他们脑子里自备各种规律的“方法库“,遇到相似的情况就直接调用,极大节省了时间,也不会错漏。
在编程学习的过程中,孩子们也一直在做这样的训练:发现一些可以重复的单元,把它整合起来,套用进设定好的模式,再让计算机去重复它。
04算法 —— 逻辑思维
算法,就是根据之前一系列对于问题的理解,设计一步一步的解决路径,并解决整个问题。
逻辑思维中有个很重要的原则叫 MECE(Mutually Exclusive and Collectively Exhaustive),意思就是“相互排斥且整体完备”,也就是“不重复,不遗漏”。