管海蓉
2017版的高中信息技術課程標準中,第一次明確提出將計算思維作為學科的核心素養。如何結合現有教材內容,在教學中融入計算思維,這是中小學信息技術教師的困惑,也是落實學科核心素養的一個關鍵問題。為了嘗試梳理這個問題,筆者組織了地區內不同年級段和學校的信息技術教師,開展了將計算思維融入當前教學的實踐研究。本研究嘗試通過教師易于理解和實施的問題解決思路,建立計算思維教學內容挖掘的一般路徑,進行義務教育階段計算思維教學內容的梳理,為一線中小學信息技術教師提供具有操作性的經驗建議。結合我區中小學信息技術課程以問題解決為主的特點,我們確立了發掘計算思維教學內容的一般研究路徑,并將其歸納為了解工具、描述問題、分解問題、確定方法、驗證結果、尋求更佳六個部分。
了解工具——計算機的工作原理和方式
計算機已經成為人們解決生活中的問題的不可或缺的工具。了解計算機的特點,知道它能做什么、擅長做什么、不擅長做什么,如何發揮其優勢共同解決問題,則是我們用好它的前提。存儲程序、順序執行、計算機的工作速度、刻板執行、對象化思維等都是計算機的工作特點和工作方式,在融入計算思維的教學中,可以由此入手,引導學生了解這些特點,以便于更好地利用工具解決問題。
以對象化思維為例,圖形化操作界面Windows的誕生,將DOS的命令行操作方式徹底顛覆,這是工具本身工作原理的變化帶來使用方式的變化,對象的概念漸入人心。然而,很多時候使用者并不自知,學科教育者則有必要將其梳理歸納,以提升工具使用的專業性和有效性。信息技術中的對象與管理,說的是基于數字化對象的管理思想和方法。對象可能是數字化設備,也可能是計算機文件,還可能是文件中的構成元素。[1]
《修改圖形》案例為我區某教師在三年級畫圖單元進行融入計算思維教育研究的展示課。本課在完成基本教學任務的同時設計了幾個活動:活動一比較紙筆繪圖和計算機繪圖的操作方式,歸納出都需要先選擇工具、給予屬性、確認位置、開始操作,這是以對象方式進行操作的體驗;活動二比較紙筆繪圖和計算繪圖的操作方式在刪除時的不同,計算機用區域選擇的方式可以更準確、快捷、高效地完成工作,但細節上的處理無法精細;活動三通過區域“加”“減”的方法繪制圖形,這是基于數據處理的計算機特殊的工作方法。
計算思維的描述比較抽象,無法直接呈現給學生,給學生的應當是去名詞化的體驗與感受。如上述設計,計算思維融入教學,只需要在現有教學內容中拓展點撥幾句,并且長期持續堅持在不同章節進行關聯與鞏固。長此以往,自然而然就會轉化成其自身素養。
描述問題——通過數字化將現實問題轉化為“可計算”問題
計算機歸根到底執行的是數值計算,將現實問題轉換成數學問題才有可能通過計算用計算機予以解決。凡是需要計算機加工處理的信息都要用數據的形式表達。[2]
例如,文字的存儲有數值化了的ASCII碼和GBK,文字的顯示打印有各種數值化了的字庫,圖片存儲的紅黃綠顏色是數值,聲音視頻也都是先數值化。這些數值存儲在電腦里如何區別與協作,則依賴于各種預定的編碼集、制式、協議等規則。
以江蘇省初中八年級信息技術第1章《動畫設計與制作》動作補間動畫的教學內容為例,課本中僅描述了動作補間動畫的制作流程,在大多數課堂上,能夠在這節課完成位置、大小、透明度的變化的教學內容已較為令人滿意。我區計算思維研究實踐課中,教師的設計只多了一步——制作位置變化的同時,要求學生觀察信息面板并進行對比,得到起始和結束關鍵幀上該元件的不同位置是用X值、Y值(坐標)確定的,再嘗試討論中間幀的具體坐標值,以理解動畫補間之所以可以實現元件位置的自動變化,實際上是簡單的數學問題,計算機通過預定的算法計算確定了不同幀上該元件的坐標。在完成這一討論后,教師繼而提出:觀察面板還有哪些信息是數值化的?它們也可以自動變化嗎?由于實驗班級的學生在七年級的圖片處理等學習中也有相關數值化的訓練,他們就很容易發現,大小、角度、顏色、亮度Alpha值的變化,都可以通過面板上的數值進行精確控制。
計算是計算機科學的基礎,計算的對象是數值。數字化這一思想貫穿了整個信息技術的各種應用,也因此貫穿在整個中小學信息技術課程中,只不過在以往的教學中,我們注重了操作技能的訓練,而忽視了思想方法的剖析。利用“數字化”的思想,將不同章節的內容進行融合,便于學生更深入地理解學習的內容和學科的思想。
分解問題——通過抽象和分治思想“計算機形式化”現實問題
所謂“計算機形式化”,是指在信息活動中能夠采用計算機可以處理的方式界定問題,抽象關鍵要素,分析要素間的關系。[3]什么是計算思維中的抽象?學科的基本問題不是針對一個學科的具體問題提出來的,而是在一個學科一大類具體問題的基礎上,通過分析這類問題共同的特點和本質屬性,經過總結、提煉得到更一般化的抽象的問題。[4]在問題解決過程中,抽象的目的,是為了把現實問題約簡、轉化、分解成計算機可直接解決的問題。
例如,在Flash動畫章節,有將空間上復雜的關系分解成不同圖層,簡化單個圖層的操作解決局部問題的方法,也有將時間上的先后關系分解成時間軸上的不同部分或更加集成化地分解成場景的方法;音視頻制作中用軌道分別處理不同的呈現內容;網絡中使用OSI分層處理通信數據,實現從硬件到軟件之間有序的數據傳遞;在程序設計中更是有模塊化思想、有分冶的算法。正如周以真教授所說的關注點分離,將大問題分解成可以直接解決的小問題,是動畫制作、音視頻制作、網絡通信、程序設計中的一般化方法。分解過程將問題小型化、集中化,方便設計、實施和解決,通過接口或其他方式再對小問題進行組裝,實現完整的任務需求,這也正是信息技術學科的問題基本解決方式。
確定方法——算法和程序思維
將問題解決過程細化、步驟化離不開算法和程序的思維。馮·諾依曼的存儲程序原理看起來抽象,但其實仍可融入中小學的教學內容。例如,保存文件的操作順序,繪畫過程中先選工具再設屬性,繼而是操作的順序,編程中積木塊或語句的順序,無一不在體現計算存儲程序、按序執行的基本工作方式,可以通過教學中的指向性活動設計進行計算思維的滲透。
確定方法時,算法和程序也是必不可少的。在計算機科學中,為保證計算機有序執行指令,算法應具有指定輸入、指定輸出、確定性、有效性和有限性五個基本屬性。從程序結構來看,通過順序執行、條件分支和循環三種結構方式可基本完成算法的流程,實現復雜問題條理化和簡單化。[5]在中小學計算機教學中,尤其是程序設計類教學中,涉及上述相關內容較多,一線教師對此也較為了解。
驗證結果——檢驗工程在不同情況下的可靠性和穩定性
用計算機解決問題,實際上也是某種系統工程,檢驗工程的可靠性和穩定性是必不可少的環節。在周以真教授關于計算思維內容的解讀中,對冗余、容錯、糾錯等系統設計的相關內容有過明確闡述。
研究團隊教師在小學課堂的二維碼教學設計中,嘗試融入了冗余、容錯、糾錯思想的教學內容,以下是擷取的兩個片段。
探究設計一:二維碼正掃、反掃、斜掃是不是都能成功?它的四個角上為什么只有三個黑色定位矩形?通過學生實驗探究、討論思考,形象地闡述了良好的應用需要考慮用戶使用的多種可能性,具有容錯的思想。探究設計二:污損了的二維碼是否能夠掃描出來?教師特別設計了污損程度不同的二維碼供學生實驗,這部分則指向了通過數據冗余進行糾錯。
工程設計方法也是計算機問題解決的普適方法,它的教學內容廣泛存在于各年段各章節教學內容之中,還有相當大的挖掘空間。
尋求更佳——關注工作效率、機器性能及其之間的平衡
一個問題的解決方案有多種,什么方案是當前最佳的,也是需要考慮的問題。在尋求更佳方案的過程中,效率、性能、成本等參數之間常常相互掣肘,找到它們之間的平衡也是關鍵問題。計算思維教學內容應當包括理解基于“工程—設計—管理”框架下的模塊化、結構化、自頂向下逐步求精、快速原型法、計算機仿真、軟件復用、測試與調試等軟件工程設計方法,以及統籌與折中、成本與效益等工程管理思想。[6]
例如,在機器人教學中采用不同傳感器可以實現相同功能,這時候可以加入成本與效益的討論。又如,人工智能教學中可以討論:關于機器學習的理論出現很早,但它為什么直到近幾年才開始有突飛猛進的發展?這和機器學習基于概率的思路相關,概率的準確程度來自數據量,超大的數據量則需要更強的計算能力。因此,需要大量的標注數據,只有數據量和算力水平達到一定高度,機器學習才有可能得到快速發展。這些內容雖然未曾設于教材之中,但只要有意識地梳理與設計,會層出不窮地一一顯現,培養學生計算思維、提升學生核心素養也就指日可待。
結束語
關于計算思維教學內容的探索,問題解決說是業界較為共性的認識,計算思維可能存在多種屬性,但是問題解決是其必備的屬性之一。[7]運用“了解工具—描述問題—分解問題—確定方法—驗證結果—尋求更佳”的問題解決思路,對于中小學一線教師來說相對較為容易理解和方便實施。沿著這條路徑,本地區教師總結了部分中小學信息技術課程中的計算思維教學內容,可以有方法地進行后續計算思維相關內容的挖掘,讓計算思維融入教學能真正地落地生根。
參考文獻:
[1][6]李藝,鐘柏昌.信息技術課程核心素養體系設計問題討論[J].電化教育研究,2016(04):5-10+61.
[2]王榮良.中小學計算思維教育實踐[M].上海科技教育出版社,2019:98.
[3][5]李鋒,趙健.高中信息技術課程標準修訂:理念與內容[J].中國電化教育,2016(12):4-9.
[4]王榮良.計算思維的學科觀[J].中國信息技術教育,2019(12):46-50.
[7]張立國,王國華.計算思維:信息技術學科核心素養培養的核心議題[J].電化教育研究,2018(05):115-121.