白英會
“計算思維”是小學信息技術四大核心素養之一,它對學生思維方式和思維習慣的培養起著重要作用。如何在高中信息技術課堂教學中培養學生的計算思維已經成為當前一線信息技術教師廣泛關注并感到困惑的內容。本文以高中“算法與程序設計”中的Python編程教學為例,探索游戲化編程對計算思維能力培養的影響。
《用詞云將程序可視化》選自中國地圖出版社必修1《數據與計算》中的“算法與程序實現”的綜合應用部分。在教學這部分內容時,將“詞頻統計”程序作為本節課教學案例,介紹利用程序解決問題的一般過程。具體流程是通過開發“詞頻統計工具”的項目,介紹如何抽象分析問題、設計問題的解決方案和算法步驟、編寫程序、調試運行,最終實現從現實世界到程序世界的穿越。
一是必修模塊“數據與計算”的教學內容以算法和程序設計為主,學生普遍反映比較枯燥,相當一部分學生對編程抱有抵觸情緒。二是對于教師精心設計的探究任務學生并不買賬,反而更樂于接受教師的直接講授,傾向于模仿教師提供的案例,缺乏創新精神,導致所掌握的知識得不到拓展與提升。三是與編程相比,學生更喜歡使用時下流行的軟件,學習比較容易上手的操作技能,但對開展自主學習、探究技術背后的原理積極性不高。基于以上問題,教師可以嘗試基于計算思維的本質,從研究計算思維的特征出發,探究課堂教學設計的方向,以實現培養學生計算思維能力的目的。
計算思維有很多特征,在培養學生計算思維能力的前提下,主要分為四個方面:第一,任務分解。在明確任務要求的基礎上,依據算法的主要組成部分,本著“自上而下,逐步求精”的思想,將一個不可能完成的大任務分解成幾個比較容易完成的子任務。第二,模式識別。對分解后的任務,分析各部分之間的異同,表征事物的特征,利用已掌握的知識、經驗去識別事物。第三,抽象化。利用模型來探究模式背后的一般規律,對于信息技術教學而言,就是將具體問題利用數學模型來表示,為下一步工作做好準備。第四,算法設計?;谝幌盗械姆治?,設計出解決問題的具體方法與步驟。
情景導入。首先通過展示利用文本分析工具制作的信息圖片及詞頻統計工具的相關介紹,激發學生開發數字化工具的欲望,并順勢提出本節課的任務,即使用Python語言開發一款詞頻統計軟件,并將統計中出現次數最多的前30個詞輸出。再通過程序演示《三國演義》中出現次數最多的前30個詞的統計讓學生了解程序的運行結果。由于課前就讓學生準備了自己感興趣的小說、影評等文本素材,所以面對這樣的任務,學生熱情高漲又無從下手,他們難以想象如何將一個現實世界的問題利用程序來解決,這也正是計算思維培養的關鍵。為了幫助學生搭建現實世界和程序世界之間的橋梁,引導學生體驗從分析現實問題到用計算機解決問題的過程與方法,我通過設置以下三個梯度的任務引領學生完成該項目的開發。
自主學習。任務一:人工進行詞語統計,并描述出具體的統計過程。我給學生提供了一段關于繞口令的文字材料,讓學生人工統計其中每個詞出現的次數,并且描述統計的過程。這一部分的設計意圖是通過體驗活動,模擬詞頻統計的過程,將平時熟知的問題求解過程進行顯性化描述,把現實問題與計算機解決進行對比,聚焦關鍵性問題,從而歸納出生活中解決問題的一般過程。
探究新知。任務二:結合任務一,畫出詞頻統計的算法流程圖。算法設計環節是本節課的重點同時也是難點,結合算法的三個主要組成部分,首先引導學生將項目分解成三大部分,然后再將每一部分細化,并最后確定該項目的關鍵步驟就是如何實現詞頻統計。緊接著由一系列的問題鏈,再結合體驗活動的歸納總結,讓學生繪制出關于詞頻統計的流程圖。該環節中通過分析、設計算法,讓學生親身經歷從對現實問題的分解到用計算機解決問題的全過程,從而突破難點,達成教學目標。
操作實踐。任務三:根據流程圖,按照要求完成程序代碼的輸入。在編程環節,我將實現詞頻統計的核心代碼打亂順序后提供給學生,要求學生結合流程圖將代碼重新排序后,再在編程環境中實現。為確保學生能讀懂程序,我還提供了相關的技術支持。該環節通過結合流程圖把程序代碼重新排序,既解決了學生編程基礎薄弱的問題,又讓學生初步理解了算法與程序之間的關系,真正實現了從現實世界到程序世界的穿越,促進了教學目標的達成。
計算思維被確定信息技術學科的核心素養,對信息技術教師而言可以說是挑戰與機遇并存。面對不斷更新的信息技術學科,如何在學科教學中培養學生的計算思維,是每一位信息技術教師值得探討和努力的方向。相信我們的努力一定會為信息技術課堂教學注入新的生機和活力。
(作者單位:北京市通州區運河中學)