學(xué)校中編程課程的開(kāi)展已經(jīng)如風(fēng)暴般席卷全球。為什么要教孩子們編程呢?是否每個(gè)人都需要知道怎么敲代碼?學(xué)習編程到底有哪些好處呢?怎么給小學(xué)一年級的孩子介紹編程?讀完本文后,你就可以找到答案。
今天,現代教育正面臨著(zhù)前所未有的巨大挑戰?,F代世界的發(fā)展的變化是如此之快,而傳統的教學(xué)方式大部分是基于直接知識獲取,這種方式正在逐漸被取代。由于我們處于這個(gè)快速變化的時(shí)代,我們不再能預測學(xué)生們在將來(lái)會(huì )用到哪些知識。文明發(fā)展的里程碑是由每一個(gè)小的進(jìn)化構成的,現在已經(jīng)有大量的事實(shí)證明這個(gè)發(fā)展趨勢?;ヂ?lián)網(wǎng)和智能設備的大規模運用,使得我們能夠迅速找到湮沒(méi)在書(shū)籍中知識。所以,用大腦去記住這些知識的意義就不大了。
教育行業(yè)已經(jīng)隨之產(chǎn)生了新的變化?,F在的學(xué)校已經(jīng)開(kāi)始嘗試把重點(diǎn)放在發(fā)展創(chuàng )造力、邏輯思維能力、問(wèn)題解決能力和合作能力。即使現實(shí)社會(huì )的發(fā)展日新月異,這些技能也不會(huì )過(guò)時(shí),并且能讓人們更容易地去適應新的環(huán)境。
在學(xué)習以上能力的方法中,一個(gè)經(jīng)常被提到的工具就是學(xué)習如何編程。
編程通俗的說(shuō)法就是敲代碼,有著(zhù)非常廣泛的用途。程序管理著(zhù)我們的個(gè)人電腦、銀行服務(wù)、網(wǎng)絡(luò )服務(wù)、平板電腦、智能電話(huà),甚至洗衣機和電梯。編程就是為電腦提供指令。第一條編寫(xiě)的程序使用的是機器語(yǔ)言-即一串2進(jìn)制(0和1)數字。例如:0000 0010 0000 0000 0001 0000 0011 0100就是一個(gè)例子,機器能夠很容易執行這個(gè)程序,但是對于人類(lèi),即使是專(zhuān)家,來(lái)解釋用這種方式寫(xiě)的代碼也頗具挑戰。
為了讓編寫(xiě)代碼更有效率,非常有必要制造出一種編程語(yǔ)言:一套基于文字而不是數字的命令,并使用準確的語(yǔ)法把程序翻譯成機器語(yǔ)言。第一個(gè)計算機出現后,已經(jīng)有非常多的(超過(guò)1000種)編程語(yǔ)言問(wèn)世,每年還有更多的新語(yǔ)言出現。沒(méi)有完美或者通用的語(yǔ)言能在所有地方適用,但是科技的不斷發(fā)展讓我們可以研究新的更有效率的編程方法。各種語(yǔ)言呈現出不同的多樣性,同時(shí)這些語(yǔ)言也有共同點(diǎn)。
學(xué)習編程對于STEM(科學(xué)、技術(shù)、工程和數學(xué))領(lǐng)域的教育是一個(gè)普遍有效的方法,學(xué)會(huì )編程后使用一個(gè)鍵盤(pán)和編譯器就可以讓這些領(lǐng)域的學(xué)習者充分發(fā)揮自己的創(chuàng )造力。對于沒(méi)有學(xué)習過(guò)編程的普通人,面對編程是兩眼漆黑。社會(huì )的現實(shí)需要新的一代人成為新技術(shù)的參與者和創(chuàng )造者,而不僅僅是使用者。幸運的是,多年的研究已經(jīng)提供了各種各樣的幫助孩子們從接受教育開(kāi)始就能使用的編程工具。
Computers have and continue to change the world around us, and programmers continue to be essential. But I know firsthand from studying FORTRAN that many of us get intimidated by it and we shouldn’t be. Computer programming has become far more accessible to teach and learn, and our country needs more students to learn it.
– Randi Weingarten
President, American Federation of Teachers
早在20世紀60年代,數學(xué)家Seymour Papert已經(jīng)開(kāi)始研究把編程教育作為一種教育工具。在Jean Piaget的理論的啟發(fā)下,Papert創(chuàng )造出了第一個(gè)用以信息系統和數學(xué)教育的編程語(yǔ)言:Logo。Seymour Papert已于2016年逝世,但是現代編程教學(xué)領(lǐng)域的大部分成果都源于他的多年研究。樂(lè )高的Mindstorms機器人套裝就是在他的領(lǐng)導下由樂(lè )高集團和MIT多媒體實(shí)驗室共同開(kāi)發(fā)的革命性產(chǎn)品。套裝的名字Mindstorms實(shí)際上就是借用的Papert的著(zhù)作“Mindstorms: Children, Computers and Powerful Ideas.”他的影響亦被著(zhù)名的可視化編程語(yǔ)言Scratch的創(chuàng )造者們所銘記。感謝MIT、Tuft、LEGO和其他貢獻者,現在小學(xué)生也可以掌握編程,而以前沒(méi)有編程經(jīng)驗的老師也能進(jìn)行編程教學(xué)。
用于教學(xué)的編程語(yǔ)言通常是圖形化或者圖形與文字結合的。想要編程,只要從為數不多的控件中找到指令,然后把它們按照邏輯順序排列就行了。 整個(gè)過(guò)程只需要進(jìn)行鼠標的拖拉操作,而這些指令通常按照功能不同被設計成不同顏色的模塊,以圖標或者文本顯示。這種編程環(huán)境在視覺(jué)上非常吸引人,而且也為初學(xué)者排除了簡(jiǎn)單的語(yǔ)法錯誤(但是邏輯上的錯誤語(yǔ)言本身并不能避免)。孩子們甚至不用學(xué)會(huì )打字就能寫(xiě)程序了。
找工作時(shí)占據優(yōu)勢
根據預測,勞務(wù)市場(chǎng)對掌握ICT (Information and Communication Technology)技術(shù)的人才需求量越來(lái)越大。數字市場(chǎng)的增長(cháng)速度遠遠大于全球經(jīng)濟的平均增長(cháng)速度。歐盟公布的歐洲數字白皮書(shū)顯示,到2020年歐洲共需要90萬(wàn)ICT專(zhuān)業(yè)人士。編程技能不僅僅限于ICT領(lǐng)域的使用,其他工作中也越來(lái)越多的使用到相關(guān)知識,例如搭建簡(jiǎn)單的網(wǎng)站、app、管理線(xiàn)上商鋪等等。
Our policy at Facebook is literally to hire as many talented engineers as we can find. There just aren’t enough people who are trained and have these skills today.
– Mark Zuckerberg
Founder, Facebook
這種預測并非毫無(wú)根據,上面提到的歐洲數字白皮書(shū)中就預測到,所有工作的90%都將需要至少基礎的信息技術(shù),而目前50%的人員都不具有相應的技能。因此,我們解決的是正在面臨的巨大的專(zhuān)業(yè)不足,這也是當今的教育面臨的重大挑戰之一。研究表明,這個(gè)大坑在接受教育的前12年就已經(jīng)形成。而現在這個(gè)期間內學(xué)到的相關(guān)知識不足以應對以后在大學(xué)或工作中的需要。
Technology and computers are very much at the core of our economy going forward. To be prepared for the demands of the 21st century — and to take advantage of its opportunities — it is essential that more of our students today learn basic computer programming skills, no matter what field of work they want to pursue.
– Todd Park
U.S. Chief Technology Officer
數字能力
2012年,愛(ài)沙尼亞開(kāi)展了一個(gè)實(shí)驗項目,讓小學(xué)一年級的孩子就開(kāi)始學(xué)習編程。盡管這個(gè)實(shí)驗項目的目的不是在20年后為國家培養一批計算機科學(xué)家,更多的是著(zhù)眼于社會(huì ),讓人們可以更加自如、靈活的使用到現代技術(shù)、計算機和互聯(lián)網(wǎng)。
Learning to code makes kids feel empowered, creative, and confident. If we want our young women to retain these traits into adulthood, a great option is to expose them to computer programming in their youth.
– Susan Wojcicki
Senior Vice President, Google
MIT多媒體實(shí)驗室的Mitch Resnick分享了這樣一個(gè)觀(guān)點(diǎn):“現在的年輕人已經(jīng)體驗了大量的新技術(shù),但是很少一部分能夠創(chuàng )造出新技術(shù)或者使用新技術(shù)展現自己。就好像是數字文盲(可以用新技術(shù)讀,但是不能寫(xiě))”。不是所有人都意識到編程能帶來(lái)的好處。各種研究表明學(xué)習編程能潛在影響學(xué)生的認知能力和社交能力。接觸基礎的計算機科學(xué),能讓孩子們獲得基礎的算法思維和形成基礎的邏輯結構,這在大學(xué)階段和社會(huì )中會(huì )展現出巨大的優(yōu)勢。
計算機式的思維模式
“計算機式的思維”這個(gè)詞由Seymour Papert于20世紀80年代提出。Jeanette Wing對這個(gè)概念又做了提煉,即把一個(gè)問(wèn)題通過(guò)能被計算機執行的可理解的公式解決的過(guò)程。更為形象的理解是”像計算機科學(xué)家一樣考慮問(wèn)題“。
“計算機式的思維”還能提供課堂中很少能學(xué)到一些軟技能。例如解決問(wèn)題,分解問(wèn)題、邏輯思維、糾錯能力。這些技能在傳統的STEM項目中是非常有用的,而且在其他的社會(huì )學(xué)領(lǐng)域中也具有廣泛的適用性,如藝術(shù)領(lǐng)域。
邏輯思維
邏輯思維和理解邏輯構建息息相關(guān)。計算機按照一定的邏輯順序完成任務(wù)。只要邏輯正確,計算機的執行結果永遠和我們的預期一致。用相同的數據計算,邏輯永遠能得到相同的結果。
訓練創(chuàng )造力
基礎的編程知識能讓你獲得一個(gè)全新的表達自我的方式。如果使用得當,編程能為發(fā)展孩子的創(chuàng )造力提供巨大的幫助。就像畫(huà)筆和畫(huà)板,讓我們能通過(guò)繪畫(huà)表達我們的想法和感受,編程提供了更為豐富的表現方式:動(dòng)畫(huà)、游戲、互動(dòng)圖像等等。通過(guò)編程的學(xué)習創(chuàng )造力的訓練更為直觀(guān)和簡(jiǎn)單。一個(gè)最好的例子就是Scratch,學(xué)生的潛能能被樂(lè )高零件充分激發(fā)出來(lái)。他們使用樂(lè )高零件可以搭建和創(chuàng )造模型,這種創(chuàng )造力的激發(fā)幾乎全部是自發(fā)式的。他們可以使用Scratch編程,讓自己的模型更加智能和個(gè)性化,兩者相輔相成。孩子將編程和其他的興趣結合起來(lái),如音樂(lè )、電影或動(dòng)畫(huà),同樣對他們發(fā)揮自己的創(chuàng )造力產(chǎn)生潛在的影響。
As they created their interactive Mother’s Day cards, you could see that they were really becoming fluent with new technologies. What do I mean by fluent? I mean that they were able to start expressing themselves and to start expressing their ideas. When you become fluent with language, it means you can write an entry in your journal or tell a joke to someone or write a letter to a friend. And it’s similar with new technologies. By writing, be creating these interactive Mother’s Day cards, these kids were showing that they were really fluent with new technologies.
– Mitchel Resnick
MIT Media Lab
從錯誤中學(xué)習
編程時(shí)幾乎不可能避免錯誤。有些錯誤會(huì )產(chǎn)生挫敗感 - 每個(gè)寫(xiě)程序的人都有這樣的經(jīng)歷,花上好幾個(gè)小時(shí)去找一個(gè)遺漏的逗號。但是錯誤本身也是創(chuàng )造過(guò)程的一部分?;旧铣绦虻耐瓿梢?jīng)歷不斷的實(shí)驗和錯誤,而且每個(gè)步驟還要進(jìn)行相應的測試。這種方法的好處在于錯誤不是一個(gè)失敗,而是一次挑戰。想想有些學(xué)生們是如何被傳統的教學(xué)方法綁住手腳的,就是因為他們被錯誤一次次的羞辱。
The question to ask about the program is not whether it is right or wrong, but if it is fixable. If this way of looking at intellectual products were generalized to how the larger culture thinks about knowledge and its acquisition, we might all be less intimidated by our fears of ‘being wrong’.
現代的編程教學(xué)技術(shù)把錯誤作為一個(gè)輔助的手段。在可視化語(yǔ)言中,算法錯誤已經(jīng)被完全排除了(你基本很難從五顏六色的模塊中找到任何算法),指令只有在他們排列在一起產(chǎn)生作用時(shí)才能連接起來(lái)。
發(fā)展認知能力
學(xué)習編程的好處和雙語(yǔ)教育的好處是類(lèi)似的。學(xué)習編程在很多方面都與學(xué)習第二門(mén)語(yǔ)言類(lèi)似。在孩提階段,大腦非常適合學(xué)習新的語(yǔ)言,特別是在學(xué)習過(guò)程蘊含在他們每天的日?;顒?dòng)中時(shí)。對兒童學(xué)習編程的研究表明,與其他能力相比編程技巧的發(fā)展在同時(shí)期內的速度最快。教學(xué)方法也很重要。教學(xué)方法必須和年齡段相匹配,還要和其他的娛樂(lè )形式或其他的教學(xué)過(guò)程相結合,如藝術(shù)、閱讀等等。
想要發(fā)展邏輯能力和計算機式的思維方式,應該盡早學(xué)習如何變成。找對老師是一種挑戰,因為他們必須在孩子理解能力的基礎上完成教學(xué)。
根據學(xué)生的年齡和能力調整教學(xué)工具
小孩子們能夠比較自然的接受這樣的挑戰,只要主題和項目以合適的方式呈現并且與孩子們當前年齡段感興趣的活動(dòng)結合。市場(chǎng)上提供了各種編程教學(xué)的工具,所有這些工具都與孩子們不同的發(fā)展階段和熟練度相匹配。有些工具在各自的細分領(lǐng)域是非常優(yōu)秀的,也經(jīng)常被專(zhuān)家們所推薦。
游戲
大部分孩子對電視游戲和游戲app都很熟悉,所以當他們有機會(huì )創(chuàng )造自己的游戲時(shí),他們會(huì )滿(mǎn)懷熱情的接受這個(gè)挑戰。在使用游戲進(jìn)行編程教學(xué)時(shí)有兩種不同的方法。
在游戲中學(xué)習,這種教學(xué)過(guò)程是與游戲的內容相結合。通過(guò)完成任務(wù),學(xué)生們獲得相應的知識并進(jìn)入到下一個(gè)階段。這種模式的工具不僅僅適用于編程的教學(xué),還是適用于學(xué)校的其他項目?;陬?lèi)似的機制有各種各樣的app,如Tynker、Alice、CodeCombat等等。
游戲設計則著(zhù)重于通過(guò)編程來(lái)學(xué)習以及通過(guò)創(chuàng )造來(lái)教學(xué)。學(xué)生們可以成為他們自己游戲的游戲設計者、程序設計者和創(chuàng )造者,這可以為他們配備在真正的技能并提高他們的自信心。不容置疑的是,這種方法在今天是最有效而且最能激發(fā)學(xué)習熱情的教學(xué)方法。
機器人
機器人是另一個(gè)編程教學(xué)中令人稱(chēng)奇的領(lǐng)域??梢?jiàn)的機械結構(最好由孩子們親自完成)讓代碼變得真實(shí)。當孩子們看到身邊的機器人執行動(dòng)作時(shí),他們更想學(xué)習如何編程。
市場(chǎng)上有很多可供選擇的機器人教育套裝,但是其中最好的就是樂(lè )高教育出品的:LEGO Wedo和LEGO Mindstorms。它們的有效性是建立在孩子們對樂(lè )高磚塊的熱愛(ài)上,除此之外,它們還有其他的優(yōu)勢。裝上傳感器和馬達,在可視化編程軟件中通過(guò)孩子們的拖拉操作,就能控制這些套裝。
當我們談?wù)摍C器人時(shí),有一個(gè)與其他教育相比必須提到的優(yōu)勢。通過(guò)對真實(shí)世界的操作,機器人能教會(huì )物理知識和機械知識。通過(guò)搭建機器人,孩子們學(xué)會(huì )了馬達的相關(guān)知識,這些知識現在似乎已經(jīng)被遺忘了。通過(guò)選擇適當的機構、傳感器或者主題,孩子們能學(xué)會(huì )生物、化學(xué)、歷史或者藝術(shù)的相關(guān)知識。所以,機器人教育是真正的跨學(xué)科教育。
Whether you want to uncover the secrets of the universe, or you just want to pursue a career in the 21st century, basic computer programming is an essential skill to learn.
– Stephen Hawking
Theoretical Physicist, Cosmologist, and Author
技術(shù)的發(fā)展和世界范圍內的變化將編程從課外課堂轉杯為課內課堂。這種轉變產(chǎn)生原因在于學(xué)校畢業(yè)后獲得的能力與大學(xué)和工作能力要求之間的巨大斷層。同時(shí),研究已經(jīng)確定編程能巨大的提高軟性技能如邏輯思維、問(wèn)題解決能力、創(chuàng )造性和團隊合作,這些技能都是當今社會(huì )需要的核心技能。依托于游戲設計和機器人涉及的編程學(xué)習,對孩子們而言是充滿(mǎn)樂(lè )趣的,掌握這些工具和技能后,未來(lái)很多年內他們都將從中收益。
聯(lián)系客服