張渝江
學(xué)習(xí)編程不僅是為了讓學(xué)生能順利找到工作,更重要的是編程將影響21世紀世界上的每一個職業(yè)。認識到這一點的任何一個國家都將長期受益。
在美國,90%的父母希望自己的孩子學(xué)習(xí)計算機科學(xué),因為計算機是美國經(jīng)濟中增長最快的和最賺錢的行業(yè)。2015年,Code.org預(yù)計,到2020年美國將有140萬的計算機相關(guān)工作機會,然而只有40萬計算機科學(xué)的學(xué)生。更為嚴峻的是,據(jù)谷歌2016年早些時候的一項調(diào)查發(fā)現(xiàn),有3/4的初中和高中不提供編程課程。專家認為,學(xué)習(xí)編程不僅是為了讓學(xué)生能順利找到工作,更重要的是編程將影響21世紀世界上的每一個職業(yè)。認識到這一點的任何一個國家都將長期受益。顯然,學(xué)校教育沒有與社會的需求匹配,這會導(dǎo)致巨大的人才缺口,進而影響經(jīng)濟的發(fā)展。
許多教育者也認為將編程納入課堂將有助于培養(yǎng)學(xué)生的計算思維。計算思維包含了數(shù)學(xué)性思維和工程性思維,而其最重要的思維模式就是抽象話語模式——是把一件事情先抽象出來,再邏輯化表達出來的能力。編程學(xué)習(xí)把計算機科學(xué)知識與創(chuàng)造能力相結(jié)合,能夠促進學(xué)生邏輯推理能力和解決問題能力的提高。因此,一些學(xué)校開始嘗試把編程與K12課程相結(jié)合,從小培養(yǎng)學(xué)生復(fù)雜的思考能力。世界各地許多學(xué)校已經(jīng)開設(shè)了編程課程和項目,讓學(xué)生通過協(xié)作設(shè)計網(wǎng)站、教育游戲和移動應(yīng)用、新產(chǎn)品的建模和原型開發(fā),來為當?shù)貙嶋H問題設(shè)計解決方案。
《2016地平線報告(基礎(chǔ)教育版)》中預(yù)測,在兩年內(nèi)更多的基礎(chǔ)教育學(xué)校將把“編程”作為一項基本素養(yǎng)來培養(yǎng)學(xué)生。不過,很多學(xué)校即便是開始了編程教學(xué),仍然沒有取得實質(zhì)性的突破。除了傳統(tǒng)觀念的束縛外,更多的是因為教學(xué)資源和師資的缺乏。
編程一小時
盡管學(xué)校還沒有大規(guī)模開設(shè)編程課程來進行普及性的編程教學(xué),民間的編程推廣活動卻方興未艾。2013年,由公益組織Code.org倡導(dǎo)的“編程一小時”(The Hour of Code) 拉開序幕。很多美國政界和科技界領(lǐng)軍人物以及科技大公司紛紛加入進來,或為其站臺,或資助和聯(lián)合開展活動。目前“編程一小時”已經(jīng)發(fā)展成為一個全球性活動,有來自全球180多個國家、數(shù)以千萬的學(xué)習(xí)者參加。任何人在任何地方都可以組織“編程一小時”活動。每個教學(xué)內(nèi)容長1小時,充滿游戲化的樂趣,有40多種語言支持,4歲以上的孩子都可參與。更重要的是,學(xué)習(xí)此課程無需編程經(jīng)驗,教師能快速地組織學(xué)生參與進來。
教師如何成為編程教師
教師開始編程教學(xué)并非想象的那么令人生畏。真正困難的是從程序員轉(zhuǎn)變?yōu)榫幊汤蠋煛麄儾欢虒W(xué)卻聘請成本昂貴。作為一個訓(xùn)練有素的教師,具備成為一個成功的編程教師的技能——熟悉教學(xué)和善于學(xué)習(xí)。另外,作為學(xué)校編程教師,你不必把開發(fā)一個Facebook這樣復(fù)雜的任務(wù)拿來為難自己,只需要能教授基礎(chǔ)知識即可,余下的就是激發(fā)學(xué)生的創(chuàng)造力了。
教師如何開始編程教學(xué)
教師可以通過以下步驟來開始編程教學(xué)。
1. 尋找在線編程教學(xué)資源
互聯(lián)網(wǎng)上有大量的免費編程教學(xué)資源和編程工具,能滿足從小學(xué)到高中的不同學(xué)段的學(xué)生學(xué)習(xí)編程的需求。比如:可汗學(xué)院的“一小時編程”有大量的課程來教會學(xué)生關(guān)于JavaScript、HTML/CSS和SQL等編程的知識和技能。Code.org上則有更豐富的“一小時編程”課程,還可以獲得很多專業(yè)人士的支持。
2. 創(chuàng)建一對一教室環(huán)境
每位學(xué)生都有一臺終端能提供良好的學(xué)習(xí)編程的環(huán)境,但并非必需。研究表明,學(xué)生在共享一臺電腦并且共同工作的結(jié)對編程中學(xué)習(xí)效果最好,應(yīng)當鼓勵學(xué)生們結(jié)對互助。編程是計算思維和程序語言的綜合運用,涉及邏輯和問題解決,而不是每時每刻都需要電腦。事實上可以有很多“不插電”活動來讓學(xué)生學(xué)習(xí)這種技能。比如,利用生活中的事情來教會學(xué)生基礎(chǔ)的計算機原理:讓學(xué)生在30分鐘內(nèi)煮好飯。但是如果按部就班(煮粥要10分鐘,洗菜切菜10分鐘,炒菜要5分鐘……)把這些事情一個個分開做,30分鐘可能不夠。這就要考慮如何排序,做到在30分鐘內(nèi)完成這些事——這就是“任務(wù)分配原理”。還有常見的利用“二進制卡片”來游戲化學(xué)習(xí)二進制數(shù)和比特概念等活動。
3. 信任學(xué)生
不要低估學(xué)生完成任務(wù)的能力。特別是教師也非專業(yè)程序員時,更應(yīng)放開方向盤,讓學(xué)生成為司機。因此,教師應(yīng)大膽把計算機科學(xué)課程開始運轉(zhuǎn)起來,你就會不斷得到學(xué)生能做得更好的反饋。
4. 不要一個人戰(zhàn)斗
當你開始編程教學(xué)后,盡量多找志同道合之士來幫忙?;ヂ?lián)網(wǎng)上有豐富的智力資源供教師使用,這樣你可以更快地回應(yīng)學(xué)生的問題。你還可以聯(lián)系家長,看有沒有編程高手愿意幫忙,甚至進入教室輔助你的教學(xué)。分享是愛好編程人士的特質(zhì)之一,所以你不必擔心自己是一個人在戰(zhàn)斗。
5. 使編程有趣
編程常常被認為是枯燥乏味的。因此,選擇合適的課程資源,讓孩子感受到進步和成長,這是讓學(xué)習(xí)有趣最有力的支撐?,F(xiàn)在有很多編程工具都非常有趣,在教師較少的干預(yù)下引導(dǎo)學(xué)生通過一系列游戲化的謎題和任務(wù)來學(xué)習(xí)計算思維。
編程軟件工具推薦
1. 適合 6歲以上學(xué)生
Tynker——這個APP工具使用代碼塊創(chuàng)建程序。小孩子也能輕松創(chuàng)建自己的應(yīng)用程序。比如:它讓學(xué)生寫互動故事,設(shè)定英雄和惡棍來構(gòu)建復(fù)雜的角色扮演游戲。他們甚至還可以創(chuàng)建自己的Minecraft(我的世界)修改器。你可以下載這個APP的教師版,其中包括計劃工具和培訓(xùn)視頻幫助你支持學(xué)生探索。
2. 適合8歲以上學(xué)生
Scratch——這是目前全球流行最廣的視覺化的免費編程游戲軟件,由麻省理工學(xué)院開發(fā)和支持,有下載版和網(wǎng)頁版可供使用。對于初學(xué)者來說,無需記住命令,僅需移動彩色模塊且集中注意力來創(chuàng)新完成任務(wù);還可以控制傳感器板來制作好玩的機器人玩具。該工具還內(nèi)置豐富的“一小時編程”課程,學(xué)??煽焖俚匾氲秸n堂中。
MIT APP Inventor——與Tynker相似,這個APP仍使用視覺化模塊來教編程的概念和過程。不過不再是簡單的在游戲中玩耍,而是去完成一個真正的開發(fā)項目。通常在學(xué)習(xí)一小時后,學(xué)生就可以創(chuàng)建一個簡單的APP。MIT APP Inventor也幫助學(xué)生從這些簡單快捷項目擺脫出來,建立更大的項目。官網(wǎng)設(shè)有論壇,教師和學(xué)生們可以在其中尋求幫助,以及找到老師工具和項目的想法。該APP還包含了樂高MINDSTORMS組件,學(xué)生可以用編程控制樂高機器人。
3. 適合10歲以上學(xué)生
Encode——這個只支持Android系統(tǒng)的APP可以讓學(xué)生隨時隨地參加編程課程。即便學(xué)生不聯(lián)網(wǎng)也可以學(xué)習(xí)編程。
Encode僅聚焦于JavaScript編程,以教會學(xué)生編寫復(fù)雜的網(wǎng)頁應(yīng)用程序和游戲的能力。它還提供了基于文本的編程基礎(chǔ)訓(xùn)練,可以使學(xué)生學(xué)會更高級的編程語言。 能夠創(chuàng)建自己的游戲,也能幫助他們將教育游戲化,通過創(chuàng)建工具來教年輕的學(xué)生。
4. 適合11歲以上學(xué)生
Codecademy——通過一套課程計劃、學(xué)生追蹤工具和教師培訓(xùn)來提供一個堅實的計算機科學(xué)課程。本課程包括HTML、CSS、JavaScript jQuery、PHP和Ruby等語言的學(xué)習(xí),以及建設(shè)一個交互式網(wǎng)站的教學(xué)內(nèi)容。
5. 適合13歲以上學(xué)生
GoLearningBus專業(yè)版——這個APP包括的教程涉及Ruby on Rails、HTML5、Java、PHP、 C、 C++、COBOL、SQL等,一站式為學(xué)生提供更廣泛的編程學(xué)習(xí)知識。其中,各種各樣的訓(xùn)練能讓學(xué)生獲得真實世界的技能以幫助他們進入大學(xué)學(xué)習(xí)計算機科學(xué)或開始一份計算機相關(guān)的職業(yè)。
編程與硬件結(jié)合
編程的過程充滿樂趣。如果學(xué)生有一個想法,馬上就可以通過編程來實現(xiàn),并且可以立即看到效果。這種即時的反饋,會讓學(xué)習(xí)興趣變得越來越濃厚,也越來越有信心。更進一步,如果這種效果不局限在屏幕中而能轉(zhuǎn)變?yōu)榱Ⅲw的產(chǎn)品,在用于改善生活品質(zhì)、促進生產(chǎn)等方面帶來價值,那就更棒了。這就需要把編程與硬件結(jié)合。下面介紹一些常見的可編程驅(qū)動的基礎(chǔ)硬件。
Raspberry Pi(樹莓派)——最廉價的電腦。樹莓派接上顯示器和鍵盤鼠標等輸入設(shè)備可用作編程的終端電腦。如果與其他感應(yīng)套件和動力裝置結(jié)合,也可以用來被編好的程序所驅(qū)動,成為智能機器的核心部分。編程部分較難,建議水平較高的學(xué)生使用。
Hummingbird Robotics Kit(蜂鳥機器人套件)——Arduino套件。組織和編程驅(qū)動Arduino為核心的智能機器更容易。編程部分簡單,適合中等水平學(xué)生使用。
樂高機器人——學(xué)生喜歡的玩具,新的NXT套件有很酷的機器人,可以編程。硬件拼合組裝比前面兩種套件更容易,編程也簡單,適合初級水平學(xué)生使用。
“編程一小時”中文網(wǎng)站資源推薦給國內(nèi)教師,請掃二維碼。