12月初,《關於政協十三屆全國委員會第三次會議第3172號(教育類297號)提案答覆的函》公布了,對提案中建議的「推動編程教育納入我國基礎教學體系」進行答覆,稱將把包括編程教育在內信息技術內容納入到中小學相關課程。從而幫助學生掌握信息技術基礎知識與技能、增強信息意識、發展計算思維、提高數位化學習與創新能力、樹立正確的信息社會價值觀和責任感。
少兒編程被納入中小學課程的必要性這個問題,中科院軟體所武延軍給出了答案。
1. 目前高水平軟體人才極其短缺,在中國也是如此。雖然軟體從業人員基數較大,但是真正的高水平程式設計師一才難求。
去年年初,IEEE Spectrum( IEEE 綜覽雜誌)上的一篇論文對中國、印度、俄羅斯和美國四個國家的計算機科學(CS)專業的學生水平進行了比較。結果顯示,美國處於領先位置。現實情況也是如此,國內大型IT公司長期面臨著國內高水平人才供給不足的問題,不得不把目光投向矽谷,通過高薪引入領軍人物。
一個高水平的程式設計師必須積累足夠長時間的編程經驗,特別是在計算思維和架構設計上,要從小就養成良好的習慣。從「HelloWorld」的簡單程序,到作業系統、編譯器這樣的鴻篇巨著,需要無數程式設計師的努力。參與其中也同步收穫了豐厚的市場回報。例如比爾蓋茨、賈伯斯、扎克伯格都曾經熱衷於編程。
2. 編程能力培養並不會讓人的思維僵化,反而會培養人有意識地把僵化、重複性工作用機器去實現。
我們驚嘆於SpaceX獵鷹火箭的自動返回和太空艙自動對接,大狗機器人的靈活,伐木鋤草農機的高效。而這些背後,都是程序化思維實踐結果。
把一件複雜的任務分解再分解,把一些重複的模塊合併再合併,把所有能夠自動化的流程抽象成程序,把所有能夠工具化的功能沉澱成工具。這就是編程能夠帶給我們的思維習慣。
為了同樣的目標,花費同樣的努力,人和人在成就上為什麼會有巨大區別?很大程度上在於有些人能否把重複的、不需要創造力的事情交給機器去完成,而把更多時間投入到關鍵的、需要創造性突破的事情上。
編程能力不僅僅反映的是計算機專業能力,也反映了對複雜運籌學的實踐能力。如何安排時間,如何調度資源,如何並行任務,如何防範風險。
3. 編程能力的培養越早越好,因為關係到一個人將來對機器和AI的掌控能力。
小孩子在很小的時候,往往喜歡做一些重複的事情。但作為教育者,不能讓孩子在簡單的事情上追求滿足感而長期重複,而應該在某個技能得到鞏固之後逐漸提升難度,引導孩子認識到簡單重複的事情可以交給機器,然後站在機器的肩膀上去衝刺下一個挑戰。AI正在為我們的生活提供越來越多的便利,但人類要做AI的主人而不是相反。
4. 編程對掌握其他學科具有重要的輔助作用。
當前任何一個行業都離不開軟體。正是長期把軟體與行業割裂的思維慣性,導致我們國家當前在工業軟體(例如EDA、CAD、CAE等軟體)領域基礎薄弱,受制於人。工業軟體對於工業行業的意義在於把專業知識(Know How)沉澱為一行行的代碼,使得這些知識更加精確,也更加容易自動化,最終形成龐大的軟體工具,提升行業的生產率。
熟練掌握編程的能力,對於身處任何一個行業中的人,都帶來了獨特的優勢。一些行業中複雜繁瑣的事情,也許通過幾行代碼就能搞定。這種解決問題的能力,對於任何人的職業發展都是加分項。
文 | 武延軍
作者武延軍 | 現任中國科學院軟體研究所智能軟體研究中心主任、博士生導師。主持多項國家級科研任務,主要研究方向為作業系統和系統安全。武延軍作為創始團隊成員之一最早參與發起了少兒編程教育小圖靈,現擔任有道小圖靈教研顧問。