上周在《看完這篇,就沒有樂高機構(gòu)能忽悠你了》這篇文章中開了個頭,和大家聊了下機器人的學習。壯壯學樂高的路徑比較奇怪,一開始就是從和我在家玩小顆粒開始的,機緣巧合碰到了一個還不錯的教練后,就動力機械和wedo都熟悉了下,就直接EV3了。
這樣進度是快,但于編程就學得很不扎實,基礎(chǔ)功能和概念幾乎是空白。包括后期我們想轉(zhuǎn)VEX機器人,也對編程有要求,所以我開始琢磨怎么給壯壯補補編程基礎(chǔ)。
01
關(guān)于我對編程的一點拙見
說實話,如果有人跟我說,是為了培養(yǎng)所謂的“編程思維”而學編程,我會持保留意見。可能連程序員都說不清楚什么是所謂的“編程思維”。
01 為什么學編程
我比較認同兩點:
孩子為未來AI和信息化爆炸的時代做好準備;
對于小學生而言,它是機器人學習必要的一部分,也可以為以后走信息學競賽路線做鋪墊。
但是如果要系統(tǒng)學習,我建議至少是小高年級。比如,年初的時候,北大附中招募5、6年級的信息化特長生,也不是考編程語言和代碼,考的是數(shù)學。因為他們默認數(shù)學這種基礎(chǔ)學科,對思維培養(yǎng)的重要性,也默認真正的編程語言,不需要提前這么早學。
02 學編程≠學scratch
跟我小時候不同,現(xiàn)在更流行的是Python,而信息學競賽指定的是C++。這些編程語言都要記指令,記語法,不適合于低年級小學生,所以出現(xiàn)了可視化編程。
比如,現(xiàn)在很火的scratch只是可視化編程語言中,積木型的一種。其他類似的還有谷歌的blocky、樂高wedo和ev3用的軟件等等。它們都是用“磚塊”代替了編程語法,幫助小朋友理解編程。
最關(guān)鍵的一點:這些可視化、積木化的編程語言,其實是一通百通的。
02
用好免費的資源抵得上1年上萬的課程
接下來,我要上資源了!都是我親自體驗篩選后,給壯壯選的小游戲。有1個免費網(wǎng)站和3個小游戲。
01 免費網(wǎng)站-Code.org
壯壯之前的教練,是機器人國際比賽的裁判,這個免費網(wǎng)站就是他安利的,是美國很多小學老師會要求學生使用的。
這個網(wǎng)站我們用了1年半了,前2周,就把編程入門搞定了,效果確實是立竿見影。不光ev3學得輕松了很多,家里小米機器人app里面的編程,稍微琢磨一下也玩得很溜了,著實省了一大筆錢。
網(wǎng)站上的課程都是免費的,課程覆蓋了整個K12階段,沒有廣告。大部分課程都有中文,專業(yè)、流暢,學習效果完全抵得過大部分收費課程。
Code.org的學生人數(shù)有4200萬,其中有46%是女孩子,他們會添加各種好看的元素,讓編程效果視覺化更美好。所以,這也是個非常合適女孩子的免費工具。
“Code.org”怎么學?
網(wǎng)站分兩部分:“計算機科學基礎(chǔ)”和“編程一小時”。
首先,登錄網(wǎng)站:https://code.org ,并在主頁底部切換語言到“簡體字”;第二步:右上角注冊登錄,就可以快開始為孩子選擇適合的課程了。
學免費課程
也就是“計算機科學基礎(chǔ)”,是主線課程,分為A~F六個個級別,每個級別都有比較詳細的課程安排,覆蓋最基礎(chǔ)的編程概念到帶有循環(huán)和參數(shù)概念的復(fù)雜程序,循序漸進,適合系統(tǒng)化的學習。
壯壯的啟蒙就是通過計算機科學基礎(chǔ)來系統(tǒng)學習編程知識的。
比如,點進去課程D,里面包含了17個主題,在開始會貼心的介紹這部分的核心學習內(nèi)容。然后,孩子可以點擊具體的課程按順序?qū)W習。
如果覺得孩子有一定基礎(chǔ),一個一個級別學習太費時間,那么可以試試快速課程,內(nèi)容包括了主線課程中的一些核心內(nèi)容。有不懂的地方,再針對性的去主線課程里面進行鞏固,也是效率非常高的一種方法。
總的來說,Code.org的入門編程課程,內(nèi)容足夠豐富、形式足夠友好。
其實在我看來,入門的孩子,只要學會了順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)和條件結(jié)構(gòu),熟悉了拖拽式的方法,就足夠應(yīng)付后期學機器人課程了。
編程一小時
“編程一小時”的版塊是壯壯最喜歡的,這個板塊更像是在孩子完成階段學習后的一次獎勵,主題非常豐富。
舞蹈派隊和冰雪奇緣更是合適女孩子,壯壯反正是堅決不選這兩個,他最愛的是過氣網(wǎng)紅《我的世界》。《我的世界》有四個主題,形式都大同小異,都是通過編程完成給出的指令,然后操作方塊大叔/大媽完成各種任務(wù)。
編程一小時有自己專門的網(wǎng)站,直接輸入網(wǎng)址好像默認的是繁體,加載很慢。所以我把簡體中文和英文的鏈接都列了出來,速度快很多。
中文鏈接:
https://hourofcode.com/cn/cn/learn
英文鏈接:
https://hourofcode.com/cn/en/learn
我認為對于學生而言,編程一小時的目的是讓你了解計算機科學的樂趣和創(chuàng)造性,幾乎沒有門檻。
02 寓教于樂的編程小游戲
除了上面這個網(wǎng)站,我還推薦只以“入門”為目標的孩子,用下面三個小游戲。興趣培養(yǎng)才是應(yīng)該放在第一位的。
盒子島(Box Island)
Box Island是有100個關(guān)卡的主線闖關(guān)游戲,也有基于code.org“編程一小時”活動,分了三個難度,完了還能生成一張code.org頒發(fā)的證書。
游戲的難度逐步推進,后面的關(guān)卡應(yīng)該是要付費解鎖的,從開始最簡單的指令,到循環(huán)和條件,都有涉及。
比如壯壯斷斷續(xù)續(xù)玩到了80多關(guān),就需要用到循環(huán)和條件嵌套了,還是需要孩子仿佛嘗試、動一番腦子的。
Lightbot
比起B(yǎng)ox island濃濃的美式漫畫風,Lightbot就清新很多,但是它的關(guān)卡不是很多,好像只有英文版。
同樣,也是闖關(guān)游戲,但不同的是,它將子程序的概念引入其中,小朋友可以嘗試先創(chuàng)建子程序,然后調(diào)用子程序來控制機器人達成亮燈的目標。
Swift Playgrounds
如果說,上面兩個游戲“玩”的分量更重一些,那Swift Playgrounds則更適合未來想走信息學競賽這條路的孩子,因為這時候接觸的可能才正兒八經(jīng)算是編程語言。其實如果只是感興趣,Swift、Python、C++看似眼花繚亂,其實學哪個都可以的,條條大路通羅馬;當然,競賽的話還是入門后老老實實學C++吧。
系統(tǒng)的教學、可視化的過程,降低了孩子理解能力的要求,蘋果直接把開發(fā)語言和教育結(jié)合在一起了,我只能說,這一招實在是“高”。
和拖方塊不同了,游戲是直接以游戲代碼進行的。
雖然初級階段,還不需要孩子自己敲代碼,在系統(tǒng)提供的代碼中直接點選就行,但呈現(xiàn)方式和可視化編程已經(jīng)非常不一樣了,而隨著學習的深入,孩子也可以選擇自己來寫代碼。
上面這幾個游戲,都是壯壯比較喜歡玩的。ios版本肯定有,Android版本我沒有特意搜過,不太確定,有需要的爸媽可以自己找一下。
最后再分享一個小神童,B站一位特別火的小學生vita君,蘋果的CEO都被他驚到過。不光是孩子,各位爸媽們也可以跟著一起學編程,哈哈。
(部分圖源于網(wǎng)絡(luò))