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