■方陵生 編譯
“編碼俱樂(lè)部”里的孩子們
“阿爾,從沒(méi)見(jiàn)過(guò)這么有趣的游戲!你要不要來(lái)玩玩?”加布里埃正在制作一個(gè)水果機(jī)視頻游戲?!芭?,我的是一個(gè)飛機(jī)游戲,因?yàn)槲蚁胍鲆幻w行員。”阿爾轉(zhuǎn)動(dòng)了一下轉(zhuǎn)椅答了一下,然后轉(zhuǎn)身繼續(xù)在屏幕前操作起來(lái)。
這里是倫敦市中心的一個(gè)課外活動(dòng)俱樂(lè)部,6名9~10歲的孩子都全神貫注地在筆記本電腦前忙碌著,他們熟練地操縱著屏幕上的代碼塊,將它們安排在合適的位置上,讓那些色彩明亮的卡通人物在屏幕上穿梭。
邊上的伊米蒂亞正在設(shè)計(jì)的“火箭發(fā)射”程序似乎遇到了一些小麻煩,發(fā)射出去之后沒(méi)有出現(xiàn)預(yù)料中耀眼的煙花效果,而是變成了另一個(gè)火箭,他皺起眉頭,左右看看,似乎想要尋求幫助。
但是在這個(gè)“編碼俱樂(lè)部”里,一向都鼓勵(lì)孩子們自己動(dòng)手解決問(wèn)題,經(jīng)過(guò)多次失敗的嘗試之后,他發(fā)現(xiàn)只要從程序的其他部分復(fù)制一個(gè)爆炸循環(huán)子程序過(guò)來(lái)就可以了,“我成功了!”他高興地大喊起來(lái)。
和大多數(shù)學(xué)齡兒童不同的是,這些不同尋常的孩子們正在開(kāi)創(chuàng)新一代小小編程員之先河。不久前,英國(guó)開(kāi)始了一項(xiàng)前所未有的大規(guī)模實(shí)驗(yàn),這些即將開(kāi)學(xué)的孩子們的課程表上將會(huì)增加一門(mén)新的課程——計(jì)算機(jī)編程。5~11歲的學(xué)童將學(xué)習(xí)掌握的“現(xiàn)代語(yǔ)言”,不是意大利語(yǔ)、法語(yǔ)或德語(yǔ),而是計(jì)算機(jī)編程語(yǔ)言。計(jì)算機(jī)編程能力將和讀、寫(xiě)、算三種能力一起,成為21世紀(jì)兒童教育的第四種重要能力。新一代小小程序員正在成長(zhǎng)起來(lái)。
“學(xué)習(xí)如何編程是一種新的文化現(xiàn)象,”馬薩諸塞州塔夫茨大學(xué)的瑪麗娜·伯爾斯指出。這種新文化將會(huì)如何有別于舊有的文化傳統(tǒng)?它對(duì)于人與計(jì)算機(jī)的關(guān)系又將意味著什么?令人驚訝的是,這方面幾乎沒(méi)有什么研究。有證據(jù)表明,計(jì)算機(jī)編程學(xué)習(xí)可以提高孩子們的抽象思維能力和解決問(wèn)題的能力。還有一些人認(rèn)為,我們將因此永遠(yuǎn)改變?nèi)祟惻c技術(shù)的交互關(guān)系。不過(guò)總的說(shuō)來(lái),我們正在步入一個(gè)未知的領(lǐng)域。
這個(gè)“編碼俱樂(lè)部”是2012年由程序員克萊爾·蘇特克列弗和琳達(dá)·山特維克創(chuàng)辦的,當(dāng)時(shí)只是一個(gè)臨時(shí)性的短期班,為孩子們提供一些學(xué)校里沒(méi)能學(xué)到的東西。但沒(méi)想到,之后許多自愿者紛紛仿效,在英國(guó)各地建立了近2200個(gè)這樣的“編碼俱樂(lè)部”,有大約30000名兒童在“編碼俱樂(lè)部”里學(xué)習(xí)計(jì)算機(jī)編程的基本原理和技能。如今計(jì)算機(jī)編程不再只是為孩子們提供一種課外興趣活動(dòng)而已,編碼俱樂(lè)部還建立了專門(mén)培訓(xùn)計(jì)算機(jī)編程教師的分支部門(mén)。
小小程序員學(xué)些什么
10年前,麻省理工學(xué)院多媒體實(shí)驗(yàn)室的米切爾·雷斯尼克和他的同事就產(chǎn)生了鼓勵(lì)孩子們?nèi)?dòng)手創(chuàng)造的想法,他們開(kāi)發(fā)了一種名為Scratch的簡(jiǎn)易編程工具,這是一種供孩子們學(xué)習(xí)和玩耍的簡(jiǎn)單有趣的編程語(yǔ)言。孩子們?cè)诰幋a俱樂(lè)部里使用Scratch編程工具,可以創(chuàng)建一些簡(jiǎn)單的程序,通過(guò)移動(dòng)現(xiàn)成的指令塊,形成想要的程序序列,而不是通過(guò)字符輸入來(lái)編制程序,然后只要點(diǎn)擊某個(gè)按鈕來(lái)運(yùn)行代碼程序就可以了。
隨著孩子們年齡的增長(zhǎng),他們可以學(xué)習(xí)更多的編程技能,例如如何修改代碼塊,如何將他們?cè)O(shè)計(jì)的軟件程序發(fā)到Scratch網(wǎng)站上。自2007年這個(gè)網(wǎng)站推出以來(lái),分享了600萬(wàn)個(gè)以上的Scratch程序項(xiàng)目,所有程序都向小網(wǎng)民們開(kāi)放,可以重復(fù)使用、重新組合或進(jìn)行進(jìn)一步的改進(jìn)。“我們希望孩子們擁有自主設(shè)計(jì)的創(chuàng)造能力,能夠用計(jì)算機(jī)編程來(lái)表達(dá)心中的構(gòu)想?!崩姿鼓峥苏f(shuō)道。
在這個(gè)編碼俱樂(lè)部里,勞拉的成績(jī)出類拔萃?!拔覀儗W(xué)會(huì)了如何殺死一個(gè)女巫,并讓它變成一個(gè)幽靈?!彼院赖卣f(shuō)。她還制作了自己的臉部圖像,讓它在屏幕上隨著煙花的爆炸旋轉(zhuǎn)。
勞拉具體學(xué)些什么呢?Scratch編程語(yǔ)言中的一些關(guān)鍵概念與一些更高級(jí)的編程語(yǔ)言有著共通之處。例如,編程的關(guān)鍵之一是要弄清程序運(yùn)行的先后順序,對(duì)于達(dá)到某個(gè)目的先后步驟事先就要心中有數(shù),此外,她還學(xué)習(xí)了其他一些基本的編程概念,如重復(fù)某些步驟的循環(huán)子程序,以及可以同時(shí)運(yùn)行的并行子程序等。
最重要的是,像勞拉這樣的孩子們還可以學(xué)習(xí)如何調(diào)試程序,通過(guò)程序運(yùn)行發(fā)現(xiàn)錯(cuò)誤代碼,找出錯(cuò)誤原因,調(diào)整后重新運(yùn)行程序,觀察結(jié)果如何,直到達(dá)到滿意的效果,這一過(guò)程對(duì)于計(jì)算機(jī)編程至關(guān)重要,但雷斯尼克指出,這同時(shí)也是孩子們?nèi)蘸笊钪械囊环N重要技能。
我們學(xué)習(xí)數(shù)學(xué)和其他自然科學(xué),不僅僅因?yàn)樗鼈儽旧淼闹匾?,也是因?yàn)橥ㄟ^(guò)這種學(xué)習(xí)過(guò)程,培養(yǎng)有用的思維方式?!坝?jì)算機(jī)科學(xué)很好地體現(xiàn)了這一點(diǎn)”,谷歌英國(guó)工程總監(jiān)邁克·沃里納這樣認(rèn)為。對(duì)于軟件如何操作數(shù)據(jù)了解得越多,會(huì)導(dǎo)致產(chǎn)生更多的質(zhì)疑心態(tài)。“你會(huì)像一個(gè)科學(xué)家一樣地提出問(wèn)題,”芝加哥德保羅大學(xué)的安伯·塞特爾說(shuō),“然后你會(huì)琢磨數(shù)據(jù)的處理方法?!睋Q句話說(shuō),學(xué)會(huì)像計(jì)算機(jī)科學(xué)家一樣思考,好處并不只是弄懂計(jì)算機(jī)的工作原理。
學(xué)習(xí)編程對(duì)兒童的影響
然而,學(xué)習(xí)編程對(duì)年幼孩子會(huì)產(chǎn)生怎樣的實(shí)際影響?這方面的研究目前尚寥寥無(wú)幾,大多數(shù)研究仍然只限于引用上世紀(jì)80年代道格拉斯·克萊門(mén)茨的研究成果,即:學(xué)習(xí)使用編程語(yǔ)言可以提高孩子們的抽象思維能力。
不過(guò)這是很有道理的,因?yàn)橛?jì)算機(jī)科學(xué)是建立在抽象概念之上的。正如城市地圖抽象展現(xiàn)實(shí)際的街道和建筑布局一樣,但其他一些隱含信息,如城市人口分布,交通情況等,并不一定會(huì)在地圖上體現(xiàn)出來(lái)。計(jì)算機(jī)程序系統(tǒng)亦呈這種分層疊架結(jié)構(gòu),每一層下面都隱含著更多隱藏細(xì)節(jié),例如我們手中的智能手機(jī),屏幕上所能看到的只是計(jì)算機(jī)技術(shù)在我們面前所顯示出來(lái)的冰山一角而已。
抽象能力對(duì)于設(shè)計(jì)算法也很重要,解決同一個(gè)實(shí)際問(wèn)題可以有多種算法。了解如何創(chuàng)建一個(gè)高效算法,需要擁有對(duì)問(wèn)題的分析能力,找出問(wèn)題的關(guān)鍵所在,并集中于所要解決的主要問(wèn)題。例如某道烹飪配方的算法,配料選擇和操作步驟是關(guān)鍵,而廚具和廚房則不是。
這正是華盛頓微軟研究所的珍妮特·溫格所稱的“計(jì)算機(jī)式思維”的一部分,另一部分則是提出問(wèn)題以及計(jì)算機(jī)分步執(zhí)行方案的能力。自2006年創(chuàng)造了“計(jì)算機(jī)式思維”這個(gè)術(shù)語(yǔ)以來(lái),溫格所描述的計(jì)算機(jī)式思維產(chǎn)生了極大影響,其影響甚至體現(xiàn)在了英格蘭的新課程設(shè)計(jì)中。訓(xùn)練孩子們的這種思維方式——關(guān)注某個(gè)相關(guān)謎題,通過(guò)有條不紊的步驟來(lái)解決它——為他們提供了一個(gè)解決問(wèn)題的強(qiáng)大工具。孩子們學(xué)習(xí)如何將大問(wèn)題分解成更小更容易解決的問(wèn)題?!俺碎喿x、寫(xiě)作和算術(shù)之外,我們應(yīng)該再加上計(jì)算機(jī)式思維能力這一項(xiàng)?!睖馗裾f(shuō)道。
這一切對(duì)于一個(gè)5歲的孩子來(lái)說(shuō),將意味著什么呢?今年玩具市場(chǎng)上甚至將會(huì)出現(xiàn)一些旨在讓學(xué)齡前兒童學(xué)習(xí)一些基本編碼知識(shí)的新穎玩具。伯爾斯和她的團(tuán)隊(duì)設(shè)計(jì)了幼童版的Scratch Jr,它更簡(jiǎn)單一些,是一種純圖形化版本的Scratch程序語(yǔ)言,適合5~6歲的孩子,讓他們?cè)趯W(xué)會(huì)讀和寫(xiě)之前,就能了解和學(xué)習(xí)一些基礎(chǔ)的計(jì)算機(jī)編程技能。
學(xué)習(xí)計(jì)算機(jī)編程的順序概念,有助于孩子們理解從開(kāi)始到結(jié)束,學(xué)習(xí)數(shù)字的正確順序,以及更好地理解日常活動(dòng)的有序性等?!傲私庀群箜樞虻闹匾裕呛⒆觽冋J(rèn)識(shí)世界的基礎(chǔ),包括從數(shù)學(xué)到日常生活中的一切?!辈疇査拐f(shuō)道。例如,在最近的研究中,伯爾斯和她的同事發(fā)現(xiàn),教孩子們學(xué)習(xí)簡(jiǎn)單的編程語(yǔ)言,能夠提高他們按正確順序講述故事的能力。
學(xué)習(xí)編碼并不是了解順序重要性的唯一教學(xué)方式,但它擁有其他途徑所沒(méi)有的優(yōu)勢(shì),通過(guò)計(jì)算機(jī)編碼,孩子們可以立即看到自己采取的步驟和行動(dòng)的結(jié)果。例如,如果孩子設(shè)計(jì)了一個(gè)讓機(jī)器人往前走四步的程序,運(yùn)行結(jié)果發(fā)現(xiàn)它反而向后倒退,那么這個(gè)孩子馬上就能發(fā)現(xiàn),程序中用了錯(cuò)誤的指令。
“雖然我們不知道究竟是什么在影響著計(jì)算機(jī)式的思維,”但塞特爾認(rèn)為,“它至少會(huì)讓我們對(duì)如何通過(guò)計(jì)算機(jī)編程工具得到我們想要的結(jié)果,以及如何對(duì)這些工具進(jìn)行調(diào)整以得到不同的結(jié)果,有一個(gè)更深層次的了解。”
多年來(lái),我們對(duì)一些大科技產(chǎn)品已經(jīng)習(xí)以為常,比如“臉譜網(wǎng)”和谷歌等,它們大多是由一個(gè)有機(jī)會(huì)進(jìn)入美國(guó)頂尖大學(xué)深造的群體設(shè)計(jì)創(chuàng)建的。教育更多的人學(xué)習(xí)計(jì)算機(jī)編程,是否意味著下一代人看待事物和行為的視野會(huì)更加寬廣呢?
伯爾斯希望如此?!拔蚁M麆?chuàng)造未來(lái)技術(shù)的是一個(gè)更為廣泛的社會(huì)群體,而不僅僅只局限于工程師和計(jì)算機(jī)科學(xué)專業(yè)這樣一個(gè)群體,”她說(shuō),“當(dāng)任何人都可以創(chuàng)建產(chǎn)生新技術(shù)時(shí),我們會(huì)看到一個(gè)由不同想法的人創(chuàng)造的多彩世界?!?br> 或許最重要的是,下一代人不再只是新技術(shù)的消費(fèi)者,同時(shí)也將是新技術(shù)的創(chuàng)造者。雷斯尼克認(rèn)為,這將成為普及計(jì)算機(jī)編程技術(shù)產(chǎn)生的一個(gè)重要的連鎖效應(yīng),“我們將開(kāi)始看到人們?yōu)榻鉀Q問(wèn)題而使用電腦,因技術(shù)進(jìn)步最終受益的,將是整個(gè)人類社會(huì)?!?br>
專家評(píng)點(diǎn) 為什么要讓孩子學(xué)習(xí)編程
在英國(guó)皇家工程學(xué)院、微軟和谷歌的幫助下,學(xué)校計(jì)算機(jī)科學(xué)的課程設(shè)計(jì)將教導(dǎo)孩子們?nèi)绾尉幹茦?gòu)建軟件,而不僅僅只是簡(jiǎn)單的學(xué)習(xí)如何使用軟件。孩子們學(xué)習(xí)的是如何創(chuàng)建簡(jiǎn)單的算法,理解計(jì)算機(jī)編程的一些簡(jiǎn)單原理等。
這個(gè)戲劇性的變化是以英國(guó)視頻游戲行業(yè)為核心的計(jì)算機(jī)行業(yè)多年游說(shuō)的結(jié)果。例如,面對(duì)高科技工作需求持續(xù)上升的形勢(shì),“新生代技能計(jì)劃”一直在教育領(lǐng)域內(nèi)大力推動(dòng)英國(guó)數(shù)字經(jīng)濟(jì)發(fā)展所需要的計(jì)算機(jī)技術(shù)技能教育。
“制約發(fā)展的一個(gè)主要因素是缺少大量精通計(jì)算機(jī)技術(shù)的畢業(yè)生。”樹(shù)莓派(Raspberry Pi)的發(fā)明者之一埃博恩·厄普頓如此認(rèn)為。樹(shù)莓派是專門(mén)設(shè)計(jì)用于課堂教學(xué)的小型單板計(jì)算機(jī),可以連接到顯示器或者電視上,加上鍵盤(pán)之后,就可以編程并像傳統(tǒng)PC一樣做很多事情。
但所有的孩子都應(yīng)該學(xué)會(huì)計(jì)算機(jī)編程嗎?畢竟最終從事專業(yè)計(jì)算機(jī)編程的終究只是少數(shù)人,就像不是每個(gè)人都要學(xué)會(huì)修車或?qū)W會(huì)開(kāi)車一樣,為什么計(jì)算機(jī)編程就應(yīng)該與別的技能不一樣呢?大多數(shù)日用科技產(chǎn)品都有精確的設(shè)計(jì)目標(biāo),我們只需要知其然,而不需要知其所以然。例如,智能手機(jī)、一些應(yīng)用程序和網(wǎng)站等,它們都有自己的特定功能,我們只要教會(huì)孩子如何上網(wǎng),如何使用微軟辦公軟件等就可以了,多年來(lái)都是這么做的,難道這樣還不夠嗎?
麻省理工學(xué)院多媒體實(shí)驗(yàn)室的米切爾·雷斯尼克并不這樣認(rèn)為,他說(shuō):“學(xué)習(xí)編程會(huì)讓人與計(jì)算機(jī)技術(shù)之間建立一種新的關(guān)系,他說(shuō),它將產(chǎn)生一種新的思維方式,以一種新的方式來(lái)看待周圍的世界?!?br> 誠(chéng)然,大多數(shù)孩子長(zhǎng)大后都不會(huì)成為專業(yè)程序員。事實(shí)上,一些面對(duì)消費(fèi)者的計(jì)算機(jī)技術(shù)產(chǎn)品,從智能手機(jī)到智能汽車,都傾向于技術(shù)密封型,即使我們想要改動(dòng)它也沒(méi)有那個(gè)可能。但是雷斯尼克認(rèn)為,這也正是密封蓋下面所包含知識(shí)如此重要的部分原因。
孩子們通過(guò)計(jì)算機(jī)編程,可有助于他們?cè)谝粋€(gè)數(shù)字平臺(tái)日益發(fā)展的環(huán)境中茁壯成長(zhǎng),計(jì)算機(jī)技術(shù)如今在我們的生活中占據(jù)了統(tǒng)治地位,孩子們需要看到他們能控制某些東西,他們不應(yīng)該成為只是別人創(chuàng)造物的被動(dòng)接受者。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。