鄧博士和很多在學(xué)習(xí)編程孩子的家長(zhǎng)交流后,發(fā)現(xiàn)一個(gè)共同的特點(diǎn):家長(zhǎng)其實(shí)對(duì)于孩子為什么要學(xué)編程并不是很理解,,就覺(jué)得反正買個(gè)課程又不貴,,孩子喜歡而已,就試試唄,!另外,,有些理工科背景的家長(zhǎng)也對(duì)孩子的Scratch項(xiàng)目有點(diǎn)疑惑:看起來(lái)小孩子過(guò)家家一樣的東西,小盆友們真的在學(xué)編程么,?希望看完這篇文章,,能夠讓各位家長(zhǎng)對(duì)Scratch課程背后的設(shè)計(jì)思想所有了解,對(duì)這兩個(gè)問(wèn)題不再困惑,。 毋庸置疑,,因?yàn)镾cratch的趣味性,讓它在青少年編程領(lǐng)域獲得廣泛認(rèn)可,。在這樣的趣味性背后,,是Scratch對(duì)編程思維的包裝和訓(xùn)練。說(shuō)起編程思維,,我們先來(lái)看一個(gè)耳熟能詳?shù)男」适拢?/p> 數(shù)學(xué)王子高斯在小學(xué)三年級(jí)時(shí)候,,老師要求從1+2+3開(kāi)始一直加到100,得出的和是多少,?其他同學(xué)都費(fèi)勁地一個(gè)數(shù)一個(gè)數(shù)的加,,只有小高斯注意到了這些數(shù)可以兩兩配對(duì),相加和為101: 1+100=101 2+99=101 ...... 一共有50對(duì),,最后的和可以用乘法來(lái)做:(50X101)=5050,。 我們感慨?dāng)?shù)學(xué)王子的驚人天賦同時(shí),不要忘記了高斯的解題思維:但凡重復(fù)的問(wèn)題,一定有規(guī)律,。高斯首先提取這個(gè)規(guī)律,,然后再進(jìn)行求解。這就是編程思維中常說(shuō)的問(wèn)題拆分,、抽象思考和模式識(shí)別,。高斯的思考實(shí)際上解決的不僅僅是從1加到100,老師如果再出101加到200,201加到300,,這個(gè)模式都可以解決,。再進(jìn)一步延伸,就可以概括出求任意范圍【a, b】連續(xù)整數(shù)求和公式:(a+b)x (b-a+1)/2,。 編程中有一個(gè)重要的概念:順序執(zhí)行,。意思是程序需要按照一定的順序依次執(zhí)行語(yǔ)句,這就要求學(xué)生在編程時(shí)要將想要實(shí)現(xiàn)的功能分解為多個(gè)具體步驟,,并且要考慮到不同步驟之間的關(guān)系和觸發(fā)條件,。 學(xué)了編程的孩子,在思考問(wèn)題時(shí)會(huì)更加注意問(wèn)題內(nèi)部各個(gè)因素之間的關(guān)系,,會(huì)對(duì)解決問(wèn)題的步驟有一個(gè)更加清晰的思考,。這之中涉及很多的數(shù)學(xué)和邏輯學(xué)知識(shí)。編程中還需要考慮到程序執(zhí)行時(shí)出現(xiàn)的各種可能,,這鍛煉了學(xué)生思考問(wèn)題時(shí)的全面和細(xì)心,。 除此之外,學(xué)生在學(xué)習(xí)編程的過(guò)程中會(huì)不斷嘗試,、不斷面對(duì)挑戰(zhàn),、不斷經(jīng)歷失敗,不斷從錯(cuò)誤中學(xué)習(xí),,只有經(jīng)歷了這些,,才能最終獲得程序的正確運(yùn)行。 下面我們來(lái)看一個(gè)例子:打地鼠是孩子們很喜歡的小游戲,,通過(guò)這個(gè)了解如何把編程思維的鍛煉貫穿在創(chuàng)作中。 在孩子興高采烈要開(kāi)始做這個(gè)小程序的時(shí)候,,老師會(huì)先引導(dǎo)孩子思考這么幾個(gè)問(wèn)題: 1,、屏幕上的6只地鼠有關(guān)系么?這6只地鼠是彼此沒(méi)有關(guān)系的,,基于隨機(jī)數(shù)來(lái)控制是否冒出來(lái),,再用個(gè)隨機(jī)數(shù)決定冒出來(lái)多久。因此,,一只和六只的代碼是一樣的,,用Scratch的角色復(fù)制就可以了。為了屏幕整潔,我們先從一只地鼠開(kāi)始,,讓它調(diào)皮的冒頭出來(lái),。 2、識(shí)別錘子的狀態(tài):正常,,移動(dòng),,敲擊。把錘子隨鼠標(biāo)移動(dòng),,按下鼠標(biāo)按鈕敲擊這個(gè)流程實(shí)現(xiàn),。 3、給錘子和地鼠加上一個(gè)判斷邏輯,,如果錘子擊中地鼠,,則顯示特效,表明成功得分,。 4,、調(diào)試完畢后,將一個(gè)地鼠復(fù)制6份,,進(jìn)行聯(lián)調(diào),。 此時(shí),一個(gè)基本版的打地鼠游戲就完成了,。這是一個(gè)標(biāo)準(zhǔn)的“問(wèn)題拆分-逐項(xiàng)解決-綜合匯總”的過(guò)程,。在這個(gè)過(guò)程中,主要的難點(diǎn)并不是Scratch代碼本身,,而是讓同學(xué)們理解這個(gè)思考的過(guò)程,。 事實(shí)上,如果在沒(méi)有提醒的情況下,,絕大部分孩子會(huì)按照最習(xí)慣的做法,,一上來(lái)就連放六個(gè)地鼠,然后逐個(gè)調(diào)整和修改,,難免顧此失彼,。當(dāng)然,老師也會(huì)愿意讓他們犯一下這樣的錯(cuò)誤,,然后再和上面的方法進(jìn)行對(duì)比,,加深對(duì)思考方法的理解。 完成這個(gè)基礎(chǔ)版本后,,老師會(huì)一步一步的提出新的功能,,讓同學(xué)們?cè)诂F(xiàn)有游戲的基礎(chǔ)上實(shí)現(xiàn): 1-計(jì)分功能。打中一只地鼠加一分,,這個(gè)把之前學(xué)的變量概念加進(jìn)去,。 2-限時(shí)功能,,30秒鐘一到游戲結(jié)束,記錄下多輪游戲的最高分,,做個(gè)排行榜出來(lái),。 3-仿效“水果忍者”游戲,給地鼠中加入一個(gè)危險(xiǎn)的炸彈,!如果炸彈冒出來(lái)被擊中了,,則扣10分! 完成這三個(gè)挑戰(zhàn)功能后,,這個(gè)項(xiàng)目就成功結(jié)束了(目前一堂課內(nèi)完成以上功能要求的同學(xué)不到一半),。但是我們還會(huì)留一個(gè)開(kāi)放問(wèn)題給意猶未盡的孩子: 如果你把這個(gè)游戲給你的朋友玩,他覺(jué)得太簡(jiǎn)單了,,希望你提升難度,。同時(shí)你的妹妹也想玩,但她覺(jué)得太難了,,希望減少難度,。你如何為游戲設(shè)計(jì)一個(gè)難易程度機(jī)制,并方便的調(diào)節(jié),? 這個(gè)開(kāi)放問(wèn)題沒(méi)有標(biāo)準(zhǔn)答案,,孩子們可以自由發(fā)揮。小魚(yú)同學(xué)選擇的方法是加了個(gè)開(kāi)關(guān),,如果“Hard”模式的話,,地鼠出來(lái)得時(shí)間更短,而且出來(lái)后還會(huì)隨機(jī)左右移動(dòng)一下,,更加難打中了,。說(shuō)實(shí)話,這個(gè)設(shè)計(jì)出來(lái)也出乎我的意料,,我原先考慮就是加快速度縮短冒頭時(shí)間這樣的標(biāo)準(zhǔn)套路,,但小魚(yú)的這個(gè)隨機(jī)移動(dòng)讓我有點(diǎn)驚喜。 以上例子,,是我們Scratch課程設(shè)計(jì)思想的體現(xiàn):重要的不是完成這個(gè)趣味小游戲本身,,而是同學(xué)們用什么樣的思考方式和思維模型完成這個(gè)任務(wù)。通過(guò)這樣的趣味程序設(shè)計(jì)操作,,讓編程思維得到鍛煉,。 除此以外,Scratch的友好功能和豐富的表現(xiàn)能力,,讓孩子能夠借助這一工具表達(dá)出更多的創(chuàng)意。這是一個(gè)國(guó)內(nèi)四年級(jí)女生,,為校園“愛(ài)護(hù)環(huán)境,,節(jié)約用水”環(huán)保宣傳月活動(dòng)做的小游戲: 如果說(shuō)打地鼠游戲中我們更多考慮的是算法和邏輯部分,,那這個(gè)小游戲則是藝術(shù)和創(chuàng)意的良好體現(xiàn)。對(duì)于一個(gè)10歲的孩子來(lái)說(shuō),,這個(gè)作品是很有亮點(diǎn)的:
小魚(yú)同學(xué)看到了這個(gè)作品后,,馬上反應(yīng)過(guò)來(lái):爸爸,這個(gè)和我做得那個(gè)接金幣的小游戲是一樣的吧,。我說(shuō)沒(méi)錯(cuò),,小姐姐把金幣換成了水,加上小老鼠和甲蟲(chóng)的對(duì)話,,告訴大家要節(jié)約用水,,是很不錯(cuò)的創(chuàng)意啊,!小盆友們?cè)陂_(kāi)心的玩這個(gè)小游戲的同時(shí),,潛移默化的也接受了愛(ài)惜水資源,節(jié)約用水的環(huán)保理念,。 受這個(gè)的啟發(fā),,我決定讓小魚(yú)做個(gè)環(huán)保垃圾分類的小游戲,天上掉下不同的垃圾:Organic,、Recycle和Garbage,,下面是小魚(yú)同學(xué)推動(dòng)綠蓋、藍(lán)蓋和黑蓋的垃圾桶去接垃圾,。垃圾只有進(jìn)入正確的框子里面才能得分,,很環(huán)保有木有? (啪,!此處收獲小魚(yú)媽媽響亮怒斥:搞什么不好,,讓兒子撿垃圾,你這個(gè)創(chuàng)意太扯了?。,。?/span> 從上面的例子可以看出,編程和下棋其實(shí)很相似,,都是在既定規(guī)則下解決問(wèn)題,。規(guī)則并不復(fù)雜,卻能變化無(wú)窮,。你的思維能力的邊界就是這個(gè)編程世界的邊界,。邏輯是程序的基礎(chǔ),,邏輯走不通的程序很快就能夠通過(guò)運(yùn)行結(jié)果反饋出來(lái)。通過(guò)反復(fù)的練習(xí)和修正來(lái)提升邏輯思維能力,??偨Y(jié)一下編程中得到的思維訓(xùn)練如下: 1、抽象思維練習(xí):編程源于現(xiàn)實(shí)世界,,但又不是現(xiàn)實(shí)世界,。須有有能力抽象出機(jī)器能夠理解的語(yǔ)言來(lái)表達(dá)。 2,、解決問(wèn)題:編程的過(guò)程是將一個(gè)復(fù)雜的問(wèn)題拆解為若干簡(jiǎn)單的問(wèn)題,,先解決一部分問(wèn)題,或者假設(shè)問(wèn)題的解決來(lái)倒推須有的條件,。每一個(gè)問(wèn)題的解決過(guò)程就是這些思維的不斷運(yùn)用的過(guò)程,。 3.試錯(cuò)與糾正:調(diào)試的過(guò)程就是不斷的嘗試,不斷修正來(lái)解決問(wèn)題的過(guò)程,。這個(gè)過(guò)程的練習(xí)能夠鼓勵(lì)小朋友勇于嘗試,。 4.創(chuàng)造思維:小朋友很容易接受游戲化的學(xué)習(xí)方式,而編程有結(jié)合的很自然的游戲化學(xué)習(xí)方式,。小朋友能做到不僅僅是玩游戲,,也可以自己編游戲,體驗(yàn)創(chuàng)造規(guī)則的樂(lè)趣,。 5.工程思維:每一個(gè)編程項(xiàng)目都是一個(gè)工程過(guò)程,,有設(shè)計(jì)、編碼,、調(diào)試,、發(fā)布的不同階段。在這個(gè)過(guò)程的練習(xí)能鍛煉小朋友合理安排流程的能力 Scratch作為優(yōu)秀的工具,,給孩子的想象力和邏輯思維能力插上了翅膀,。體會(huì)到Scratch的真正樂(lè)趣,在Scratch中真真正正地有所收獲,,這樣的孩子,,怎么會(huì)不喜歡編程?,!希望每一個(gè)學(xué)習(xí)編程的孩子都能收獲這份樂(lè)趣,,拓寬眼界! |
|
來(lái)自: chenholly1 > 《計(jì)算機(jī)課》