朱坤


老子在《道德經》中有云:“天地之間,其猶橐籥乎?虛而不屈,動而愈出。”世界是不斷發展的,萬物是不斷變化的,信息技術課程也是如此,只是它變化得更快而已。面對變化的課程,我們往往會疲憊,所以要不斷地“充值”,才能夠自如地在變革的大潮中乘風破浪。
隨著《普通高中信息技術課程標準(2017年版)》(以下簡稱課標)的頒布,以及高中信息技術新教材的使用,高中信息技術學科新一輪課程改革的內容已經明確。相比2003版的課標和教材,2017版變化顯著。變化一:必修模塊一“數據與計算”中將算法與程序實現作為重點,其內容的廣度和深度都遠高于上一輪的課標要求;變化二:新一輪教材所采用的編程語言為Python,這是大部分教師沒有學習過的純代碼編程語言。算法和Python語言涉及的知識非常廣泛,教師應該學習哪些內容?達到什么程度?如何學習?這些都是信息技術教師面對的主要問題。筆者從2017年開始學習Python編程語言,同時開始教學嘗試,經過實踐,認為信息技術教師可以從以下幾方面做好知識儲備。
● 研讀課程標準,儲備學科學習方向性的知識
課標從內容要求、教學提示和學業要求等方面,對算法與程序實現提出了要求和建議。我們可以從中提煉出本學科學習的方向,明確學習的知識框架。例如,從內容要求中的“掌握一種程序設計語言的基本知識,使用程序設計語言實現簡單算法”這句話,我們可以提煉出“程序設計語言的基本知識有哪些呢?在Python中對應的內容是什么?”“簡單算法包括哪些內容?如何用Python實現相應的算法?”等學習方向。再如,從教學提示中的“通過編程實現枚舉法中的‘百錢買百雞等經典案例,體驗程序設計的基本過程,學習程序設計的基本方法”這句話,我們可以提煉出“其他的枚舉算法經典案例是什么?用Python如何實現呢?”“枚舉算法之外的簡單算法和經典案例是什么?用Python如何實現?”“程序設計的基本過程和基本方法是什么?”等學習方向。
通過這樣細致地研讀課標,提煉出具體的問題,便可以明確應該儲備知識的框架,然后按照這個框架,明確學習的方向性知識。在新版教材研讀中,教師可以此為依據,有針對性地在教材中尋找答案,以便更好地分析教材、使用教材。
● 熟讀教材,儲備勝任學科基礎教學的知識
對課標的研讀只能明確學習的框架和方向,而教材是對課標較為精準的解讀和具體化呈現,因此熟讀教材梳理知識點,能夠明確具體的學習內容。
不同出版社的教材有不同的風格和定位,在具體的內容組織上會有所差異。例如,某版教材將知識全部融入到項目中,在做中學;另一版本教材先提出項目,再介紹知識,最后利用知識完成項目。某版教材涉及turtle、time、math、sinomaps、jieba等5個模塊;另一版本教材涉及math、random和Image等3個模塊……教師可將多個版本的教材利用思維導圖梳理知識點,進行對比綜合,形成知識脈絡圖,進而進行針對性學習,增加教學知識儲備。
學習Python時需著重關注in操作符、列表和字典等序列類型及模塊的應用,這是Python區別于其他編程語言的主要內容。例如,圖1所示是使用in操作符和列表判斷生字的小程序,“ok_word”是一個存放學過的字的列表,“if i in ok_word”表示如果“ok_word”列表中存在“i”。這種用法非常簡潔地實現了在c++等其他編程語言中需要使用循環遍歷才能實現的功能。
● 挖掘教材,儲備適應學生個性化需求的知識
課標提倡項目學習,教材中的范例都是基于生活情境的小項目,這些小項目一般具有一定的挖掘空間。例如,筆者看到某版教材中的范例“最強大腦”游戲時,第一反應是應該增加“如果輸入超時便結束游戲”的功能。為了實現這個功能,筆者多方查找資料,最終找到了解決問題的方法。在查找資料的過程中,筆者知道了shell和命令行下運行Python代碼可能得到不同的結果,知道了還有sys、msvcrt等模塊可能會在教學中用到,知道了print()命令flush參數的作用等Python知識。這些知識是教材沒有直接體現的,如果不進行教材范例的挖掘是無法發現的。
雖然挖掘教材范例需要的知識不是教學必備的,但卻可以在解決學生層次差異、引導學生深入學習、激發學生學習興趣、預防課堂“尷尬”等方面發揮一定的作用。這部分的知識儲備有一定的不確定性和難度,需要教師在準備教學時充分考慮,提前準備,也需要關注學生課堂上提出的問題,不斷積累,以滿足學生的個性化需求。
● 拓展教材,儲備提升學科魅力的知識
教學的重要目標之一是在學生心中種下一粒種子,使其慢慢發芽、生根、長大、開花、結果。這粒種子需要使用一些“魅力”知識來播種,而“魅力”知識僅從教材中獲得是不夠的,需要教師進行拓展。
例如,圖2和圖3是求解非線性方程組和繪制3D等高線的代碼及運行結果圖。兩個例子分別涉及數學學科和地理學科知識,短短的十幾行代碼就能夠解決較為復雜的學科問題,對學生的觸動是可想而知的。如果教師能夠“輕而易舉”地給學生呈現這樣的跨學科應用范例,那粒種子一定會深深植入學生心田。
這方面的知識儲備需要在具備前面的知識儲備后,在充分利用網絡資源尋找范例、閱讀代碼、修改代碼的過程中逐步提升。儲備這些知識時需要注意教材是教學的重要依據。教材所承載的知識、思維和理念是源自課標的,教師在修改范例甚至自行設計范例時,不能脫離這三方面內容。同時要牢記,算法與程序實現的教學核心不在語法,也不在算法,而在思維。算法是思維的表現,語法是實現算法的工具。
總之,儲備算法與程序實現教學知識的過程不是一蹴而就的。教師需要立足課標,依托教材,從教學需求出發,明確方向,充分利用信息技術手段循序漸進、有的放矢地進行。
本文為哈爾濱市教育學會“十三五”教育科學規劃重點課題“普通高中算法與程序實現單元教學實踐研究”(課題編號:HXHXZ-135-001)研究成果。