說起編程思維的包裝和訓(xùn)練,你知道嗎?(圖)
2021-11-01
與很多孩子學(xué)習(xí)編程的家長交流后,鄧博士發(fā)現(xiàn)了一個共同點:家長其實并不理解孩子為什么要學(xué)習(xí)編程。他們覺得反正買個課程也不貴,孩子也喜歡,就去試試。!另外,一些理工科背景的家長也對自己孩子的項目有些疑惑:好像孩子在玩房子之類的東西,小伙伴們真的是在學(xué)習(xí)編程嗎?希望看完這篇文章,家長們能夠了解課程背后的所有設(shè)計思路,不再對這兩個問題感到困惑。
毫無疑問,因為它的趣味性網(wǎng)絡(luò)編程技術(shù) 課程設(shè)計要求,它在青少年編程領(lǐng)域得到了廣泛的認(rèn)可。這種樂趣的背后是編程思維的包裝和訓(xùn)練。說到編程思維,我們先來看一個耳熟能詳?shù)墓适拢?/p>
數(shù)學(xué)王子高斯小學(xué)三年級的時候,老師讓他從1+2+3增加到100,總和是多少?其他同學(xué)一一數(shù)出數(shù)字的加法,只有小高斯注意到這些數(shù)字是可以成對的,總和是101:
1+100=101
2+99=101
......
一共50對,最后可以用乘法求和:()=5050。
數(shù)學(xué)王子的驚人天賦給我們留下了深刻的印象。同時,不要忘記高斯的解題思路:只要有重復(fù)的問題,就一定有規(guī)律。高斯先提取這個定律,然后求解。這就是編程思維中常說的問題拆分、抽象思維和模式識別。高斯的思路其實解決的不僅僅是從1加到100。如果老師把101加到200,201加到300,這個模型就可以解決了。進一步擴展,您可以推廣用于對任何范圍 [a, b] 中的任何連續(xù)整數(shù)求和的公式:(a+b)x (b-a+1)/2.
編程中有一個重要的概念:順序執(zhí)行。這意味著程序需要按照一定的順序執(zhí)行語句,這就要求學(xué)生在編程時將自己想要實現(xiàn)的功能分解成多個具體的步驟,并考慮不同步驟之間的關(guān)系和觸發(fā)條件。
學(xué)過編程的孩子在思考問題的時候,會更加關(guān)注問題內(nèi)部各個因素之間的關(guān)系,對解決問題的步驟會有更清晰的思考。這涉及到大量的數(shù)學(xué)和邏輯知識。在編程中,還要考慮到程序執(zhí)行時出現(xiàn)的各種可能性,鍛煉了學(xué)生的全面細致的思維。此外,在學(xué)習(xí)編程的過程中,學(xué)生會不斷嘗試,面臨挑戰(zhàn),不斷經(jīng)歷失敗,不斷從錯誤中學(xué)習(xí)。只有在經(jīng)歷了這些之后,他們才能最終得到程序的正確運行。
我們來看一個例子:倉鼠是孩子們非常喜歡的一種小游戲。通過這個,我們可以學(xué)習(xí)如何通過創(chuàng)作來訓(xùn)練編程思維。
當(dāng)孩子開心的開始這個小程序時,老師會先引導(dǎo)孩子思考以下問題:
1、 屏幕上的6個地鼠重要嗎?這六只地鼠沒有任何關(guān)系。它們是根據(jù)隨機數(shù)來控制是否會出現(xiàn),然后用一個隨機數(shù)來決定它們會出現(xiàn)多長時間。因此,一和六的代碼是一樣的,只是復(fù)制使用的角色。為了保持屏幕整潔,讓我們從一個地鼠開始,讓它變得頑皮。
2、 識別錘子的狀態(tài):正常、移動、敲擊。用鼠標(biāo)移動錘子,按下鼠標(biāo)鍵并點擊來實現(xiàn)這個過程。
3、給錘子和倉鼠添加判斷邏輯。如果錘子擊中倉鼠,則會顯示特殊效果,表示得分成功。
4、 調(diào)試好后,復(fù)制一只倉鼠的6個副本進行聯(lián)調(diào)。
至此,一個基本版的鼴鼠游戲就完成了。這是一個標(biāo)準(zhǔn)的“問題分離-逐項解決方案-綜合總結(jié)”過程。在這個過程中,主要的難點不是代碼本身,而是讓學(xué)生理解思考過程。
其實,如果沒有提醒,絕大多數(shù)孩子都會按照最習(xí)慣的做法,依次放六只倉鼠,然后一一調(diào)整修改。當(dāng)然,老師也會愿意讓他們犯這樣的錯誤,然后與上述方法進行比較,加深他們對思維方法的理解。
完成這個基礎(chǔ)版后,老師會逐步提出新的功能,讓學(xué)生在現(xiàn)有游戲的基礎(chǔ)上實現(xiàn):
1-評分功能。打一個地鼠并加一分。這增加了之前學(xué)習(xí)的變量的概念。
2-限時功能,一旦游戲在30秒內(nèi)結(jié)束,記錄多輪游戲的最高分并制作排行榜。
3-模仿“水果忍者”游戲,給地鼠添加危險炸彈!如果炸彈出來并被擊中,將被扣10分!
完成這三個挑戰(zhàn)功能后,項目順利完成(目前一個班級完成以上功能需求的學(xué)生不到一半)。但我們也會為仍然感興趣的孩子留下一個懸而未決的問題:
如果你把這個游戲給你的朋友,他覺得太容易了網(wǎng)絡(luò)編程技術(shù) 課程設(shè)計要求,希望你增加難度。同時,你姐姐也想玩,但覺得難度太大,希望能降低難度。如何為游戲設(shè)計難度等級機制并方便調(diào)整?
這個開放性問題沒有標(biāo)準(zhǔn)答案,孩子們可以自由玩耍。小宇選擇的方法是加個開關(guān)。如果使用“硬”模式,倉鼠出來的時間會更短,出來后會隨機左右移動,更難被擊中。說實話,這個設(shè)計出乎我的意料。本來想的是加速縮短出現(xiàn)時間的標(biāo)準(zhǔn)套路,可是小魚這種隨意的動作讓我有些意外。
上面的例子是我們課程設(shè)計思維的體現(xiàn):重要的不是完成這個有趣的游戲本身,而是學(xué)生用什么樣的思維和思維模式來完成這個任務(wù)。通過這樣有趣的編程操作,可以鍛煉編程思維。
此外,友好的功能和豐富的表達能力讓孩子們可以用這個工具來表達更多的創(chuàng)造力。這是國內(nèi)四年級女生為校園“愛護環(huán)境,節(jié)約用水”環(huán)保宣傳月活動制作的一款小游戲:
如果我們更多地思考打地鼠游戲中的算法和邏輯,那么這個小游戲就是藝術(shù)和創(chuàng)造力的一個很好的體現(xiàn)。對于一個10歲的孩子來說,這幅作品是非常亮眼的:
畫面干凈清爽,元素豐富
以上下文的方式介紹游戲玩法,合乎邏輯且引人入勝,連接自然
游戲操作方法直接在對話中指示,玩家簡單易懂,作者很有同理心
保留環(huán)保主題,生動有趣傳遞節(jié)水理念
看到這個作品,小宇同學(xué)立刻反應(yīng)過來:爸爸,這和我做的收集金幣的小游戲一樣。我說是。小姐姐把金幣換成了水,再加上小老鼠和甲蟲的對話,告訴大家要節(jié)約用水,真是個好主意!小伙伴們在開心地玩這個小游戲的同時,也巧妙地接受了珍惜水資源、節(jié)約用水的環(huán)保理念。
受此啟發(fā),我決定讓小魚做一個環(huán)保垃圾分類的小游戲。不同種類的垃圾從天而降:,,,下面是小宇同學(xué)推著綠色、藍色、黑色的垃圾桶去撿垃圾。垃圾只有進入正確的盒子才能得分。它環(huán)保嗎?
(嘿嘿!這里,被收割的小玉媽媽大怒:怎么了,讓她兒子撿垃圾,你的想法太可笑了?。?/p>
從上面的例子可以看出,編程和國際象棋實際上非常相似,它們都在既定規(guī)則下解決問題。規(guī)則并不復(fù)雜,但它們可以無休止地變化。你的思維能力的邊界就是這個編程世界的邊界。邏輯是程序的基礎(chǔ),程序運行失敗,可以通過運行結(jié)果快速反饋。通過反復(fù)練習(xí)和糾正,提高邏輯思維能力。總結(jié)在編程中得到的思維訓(xùn)練如下:
1、抽象思維練習(xí):編程源于現(xiàn)實世界,但又不是現(xiàn)實世界。必須有能力抽象出機器能理解的語言來表達。
2、 解題:編程的過程就是把一個復(fù)雜的問題拆解成若干個簡單的問題,先解決一部分問題,或者假設(shè)問題解決了,逆向必要條件。解決每一個問題的過程,就是不斷應(yīng)用這些思想的過程。
3. 試錯糾錯:調(diào)試的過程是不斷試錯解決問題的過程。在這個過程中練習(xí)可以鼓勵孩子嘗試。
4.創(chuàng)造性思維:孩子們很容易接受游戲化的學(xué)習(xí)方法,而編程有一種自然的游戲化的學(xué)習(xí)方法與之結(jié)合。孩子們可以做的不僅僅是玩游戲,他們還可以自己制作游戲,體驗創(chuàng)造規(guī)則的樂趣。
5.工程思維:每個編程項目都是一個工程過程,有不同的設(shè)計、編碼、調(diào)試、發(fā)布階段。在這個過程中練習(xí)可以鍛煉孩子合理安排過程的能力
作為一款優(yōu)秀的工具,它為孩子的想象力和邏輯思維能力增添了翅膀。你體驗到的真正樂趣,在中真真正的收獲,這樣的孩子怎么會不喜歡編程呢?!希望每一個學(xué)習(xí)編程的孩子都能從中獲得樂趣,開闊眼界!