徐保毅
21世紀,由于現代電子信息技術的巨大變革引起的一場新的技術變革及其帶來的社會經濟結構的質的飛躍,這就是信息革命。信息革命將再一次極大提升社會生產力,被視為第四次工業革命。
大國之間信息技術競爭激烈,美國前總統奧巴馬2014年親自編程,提出“編程教學如同識字一樣,應成為基礎教育的一部分”,并發起“每天編程一小時”的教育項目,每年新增投資40億美元加強美國計算機基礎教育。2016年8月“人工智能”被加入國務院印發的《“十三五”國家科技創新規劃》,2017年兩會“大數據、云計算、物聯網等技術”被寫入《政府工作報告》,特別強調“把發展智能制造作為主攻方向”。 信息技術極大的推動了國家經濟社會發展,并改變著每一個人的生活方式和思維方式。
比爾-蓋茨13歲開始學習編程,后創建微軟,成為世界首富。馬克-扎克伯格10歲開始學編程后來他成了最年輕的億萬富翁。百度創始人李彥宏、騰迅創始人馬化騰、新浪創始人王志東、網易創始人丁磊、360創始人周鴻祎,他們都有共同的職業起點—程序員。喬布斯說,“我覺得每個人都應該學習一門編程語言,學習如何思考,我把計算機科學看成是基礎教育,每個人都應該花1年時間學習編程。”編程應該成為基礎教育的一部分,學習計算機如何思考如何解決問題。
國內高校也非常看重學生編程能力,自主招生中“信息學奧林匹克競賽”選手占有明顯優勢,例如2017年哈爾濱工業大學明確“信息學奧林匹克聯賽一等獎”自主招生直接面試(免筆試),“信息學奧林匹克競賽”全國賽優秀者(銀牌以上)清華北大可降低一本線錄取。無論從國家大局,還是個人發展角度,編程成為基礎教育必不可少的一部分。
可是我們現在中小學信息技術課程,編程涉及很少,簡單的圖形化編程并不能真正體現程序設計的靈魂“算法”。目前中小學開展的程序設計課,包括scratch、lego、appinwentor等以“塊”為主的圖像化程序設計,這類程序可以提高學生興趣,但是學生往往停留在表面,不去思考深沉數理邏輯關系。“塊”內部全面封裝,就如同黑匣子一般,計算機如何運行依然不是很明朗,簡單的邏輯判斷可以體現出來,稍稍難一些的算法基本上難以實現,甚至無法實現,例如模塊化的編程語言很難實現“遞歸算法”。圖形化編程語言在入門階段可以使用,但很難深入,不能作為程序設計核心學習方式。中小學也有VB、Javascrip等應用程序開發,這些內容其實相當好,唯一存在的問題就是在算法思維上體現的不直接,畢竟這是編程語言適合應用開發的。我們基礎教育階段,最高培養水平,應該是思維水平的提升,所學內容應該是核心靈魂“算法”,即計算思維,如果提高了學生計算思維能力,在以后高級階段學習可以如魚得水、游刃有余,因為任何編程語言本身都是外殼,只是算法實現的工具而已,任何編程語言都有可能被淘汰掉。
要真正提升學生計算思維能力,圖形化編程語言、應用類開發語言都存在弊端,還是要直截了當使用“代碼”,“代碼”直接體現計算的過程,實現算法,直接訓練和提升了學生嚴謹的數理邏輯思維能力,數理思維能力是培養一個優秀人才的關鍵。現在多數教師和領導,都將信息技術當做一個工具,這也就是為什么信息技術是副課最本質的原因“只是一個工具而已”,要將信息技術變成一個學科-“計算機科學”,擁有學科體系和學科思維,才能從本質上改變“信息技術”副課的局面。
中小學開展程序設計(代碼)真的難嗎?杭州小學四年級就開始教C++,排序算法在小學就開始教授了。湖南省初中開始C++學習,部分初三同學各種算法和數據結構達到或者超過大學水平。授課教師稱,其實剔除C++很多繁瑣的東西,限定一定的模式,學生掌握起來很容易。上海延安初級中學管晏如,小學5年級,在2016年信息學奧林匹克聯賽中獲得一等獎,而其本人以“無憂公主”為網名,推出每日一題,引起極大的社會反響。實踐證明:改變教學理念,改進教學方法,程序設計在中小學完全可以開展,并且可以培養優質生。
認真反思,在中小學開展程序設計十分必要,理由如下:
1.國家需要。信息革命到來,國與國之間的競爭,需要人才。中國要抓住第四次工業革命“信息革命”,實現“祖國偉大復興”需要高端信息技術人才。
2.人才發展需要。程序設計可以培養學生嚴謹數理思維,挖掘潛力。優質生和特長生通過程序設計提高了思維能力和解決問題的能力,參加程序設計競賽(信息學奧林匹克競賽、ACM),提升自己為一生奠定基礎。
3.課程體系完善需要。程序設計是計算機科學核心,現有信息技術課程,以多媒體應用、圖形化為主,不能體現計算機科學核心。信息技術應該有自己的學科體系,課程不能以“工具”為中心,要回歸其本質“計算科學”,程序設計直接體現“計算科學”,中小學信息技術課不能再走偏了。
4.信息技術教師發展需要。程序設計能夠為信息技術教學提供新思路新方法,教師在教學中也提升了自己。
綜上,我認為中小學應該開展程序設計和程序設計競賽,潮流不可阻擋,把握先機者勝。