王愛勝
新課程標準已經出臺,新課程即將實施,信息技術教學又將迎來一個全新的春天。在這個春天里,將是一派程序教學、技術實驗、人工智能、開源設計、移動應用設計等百花爭艷的局面。在此情形之下,從教學一線到教育媒體都是群情激昂、躍躍欲試,這非常令人鼓舞。特別是,本次課標修訂從理念、內容到過程都得到了充分的醞釀與打造,把計算思維、人工智能、開源設計等納入其中,給一線教學帶來更時尚、更前沿的方向,這的確值得期待。當然,有些媒體或輿論借此東風,推出了程序教學、創客教育成為新課程的核心等稍有夸張的觀點或倡議,也有殷切地盼望人工智能教育從小學抓起的美好愿景等,歡欣的氣氛展現的場面很大、角度很新,這是一種可喜的序幕,也希望是能夠持續的故事。
但是,教育是面對全國人民素質和國家人才培養的教育,在主觀的激情過后,畢竟還是要面向客觀現實,讓理想照進現實,用現實推動理想,這才是正常的教育秩序。為此,教師需要根據新課標、新教材、新高考去設計、實施、推進新課程,程序教學也是如此。本文在此不討論程序教學在新課程教學、新高考評價中應占有的份量,也不討論新課程中程序教學在全國中學的實施程度,更不討論新課標中程序教學是不是核心主體。本文只對程序教學在新課標、新課程實施中,受客觀現實的影響可能發生的方向嬗變進行討論,以使教師在教學中有所預見,注重把控,及時調整,防止在盲目狂熱中因受到冷水的澆潑而失望,折中、鈍化課標的期望。
不論是小學科,還是大學科,只要面向考試,就要小心教學走向應試化。信息技術學科不論是仿真式的操作題、概念還是分析式的填空題,一直很難走出應試的窠臼。觀察以往各地的學業水平考試甚至相關的高考,想要充分體現真實的能力還是比較難的。雖然,這并非是考試的初衷,也不會因此阻礙教學的推進,但對程序教學而言預先知道這種最普通的“俗化”路徑,就可以適當地避免,或者采用更多技能創新式教學來糾正或彌補程序教學本來的意義。
應試程序教學的語法教學典型的特征就是以繁瑣的語法常識講解為主。新的程序教學將更多地采用Python這門靈活而開放的語言,如果想講更多的語法那就太漫長了。單是模塊導入,各種不同功能的模塊就讓人眼花繚亂,更別說根據不同的環境去安裝繁雜的工序。因為Python更多的是面向過程入門,而不是面向對象入門,如果糾結在命令和語法的細節上,教學進程將會非常緩慢,再加上傳統課堂的教師講解,那又將重回到死氣沉沉、不知所云的教學。更可悲的將是用大量的對照習題研究變量、表達式的值,分析程序的執行過程等應式技能訓練了。
克服這種現象的方法是:以問題解決為主線在編程中不斷積累語言知識、技術能力,拋棄詳細的語法講解;練習、測試以編程任務為主體,大幅減少填空、選擇這類教條式記憶。
教育的目標是一個最根本的問題,也是一個最受關注的問題。高中信息技術課程面向大眾教育與精英教育在上一輪課標中就已經有了很好的限定,即通過“必修+選修”的方式處理。在程序教學方面,必修只有一部分關于利用計算機解決問題的一般方法,在選修中通過算法與程序設計對學生進行全面培養。因為上一輪新課程走向了統一選修的局面,多數學校根據自己學校的師資和當地的情況集體選擇了一門選修課,程序教學在經濟中偏下的地區都被忽視了。
這一輪課標在結構上又有很大的變化。首先,必修一“數值與計算”會大量地進行程序教學的一般方法教學,對基本的編程技術、算法設計進行基于計算思維的學習;其次,在選擇性必修中通過“數據與數據結構”對編程中常用的數組、鏈表、隊列、棧、樹等存儲結構,以及排序與查找、迭代與遞歸等經典算法進行學習,這就進一步強化了編程的專業化學習;最后,在選修中通過“算法初步”對較高難度的貪心、分治、動態規劃、回溯等進行深化學習。另外,在移動應用設計、開源設計、數據管理等領域也涉及相關的編程語言,從應用開發的角度進行編程學習。可以說,整體上程序教學應在教學中占有更多的分量。
但教學實踐中在“培養什么人”的問題上教師們可能會對課標、教材的學習方向產生分歧。雖然在必修一“數值與計算”中明確通過1.6、1.7兩條提出了基本算法、程序設計語言的要求,但畢竟前面五條是基于數據、信息及數字化等方面的內容。可見,此必修中的程序設計仍然是面向大眾、基于計算思維的一種普及教育、素養提升,并非單純面向編程教育。即使教材、教學都用更大量的內容占用學時,但其難度、深度也都是面向大眾的素養。這樣做當然也是有道理的,因為編程雖然很重要,但畢竟國家是需要各種人才的,這些人才都了解、體驗到計算思維是合適的。過度要求學生編程技能是不現實的,也是不應該的。青少年階段是知識儲備期,更是技能成長期,以生為本的個性化教學也好,國家人才儲備戰略也好,多樣化人才的培養、職業生涯規劃教育等都指向一個公理:編程教學不具有強制性。再說,編程本身是一種比較耗時的學習過程,偏向其他專業方向的學生不宜耗費大量的編程學習時間。而后面選擇性必修、選修的設定也都是有針對性設計的。
因此,教師要給學生充分的自由以進行選擇性必修、選修,避免再次出現統一選修,只有給對編程熱愛的學生更多的獨立氛圍和時間,才能真正實現利用編程教學進行IT精英教育的目標,避免因為大眾和精英教學的混搭而再次出現不倫不類,精英方向上淺嘗輒止、大眾方向上又強人所難的問題。
另外,在編程教學的方向上還存在一些具體的任務模仿式學習、項目探究式學習、競賽專項式訓練等教學方向,這都期待教師針對學生提高效益,把課標深化落實而不是只作旗幟。等過幾年,浪花淘盡,我們一起再次審視編程教育是腳踏實地還是吶喊搖旗時,就自然會發現預先分析教學的定位、方向是多么現實而重要了!