首先,请大家一起来想象一个画面。
分解—— 化
算法 —— 逻辑思维
算法,就是根据之前一系列对于问题的理解,设计一步一步的解决路径,并解决整个问题。
在具体解决问题的过程中,最关键的能力有两个 —— “逻辑思维”和“调试纠错”。
逻辑思维能力
程序员圈子很流行的一个笑话。
娃妈给程序员老爸打电话:“下班顺路买10个包子带回来,如果看到卖西瓜的,就买一个。”
结果娃爸手捧一个包子进了门。娃妈怒道:“你怎么就只买了一个包子?!”
娃爸答曰:“因为看到了卖西瓜的。”
虽然是一个黑程序猿的笑话,但也体现了很典型的编程思维。编程就是理性严谨地与电脑对话,因此对编程者的逻辑思维能力也有很高的要求。
逻辑思维中有个很重要的原则叫 MECE(Mutually Exclusive and Collectively Exhaustive),意思就是“相互排斥且整体完备”,也就是“不重复,不遗漏”。
右图符合MECE原则,左图则没有
在编程的算法中,需要处处考虑MECE原则。解数学题时,也是同一个道理——我们要保证答案中考虑到所有的情况,而这些情况既不遗漏,也不重叠。
另外,编程算法中还会涉及到处理很多 “与”、“或”、“非”等逻辑用语。这些操作和思考,对孩子来说都是非常好的逻辑训练。
调试纠错能力
编程的世界里,只有对与错,没有模糊值。在程序运行的过程中,只要最终的结果与期望不符合,就证明算法中肯定有错漏。
但是,程序中的bug常常不是一下就能找到的,需要我们把程序的运行顺序一步步地跟走一遍,同时观察每一步的运行结果。这就需要很多的耐心、观察力和专注力,对孩子的抗挫能力也是一种磨练。孩子在这个过程中,也会逐渐懂得一个道理:犯错很正常,纠正它,下次不再犯类似的错误就好。
这一点,也是优秀的人身上常常共通的一项品质。这些人总是在进步,因为他们懂得“回溯、调试、纠错”,不断进行自我优化和成长,不断be better。
以上,就是传说中的 4 大「编程思维」了,是不是没有想象中的晦涩难懂呢?
苹果创始人Steve Jobs曾说:“每个人都应该学习编程,因为它教会你如何思考。”
孩子学编程的过程,正是在不断的思考和实操中,反复训练提升这 4 项重要的思维模式,建立一种真正“抗打”的认知思维和学习能力 —— 这是一种底层的思维逻辑,在任何行业都能通用,同时也是迎接人工智能时代的基本素养。
20 年前,学英语不是为了成为翻译员;
10 年前,学习电脑不是为了成为打字员;
今天,学习编程不是为了让孩子们都成为程序员,而是为他们打开一扇门,走进更广阔的未来世界
分解—— 化
算法 —— 逻辑思维
算法,就是根据之前一系列对于问题的理解,设计一步一步的解决路径,并解决整个问题。
在具体解决问题的过程中,最关键的能力有两个 —— “逻辑思维”和“调试纠错”。
逻辑思维能力
程序员圈子很流行的一个笑话。
娃妈给程序员老爸打电话:“下班顺路买10个包子带回来,如果看到卖西瓜的,就买一个。”
结果娃爸手捧一个包子进了门。娃妈怒道:“你怎么就只买了一个包子?!”
娃爸答曰:“因为看到了卖西瓜的。”
虽然是一个黑程序猿的笑话,但也体现了很典型的编程思维。编程就是理性严谨地与电脑对话,因此对编程者的逻辑思维能力也有很高的要求。
逻辑思维中有个很重要的原则叫 MECE(Mutually Exclusive and Collectively Exhaustive),意思就是“相互排斥且整体完备”,也就是“不重复,不遗漏”。
右图符合MECE原则,左图则没有
在编程的算法中,需要处处考虑MECE原则。解数学题时,也是同一个道理——我们要保证答案中考虑到所有的情况,而这些情况既不遗漏,也不重叠。
另外,编程算法中还会涉及到处理很多 “与”、“或”、“非”等逻辑用语。这些操作和思考,对孩子来说都是非常好的逻辑训练。
调试纠错能力
编程的世界里,只有对与错,没有模糊值。在程序运行的过程中,只要最终的结果与期望不符合,就证明算法中肯定有错漏。
但是,程序中的bug常常不是一下就能找到的,需要我们把程序的运行顺序一步步地跟走一遍,同时观察每一步的运行结果。这就需要很多的耐心、观察力和专注力,对孩子的抗挫能力也是一种磨练。孩子在这个过程中,也会逐渐懂得一个道理:犯错很正常,纠正它,下次不再犯类似的错误就好。
这一点,也是优秀的人身上常常共通的一项品质。这些人总是在进步,因为他们懂得“回溯、调试、纠错”,不断进行自我优化和成长,不断be better。
以上,就是传说中的 4 大「编程思维」了,是不是没有想象中的晦涩难懂呢?
苹果创始人Steve Jobs曾说:“每个人都应该学习编程,因为它教会你如何思考。”
孩子学编程的过程,正是在不断的思考和实操中,反复训练提升这 4 项重要的思维模式,建立一种真正“抗打”的认知思维和学习能力 —— 这是一种底层的思维逻辑,在任何行业都能通用,同时也是迎接人工智能时代的基本素养。
20 年前,学英语不是为了成为翻译员;
10 年前,学习电脑不是为了成为打字员;
今天,学习编程不是为了让孩子们都成为程序员,而是为他们打开一扇门,走进更广阔的未来世界