拆 — 拆分问题的能力
要做一个“贪吃蛇”游戏,这是一个很大的问题,该怎样入手呢?如刚才所讲,得想办法让电脑把这件事情搞明白,有哪些步骤,每一步该干什么,哪步在先哪步在后。所以我们首先需要把这个大问题进行拆解。
拆解
在这个程序中,计算机主要处理两件大事:
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都不是一下就能找到的,常常需要从头到尾把程序的运行顺序一步一步地跟走一遍,观察每一步的运行结果(专业术语叫“单步调试”)。这需要很多的耐心、观察力和专注力,对孩子的抗挫折能力也是一种磨练。
当调试经验丰富之后,孩子在写程序时还会懂得给那些“有可能会出错”的地方先做个记号,方便回头来检查纠错。他更关注于提高自己纠错的技能,而不是害怕、回避或者掩盖错误。孩子会越来越懂得,有错很正常,只要能把它揪出来,改正就好。
有些人总是在进步,因为他随时懂得回溯、调试、纠错,进而提升自己。
教学点:9个 人气:436
教学点:9个 人气:314
教学点:9个 人气:271
教学点:9个 人气:269
关于我们 | 联系我们 | 咨询电话:4006-303-880
川ICP备07505283号
以上信息知识产权归“深圳小码王少儿编程培训中心”所有,并对内容的真实性和合法性负责,如有侵权或投诉,请联系我们处理。