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



