拆 — 拆分问题的能力
要做一个“贪吃蛇”游戏,这是一个很大的问题,该怎样入手呢?如刚才所讲,得想办法让电脑把这件事情搞明白,有哪些步骤,每一步该干什么,哪步在先哪步在后。所以我们首先需要把这个大问题进行拆解。
拆解
在这个程序中,计算机主要处理两件大事:
1. 处理输入 – 收集用户操作信息
2. 输出响应 – 根据不同的输入,做出不同的响应
再拆解
1. 输入 - 用户的操作可以有按上、下、左、右键四种
2. 输出 - 相应地,贪吃蛇也要做往上、下、左、右走的动作
我们将第二点再拆解
贪吃蛇每走一步,可能有这几种情况:
1. 吃到苹果
2. 撞到墙
3. 撞到自己
4. 什么都没发生
我们不难发现具备这种有拆解能力的人做事情是耐心的、有条不紊的。
整 — 发现并且整合“重复规律”的能力
“找规律”就是观察和找到那些重复发生的规律。
比如“贪吃蛇吃苹果”所发生的一系列动作,是程序中多次会发生的,无论苹果在左上方还是右上方,无论蛇是从上面吃还是从下面吃,都是同样的一组动作,那么我们就可以把这组动作打包,给它取一个名字叫“吃苹果”。
每次蛇遇到苹果时,就可以直接把“吃苹果”拿出来用,而不用重新把它所包含的一系列动作再想一遍,搞不好的话还会有纰漏。
在编程的过程中,孩子得一直在做这样的训练,发现一些可以重复的单元,把它整合起来,让计算机去重复它。
观察那些做事效率高的人,他们就具备了这个能力。很多孩子解题快,就是他善于发现和总结“重复规律”,脑袋里自备了一个装有很多类似于“吃苹果”那样的方法库,遇到时直接调用,不用再从头到尾想一遍,也不会错漏。
析 — 逻辑思维能力
逻辑思维中有个非常重要的原则叫做MECE(Mutually Exclusive and Collectively Exhaustive),意思就是“相互排斥且整体完备”,也就是“不重复,不遗漏”。
在编程过程中,处处要考虑和遵循MECE原则。
比如在贪吃蛇的程序里,蛇每往前走一步,可能会出现4种情况:
a. 吃到了苹果
b. 撞到墙
c. 撞到自己
d. 什么都没发生
这4种情况是互斥的,比方说吃到苹果的时候就不可能撞到墙,那么程序中就不能让苹果出现在墙上;而且,这4种情况覆盖了所有可能性,在写程序时如果只考虑了其中的2种或3种,就不“完备”了。这些思考对孩子的来说都是非常好的逻辑训练。
改 — 调试纠错能力
这点是最重要,也是孩子最需要的能力。
任何事情都很难一次就完成得尽善尽美,程序运行起来发现不对有问题,这时就需要孩子去寻找出错的地方,并将它一点一点去改正。
实际上程序中很多bug都不是一下就能找到的,常常需要从头到尾把程序的运行顺序一步一步地跟走一遍,观察每一步的运行结果(专业术语叫“单步调试”)。这需要很多的耐心、观察力和专注力,对孩子的抗挫折能力也是一种磨练。
当调试经验丰富之后,孩子在写程序时还会懂得给那些“有可能会出错”的地方先做个记号,方便回头来检查纠错。他更关注于提高自己纠错的技能,而不是害怕、回避或者掩盖错误。孩子会越来越懂得,有错很正常,只要能把它揪出来,改正就好。
有些人总是在进步,因为他随时懂得回溯、调试、纠错,进而提升自己。
以上就是深圳小码王少儿编程培训中心为您提供少儿编程如何培养孩子各项能力?的全部内容,更多内容请进入咨询问答 查看