王元卓
新聞鏈接:
2017年7月,國務院印發《新一代人工智能發展規劃》,要求在中小學階段設置人工智能相關課程,逐步推廣編程教育,鼓勵社會力量參與寓教于樂的編程教學軟件、游戲的開發和推廣。2018年1月,教育部公布《普通高中課程方案和語文等學科課程標準(2017年版)》,人工智能、物聯網、大數據處理正式被納入《普通高中信息技術課程標準》新課標。在此背景下,編程熱潮掀起:多套編程教材發布、編程培訓班異?;馃帷⑶嗌倌陝撔赂傎怉I項目風頭正勁……
近年來,編程教育在世界范圍內“流行”起來。在美國,編程、機器人等新技術早已走進了中小學校,其他很多發達國家也都在鼓勵孩子們盡早接觸編程,培養孩子的創新能力,鍛煉孩子的邏輯思維能力。在我國,國務院發布的《新一代人工智能發展規劃》明確指出,人工智能成為國際競爭的新焦點,應實施全民智能教育項目,在中小學階段設置人工智能相關課程、逐步推廣編程教育、建設人工智能學科,重視復合型人才的培養,形成我國人工智能人才高地。
Scratch之父米切爾·瑞斯尼克對未來的編程有一個很好的定義:編程不只是為了學習技術或者找工作,而是一種新的表達方式,也是新的學習方式。而編程能力和計算思維是眾多新型工科人才的必備基礎素質,從這個意義上說,青少年學習編程是推動我國新型學科人才培養的重要基礎。
學編程如何培養創新能力
編程能力是培養青少年創新意識的重要手段。創新意識會讓孩子擁有更豐富的想象力以及不斷產生新想法的能力,而孩子的創新意識大都是在生活中積累起來的。在當今這個科技爆炸的時代,每天都有大量新的科技成果涌現。青少年編程能力的培養對孩子日后的學習具有重要的正向作用,其關鍵在于能帶給孩子快速學習新技能、新知識的能力。
創新包括“創造思維”和“動手實現”兩個階段,同時“動手實現”又會在很大程度上促進和改善“創造思維”。在人工智能時代,很多創新的想法都需要通過計算機程序來實現,編程能力也因此成為我們實現創新思維不可或缺的手段。
青少年的學習目標應該是興趣驅動發展,在興趣中培養自己的思維方式與創新能力,并且從中獲得樂趣。當孩子們通過自己親手設計并動手實現的一段程序,做出了一段可交互的動畫、一個智能小游戲,甚至控制了一個機器人的行動,他們會得到極大的成就感和滿足感。由此,他們也將不斷動腦去完善自己的設計,改進自己的作品。而當孩子遇到現有知識實現不了的想法時,就需要去學習新的知識,如此呈現螺旋上升的態勢。
此外,對于編程教育逐漸低齡化的現象,筆者認為這是科技發展的必然趨勢。越來越多我們曾經認為只能出現在科幻電影中的技術和產品,現已成為我們的日常用品,如智能機器人已經成了孩子們的玩具。這導致深度接觸智能技術和智能產品的群體越來越低齡化,很多四五歲的孩子已經可以熟練操作一些智能玩具或者計算機程序,他們其實已具備了學習編程的基礎條件。
但幼兒學習編程一定要注意方式方法。區別于青少年,教授幼兒編程時應以直觀的圖型界面、動態的輔助工具,幫助孩子理解自己的操作會產生什么樣的結果。例如,通過拖拉拽的方式實現對實體機器人行動、表情、語言的控制,從而讓幼兒對編程產生愿意學習下去的興趣。
培養計算思維比學會編程語言更重要
計算機專業及其相關方向,已經成為高等院校招生規模最大的學科之一,且本科以上的計算機教育已經非常成熟。然而,在青少年階段就加入編程的信息技術課程,不僅在我國還處于摸索階段,英國和美國也是在2016年以后才開始嘗試推行的。放眼全球,目前還沒有可以借鑒的成熟經驗。
中國工程院院士李國杰,是國際上最早倡導培養計算思維的科學家之一。早在2009年,李國杰便提出,計算思維是指運用計算機科學的基礎概念求解問題、設計系統和理解人類行為,它選擇合適的方式陳述一個問題、對一個問題的相關方面建模,并用最有效的辦法實現問題求解。計算機科學本質上源自數學思維和工程思維。然而,計算思維遠遠不只是為計算機編程,它是抽象的、多層次的思維,與“讀寫能力”一樣,是人類的基本思維方式。培養孩子們的編程能力,不僅要求其學會閱讀、寫作和算術,更重要的是學會計算思維。計算思維既可以提高人的邏輯思維、發散思維、批判性思維能力,又能培養善于思考、勤于觀察、慎于實踐的良好習慣。
中國科學院計算技術研究所(以下簡稱“計算所”)所長孫凝暉認為,計算思維是每個人的基本技能,今后每個人都需要具備和掌握“編程”能力。因為未來的萬物互聯時代,人、機、物共存,人與計算機通過編程來交流,編程將會是一個基本的素質要求。計算機的貢獻在于突破人類自身智慧的限制,解決之前無法解決的問題。然而一直以來,計算機僅僅被看作高科技工具,計算機科學技術則被認定為工具學科和輔助學科。這種狹隘的認知對信息化普及和智能化升級是極為不利的,信息技術是當今社會必需的普適資源。人才的培養和信息素養的提升,關系到國家興盛。
擁有創新能力比編寫程序更重要
青少年學習編程,其實并不是簡單地學習一兩門編程語言。學習編程和學習一門“外語”并不一樣。編程更重要的是思維的訓練。編程語言只是通過計算機解決問題的一個工具,它的基本語法很容易了解,但熟悉編程語言的規則并不代表能編寫出程序。
青少年學習編程,也并非簡單地學習如何編寫代碼,而是學習計算機語言背后所蘊含的復雜多變的邏輯運算與計算思維,進而養成良好的邏輯思維能力。只有通過學習編程達到了思維訓練的目的,培養了孩子的創造性思維,才能為人工智能時代打下人才的基礎。
編程教育的核心目標應該是培養學生的計算思維,以此鍛煉學生的創新能力。編程教育可以訓練學生提出問題、解決問題的能力,與傳統教育模式進行有效的互補,通過具體的實踐活動,激發和培養學生的創造力,逐步解決我國創新能力不足的問題。
編程能力培養需要專業環境和良性生態
目前,越來越多的家長開始重視編程學習,青少年編程教育行業擁有巨大的市場。但如雨后春筍般興起的教育機構,教學水平參差不齊。我曾看到有些教育機構的宣傳材料上宣傳,某個名人幾歲就開始學編程、學習哪種計算機語言可以參加什么比賽、通過多長時間的學習可以讓孩子取得怎樣的比賽成績等。這些宣傳的內容和定位,從根本上曲解了政府所倡導的“人人學編程”的理念。學習編程是要引發孩子更多的獨立思考,培養他們分析問題、解決問題的能力,是為了實現思維方式和創新能力的全面提高,絕非生硬地學習某種計算機語言,按照既定的程序結構,實現一個人人類似的程序執行結果,更不是為了考級或取得某些競賽成績。
對于青少年來說,缺乏合適的學習工具是當下推行編程教育亟待解決的一個問題。美國麻省理工學院很早就推出了適合編程入門學習的編程語言LOGO,但因其對孩子來說晦澀難懂,又于2008年推出Scratch。Scratch圖形化的操作,便于9歲以上孩子理解和掌握,現在已取得非常大的影響力。Google公司開發的開源軟件Blockly,更是將這種積木塊狀的可視化編程風格移植到多種編程語言之上,進一步推動了編程教育的普及。將編程理念融入玩具中,催生了很多的編程機器人產品,其中影響力最大的就是樂高的教育機器人系列。孩子們接觸這些編程機器人,有助于培養他們最基礎的程序結構概念和樸素的編程思維。
然而,教育畢竟是一個系統化的工程,Scratch和樂高機器人只能起到“入門”的作用,并不能支撐起體系化的課程。計算所正在探索圍繞計算思維,構造適合中小學生的編程教育課程,包括計算邏輯思維、系統思維、算法思維、協議和網絡思維等幾大體系,并開發了適合學生學習和教師教學的編程語言和軟硬件工具。編程語言方面,計算所正在設計和研發一款適合青少年編程教學的全新編程語言(木蘭),支持可視化編程,具備高度的開放性,可以更好地支持各種硬件設備、傳感器元器件、云端服務,讓學生能夠做出更豐富的創意作品,鍛煉計算邏輯思維。此外,計算所還開發了支持單片機的可視化編程工具,可以在軟件上驗證學生設計的電路和程序是否正確,解決了一大教學難題,并通過軟硬件的綜合設計鍛煉學生的系統解決能力。目前,計算所正與地方合作開展教材的編寫工作,并與中國關心下一代工作委員會合作開展全國性公益項目,為地方建立信息技術相關的名師工作室,從技術上指導地方教師,提高教師的教學水平。到2019年底,預計將幫助2000所中小學改善編程教育環境。
如何加快普及青少年編程教育、建立良性生態環境,從而讓孩子掌握一門與未來世界溝通的語言、培養孩子的計算思維和創新能力,需要教育主管部門、學校、科研機構、培訓機構等社會各界共同努力,在實踐中不斷探索。
(作者系中國科學院計算技術研究所大數據研究院院長)
責任編輯:王夢茜