培訓(xùn):樂(lè)高機(jī)器人、圖形化編程、Python程序開(kāi)發(fā)、C++程序開(kāi)發(fā)
拆 — 拆分問(wèn)題的能力
要做一個(gè)“貪吃蛇”游戲,這是一個(gè)很大的問(wèn)題,該怎樣入手呢?如剛才所講,得想辦法讓電腦把這件事情搞明白,有哪些步驟,每一步該干什么,哪步在先哪步在后。所以我們首先需要把這個(gè)大問(wèn)題進(jìn)行拆解。
拆解
在這個(gè)程序中,計(jì)算機(jī)主要處理兩件大事:
1. 處理輸入 – 收集用戶操作信息
2. 輸出響應(yīng) – 根據(jù)不同的輸入,做出不同的響應(yīng)
再拆解
1. 輸入 - 用戶的操作可以有按上、下、左、右鍵四種
2. 輸出 - 相應(yīng)地,貪吃蛇也要做往上、下、左、右走的動(dòng)作
我們將第二點(diǎn)再拆解
貪吃蛇每走一步,可能有這幾種情況:
1. 吃到蘋(píng)果
2. 撞到墻
3. 撞到自己
4. 什么都沒(méi)發(fā)生
我們不難發(fā)現(xiàn)具備這種有拆解能力的人做事情是耐心的、有條不紊的。
整 — 發(fā)現(xiàn)并且整合“重復(fù)規(guī)律”的能力
“找規(guī)律”就是觀察和找到那些重復(fù)發(fā)生的規(guī)律。
比如“貪吃蛇吃蘋(píng)果”所發(fā)生的一系列動(dòng)作,是程序中多次會(huì)發(fā)生的,無(wú)論蘋(píng)果在左上方還是右上方,無(wú)論蛇是從上面吃還是從下面吃,都是同樣的一組動(dòng)作,那么我們就可以把這組動(dòng)作打包,給它取一個(gè)名字叫“吃蘋(píng)果”。
每次蛇遇到蘋(píng)果時(shí),就可以直接把“吃蘋(píng)果”拿出來(lái)用,而不用重新把它所包含的一系列動(dòng)作再想一遍,搞不好的話還會(huì)有紕漏。
在編程的過(guò)程中,孩子得一直在做這樣的訓(xùn)練,發(fā)現(xiàn)一些可以重復(fù)的單元,把它整合起來(lái),讓計(jì)算機(jī)去重復(fù)它。
觀察那些做事效率高的人,他們就具備了這個(gè)能力。很多孩子解題快,就是他善于發(fā)現(xiàn)和總結(jié)“重復(fù)規(guī)律”,腦袋里自備了一個(gè)裝有很多類似于“吃蘋(píng)果”那樣的方法庫(kù),遇到時(shí)直接調(diào)用,不用再?gòu)念^到尾想一遍,也不會(huì)錯(cuò)漏。
析 — 邏輯思維能力
邏輯思維中有個(gè)非常重要的原則叫做MECE(Mutually Exclusive and Collectively Exhaustive),意思就是“相互排斥且整體完備”,也就是“不重復(fù),不遺漏”。
在編程過(guò)程中,處處要考慮和遵循MECE原則。
比如在貪吃蛇的程序里,蛇每往前走一步,可能會(huì)出現(xiàn)4種情況:
a. 吃到了蘋(píng)果
b. 撞到墻
c. 撞到自己
d. 什么都沒(méi)發(fā)生
這4種情況是互斥的,比方說(shuō)吃到蘋(píng)果的時(shí)候就不可能撞到墻,那么程序中就不能讓蘋(píng)果出現(xiàn)在墻上;而且,這4種情況覆蓋了所有可能性,在寫(xiě)程序時(shí)如果只考慮了其中的2種或3種,就不“完備”了。這些思考對(duì)孩子的來(lái)說(shuō)都是非常好的邏輯訓(xùn)練。
改 — 調(diào)試糾錯(cuò)能力
這點(diǎn)是最重要,也是孩子最需要的能力。
任何事情都很難一次就完成得盡善盡美,程序運(yùn)行起來(lái)發(fā)現(xiàn)不對(duì)有問(wèn)題,這時(shí)就需要孩子去尋找出錯(cuò)的地方,并將它一點(diǎn)一點(diǎn)去改正。
實(shí)際上程序中很多bug都不是一下就能找到的,常常需要從頭到尾把程序的運(yùn)行順序一步一步地跟走一遍,觀察每一步的運(yùn)行結(jié)果(專業(yè)術(shù)語(yǔ)叫“單步調(diào)試”)。這需要很多的耐心、觀察力和專注力,對(duì)孩子的抗挫折能力也是一種磨練。
當(dāng)調(diào)試經(jīng)驗(yàn)豐富之后,孩子在寫(xiě)程序時(shí)還會(huì)懂得給那些“有可能會(huì)出錯(cuò)”的地方先做個(gè)記號(hào),方便回頭來(lái)檢查糾錯(cuò)。他更關(guān)注于提高自己糾錯(cuò)的技能,而不是害怕、回避或者掩蓋錯(cuò)誤。孩子會(huì)越來(lái)越懂得,有錯(cuò)很正常,只要能把它揪出來(lái),改正就好。
有些人總是在進(jìn)步,因?yàn)樗S時(shí)懂得回溯、調(diào)試、糾錯(cuò),進(jìn)而提升自己。
以上就是深圳小碼王少兒編程培訓(xùn)中心為您提供少兒編程如何培養(yǎng)孩子各項(xiàng)能力?的全部?jī)?nèi)容,更多內(nèi)容請(qǐng)進(jìn)入咨詢問(wèn)答 查看