劉向永 馬啟娜


隨著智能化時代的來臨,人們逐漸認識到編程成為了一種人人必須具備的能力。人們依靠編程能重新認識、理解和設計人類社會系統和行為。英國著名的計算機教育專家西蒙·佩頓·瓊斯(Simon Peyton Jones)就認為“計算機編碼是高科技社會的基本語言,不懂得計算機語言就像不會閱讀、不會寫作、不會算數一樣屬于文盲,無法成為新一代勞動群體的一員。”面對未來社會的機遇與挑戰,中小學生自然也需要掌握編程的概念與方法。在中小學普及編程教育就成為了各國政府的一致共識,并都將青少年編程教育納入到國家發展戰略規劃或行動計劃中。那么,國外中小學編程教育狀況如何呢?我們全面地梳理國外狀況,供國內編程教育發展思考與借鑒。
全力推動:各國編程教育政策不斷出臺
當前,人們普遍認識到編程教育對于中小學生發展的重要性。智能時代的學生不僅僅是技術的使用者,而且要成為技術的創造者,這也逐漸成為國際教育者的共識。各國政府都從國家科技發展戰略角度認識中小學生編程教育的必要性和深遠價值。各國政府紛紛出臺了各種編程教育政策,試圖推動本國的中小學編程教育。
從表1可以看出,國外中小學編程教育政策有如下的特點:第一,編程教育已經成為了國家戰略。各國政府充分地認識到了編程教育的戰略地位,不僅僅是一項教育舉措,而且是關系到國家科技未來發展的一種戰略選擇;第二,編程教育融入中小學必修課程體系成為必然趨勢。各國政府除了推動校外編程教育外,都在積極推動編程教育課程化,從英國的計算(Computing)課程到澳大利亞的數字技術課程,編程教育的國家課程化使其能夠真正地落地;第三,統籌規劃編程教育系統措施。各國將編程教育納入中小學教育體系,只是編程教育體系中的一環。各國還積極推動編程教育的硬件設施、師資培訓等,使得編程教育系統各要素協調一致推進。
發展計算思維:編程教育的價值所向
以Scratch和Python為代表的編程教學正在成為信息技術教育的又一個熱潮。但編程教育并不是重新走以往的程序設計教育的老路,正如華東師范大學任友群教授所說:“今天我們重視編程,已然不同于幾十年前計算機教育初期的編程教育,而是在培養學生一種‘計算思維+的能力,讓個體運用計算機科學領域的思想方法,在形成問題解決方案的過程中產生的一系列思維活動和創造實踐。”[1]因此,當我們重新再看如今的編程教學時,我們仍然需要讓編程教育指向計算思維培養。正如羅伯特·汀克等人提出:“我們不能簡單地從技術的使用中獲得技術技能,正如不能從使用汽車或從飛行中獲得航空工程技能一樣。”僅僅依靠編程教育是不足以培養學生的計算思維能力的。
計算思維的概念是由卡內基梅隆大學周以真教授率先提出的。計算思維是在多個抽象層次上思考,是為了解決問題、用于設計系統和了解人類和機器智能的力量和極限。計算思維也意味著能夠超越原有的整體,構建整體的整體,或者超越整體,以不同的方式思考整體。計算思維不能夠完全地等于編程教育,兩者是有所交叉的。編程教育和計算思維之間的關系,如圖1所示。
編程教育跟社會上的編程職業培訓是不同的,目標也不是要培養程序員,而是要讓學生在編程的過程中了解如何使用計算機進行創作,進而培養嚴密的邏輯思維和良好的計算思維。因此,各國政府明確地在編程教育中規定的教學目標就是計算思維,例如英國的計算(Computing)課程目標就是“能讓學生使用計算思維和創造力來理解和改變世界”。澳大利亞的數字技術課程也是培養計算思維。因此,編程教育重點是編程過程中學生對編程概念的理解、對數字化系統設計和實現數字化產品的過程,并在過程中所培養的計算思維、系統思維和設計思維等能力。
多樣化:編程語言的選擇與使用
編程教育是要有編程語言作為載體的,編程語言會影響到編程教育的發展。從最初的BASIC語言到如今流行的Python,編程語言也在不斷地發展,也帶動著編程教育的發展。臺灣師范大學的吳正己教授就說:“就資訊科技課程而言,學習解決問題的計算思維才是最重要的,解題工具愈簡單愈好,故而許多計算機科學教育者相繼發展一些簡化的程序語言或可視化環境,如Python、Greenfoot、Alice及Scratch等,以減少學生學習程序設計的困擾,使學習更聚焦于問題解決。”[2]因此,國際上編程教育主要是使用圖形化編程語言,其中廣為使用的就是Scratch語言,因其使用圖形化界面以及易操作,越來越受到中低段學生的歡迎。圖形化編程語言的出現使得學生降低了編程難度,讓學生能更多地關注算法和編程思維,不必過度關注語法,有助于實現編程教育的真正價值。
但編程語言眾多,有的編程語言適合教育使用,有的編程語言主要用于實際軟件開發。各國編程教育所選擇的編程語言是各不相同的。從英國所做的一個調查中,我們能發現國外編程語言的流行趨勢。Scratch是小學階段當仁不讓的編程語言首選,占比達到了38%,而LOGO和KODU也占了一定比重。Python在中學階段排在了第一位,但Scratch仍然占有一定比重。從國外編程語言選擇中可以看出來,多樣化是突出特征,并不存在唯一的規定性編程語言。
對我國中小學編程教育的啟示與借鑒
國外編程教育的發展狀況其實為我國中小學編程教育提供了很好的啟示和借鑒。
第一,要確定我國小初高一體化編程教育課程體系。編程教育要想真正地落到實處,就需要在國家課程體系中確立編程教育地位。我國雖然有了高中信息技術課程標準,并加入了編程教育內容,但仍然缺乏義務教育編程教育課程。缺乏了義務教育的支撐,高中編程教育會如同空中樓閣一樣。因此,我國需要根據小初高學生不同身心發展規律,制訂好十二年一貫制編程教育課程體系。從小學低年級開始,學生從游戲化編程入手,逐漸掌握編程語言和算法,不斷加深對計算機科學概念的理解,逐漸將真實和虛擬世界鏈接起來。
第二,要加快編程教育與其他學科融合。越來越多的研究轉向強調將編程教育與其他學科進行整合。在編程教育中,要努力推進編程作為一種工具融入到所有學科教學中,鼓勵為兒童提供在正式與非正式學習環境中進行編程教育的機會。編程教育的核心是通過基于問題或者項目的教學方式,融入工程設計和技術應用,從而促進學生對數學和科學知識的學習并發展他們的高階思維能力。
第三,要加強編程教育師資建設。當前,中小學編程教育面臨的一個突出困境是師資缺乏。很多中小學校要開展編程教育卻沒有合格的編程教育師資。我國要加強職前師范生的培養,在教育技術學專業(或計算機科學等相關專業)的培養方案中,加強編程語言、人工智能、機器人、編程教育、機器人教育、創客教育等相關內容。
當然,國外狀況提供了發展的借鑒思路,我們仍然要兼顧國際趨勢和本土現狀,探索具有我國特色的編程教育之路。面向未來,只要我們認定方向,不斷努力,就會開創一個編程教育的全新世界,讓編程教育惠及每個孩子。
參考文獻
任友群. 為數字中國培養“計算思維+”新一代[J]. 中國信息技術教育,2018(5): 7.
吳正己. 信息技術課程發展: 臺灣的經驗[J]. 中國信息技術教育,2012(Z1): 13-14.
凌偉. 從設計到實施: 英國計算課程改革的經驗及啟示[J]. 基礎教育課程,2020(11): 73-80.