馮士海


計算思維作為高中信息技術學科核心素養之一,已成為一個比較熱門的話題,也是課標組專家極力倡導與推廣的思維方式。要使計算思維在信息技術課堂教學中有效落實,就需要先明確計算思維的概念、特征及常見的誤區,再合理組織教學內容,研究可行的教學方法。在新課標理念下,高中信息技術課堂教學,不僅要讓學生理解計算機學科大概念,還需要引導學生將計算思維合理地應用至日常生活與學習之中,形成一種思維習慣。那么,在新課標教材還沒有使用之前,如何在高中信息技術課堂教學中滲透計算思維培養呢?建議從以下幾個方面進行實踐。
● 重組教材內容,滲透計算思維
可以結合新課標,將現有高中信息技術教材內容進行適當重組,變知識傳遞為思維啟迪,提高學生發現、認識和解決實際問題的思維能力,并提高學生的抽象能力和構造能力。
1.教學案例不必拘泥于課本
例如,在信息技術基礎必修模塊“表格信息的加工與表達”中可以采用學校文明班級評比的方式,從數據的采集、計算到分析,讓每位學生都參與,不僅能找出本班不足,還可提高學生發現、認識問題的能力。“數據庫管理”模塊除了讓學生體驗學生學籍管理系統外,還可以讓學生去圖書館向工作人員了解圖書的分類管理,利用圖書管理系統體驗如何快速檢索、借閱圖書,然后在教師的引導下進行簡單的抽象、建模,提高學生的抽象和構造能力。
2.教學順序不是一成不變的
粵教版選修模塊《算法與程序設計》教材內容是按照“程序設計基礎”“可視化編程”“算法與程序實現”“面向對象程序設計”以及“程序設計實踐”來安排的,這樣的編排有其科學性和嚴謹性。然而,基于學生計算思維還沒形成,如果直接按教材內容順序開展教學,學生一開始面對枯燥乏味的算法理論,有可能很快就失去對本模塊課程的興趣。這時可以從學生實際出發,對教材順序和內容進行重組:先讓學生接受“算法設計的基本知識”,然后把“面向對象程序設計”和“程序設計實踐”中的實例拿出來分析,也就是把“算法設計”的知識穿插到“程序設計”中,使抽象的知識形象化,再用生活中的實例來理解算法。這樣的教學效果會更好,如果再把書中例子進行優化設計,貼近學生生活,使學生更加感興趣,計算思維的滲透也就自然而然了。
● 創新課堂教學,落實計算思維
在以往的信息技術教學中,體現計算思維的活動也是無處不在的,只是在沒有關注計算思維時,這種活動對學生而言則是無意識的。改變這種狀況,只需引導學生主動地用計算思維去解決問題。在教學中,可通過使用頭腦風暴法分析問題,找到解決問題的方法,再使用思維導圖細化方法,直到能使用計算機進行處理。
1.使用頭腦風暴法,找到解決問題的方法
在培養學生計算思維時,重點是分析找到解決問題的方法。其中,最常用解決問題的方法是頭腦風暴法。下面以設計“運動會海報”為例,介紹頭腦風暴法的具體操作流程。課前讓學生了解海報的組成。上課時,讓學生提出自己海報中包含的元素,并簡單說明方案,讓別人明白其意圖,然后教師快速在白板上記錄方案。不斷鼓勵其他學生提出新的海報設計方案,等學生發言完畢,根據學生的方案再發散組合,得到最后的方案。最后,學生確定的運動會海報方案是:背景是跑道,主體圖案是運動員的形象,文字包括標題、時間、地點等。
2.使用思維導圖,細化方案,直到能使用計算機技術解決
這個過程其實就是找到使用計算機解決問題的方法,學生通過自頂向下逐步細化的原則,將問題的解決方案表示成一個信息處理的流程,引導學生使用數字化工具XMind細化解決問題的方案。學生細化后的方案如圖1所示。在思維導圖上能明確看到怎樣處理運動會海報背景,如何處理主體圖案,以及用什么文字,文字設置成什么樣式。
3.使用計算機解決問題
計算思維的根本目的是解決問題,即問題求解系統設計以及人類行為理解。前面所有的分析,最后都要落實到使用計算機解決問題上。再回到制作海報作品上,只需按照學生繪制的思維導圖,選擇合適的軟件即可解決問題。可以選擇的軟件也很多,如果需要處理圖片與背景,則選擇Photoshop,如果不需要處理,Word完全能實現,效果如圖2所示。
由此可以看出,原來的教學重點基本是第三個環節,重視的是技術的使用,只講解如何處理圖片、加工主體圖案及輸入文本、設置文字效果等,而調整后的教學流程,更注重的則是方法的分析,培養的是學生的分析能力,訓練的是計算思維。
● 借助算法和流程圖,強化學生的計算思維
高中信息技術教學還需要幫助學生理解計算機思維涵蓋的計算概念和方法,如遞歸、抽象、形式化等,引導學生挖掘隱藏在生活中的“計算”“抽象”問題。借助算法、流程圖,強化學生的計算思維。
1.培養學生的算法思想及高效解決問題的能力
計算思維是人求解問題的一種途徑和取向,特別是對需要大量計算的問題,在提出問題解決方案后,應該在思維與方法上充分利用計算機的強大計算能力。例如,漢諾塔問題(Tower of Hanoi)就是一種典型的遞歸算法,涉及大量的計算與計算思維。漢諾塔:在世界中心貝拿勒斯的圣廟里,一塊黃銅板上插著三根寶石針A、B和C,在其中一根針上從下到上地穿好了由大到小的64片金片,不論白天黑夜,總有一個僧侶在按下面的法則移動這些金片:一次只移動一片,不管在哪根針上,小片必須在大片上面。僧侶們預言,當所有金片移到另外一根針上時,世界將在一聲霹靂中消滅,而梵塔、廟宇和眾生也都將同歸于盡。通過算法分析不難發現,漢諾塔問題看似復雜,實則把它拆解開來看無疑是兩種情況:第一種:只有一個的情況,當塔上只有一個盤子時,只需將它放到目的塔就可以;第二種:情況就是有多個,此時無論有多少個盤子,我們只需將其當作只有n和n-1個盤子來對其操作。第二種情況,操作過程即為將n-1放置到過渡塔,將n放置到目的塔,再將n-1放置到目的塔。移動金片的次數f(n)與寶石針上的金片個數n之間的關系式為:f(n)=2^n-1,因此當n=64時,f(n)的值將高達18446744073709551615,按移動一次花費1秒計算,需要約5845億年才能完成。這樣的問題在現實中幾乎是無法實現的,但我們可以借用計算機的超高速,在計算機中模擬實現。由此可見,有效地利用計算思維,借助現代計算機超強的計算能力,就能解決之前人類望而卻步的大規模計算問題。
2.借助流程圖,清晰地表達個人思想
繪制流程圖是編程解決問題中一個必不可少的環節,借助流程圖可以鍛煉學生清晰地表達個人思相。例如,中國古代數學家張丘建在他的《算經》中提出了著名的“百錢百雞問題”:雞翁一,值錢五;雞母一,值錢三;雞雛三,值錢一;百錢買百雞,翁、母、雛各幾何?這個問題的解決思路如下。首先,提取問題的基本特征,進行抽象處理。設雞翁為x只,雞母為y只,雞雛為z只,得到數學式x+y+z=100和5x+3y+100/3=100,這就把問題抽象為數學模型了。然后,設定邊界條件(雞翁x<=100/5=20;雞母y<=100/3,設為33;雞雛z=100-x-y),用流程圖的方式進行形式化表述,如圖3所示。這個案例也符合“針對給定的任務進行需求分析,明確需要解決的關鍵問題;提取問題的基本特征,進行抽象處理,并用形式化的方法表述問題”,在此基礎上使用“枚舉”算法,借助編程語言運行,就可以解決問題了。
● 結束語
計算思維培養已成為高中新課程改革中實現育人價值的目標。希望在以后的高中信息技術課堂中,一方面,要重視學生計算思維的培養;另一方面,也需要在教學中挖掘基于學科教學內容對應的計算思維,構建基于計算思維的教學體系和教學方法,設計出能培養學生計算思維對應能力的課堂活動,讓信息技術課堂彰顯更多活力。