王孝龍
(福鼎市第六中學(xué),福建 福鼎 355200)
隨著《義務(wù)教育信息科技課程標(biāo)準(zhǔn)(2022 年版)》(以下簡稱“新課標(biāo)”)[1]的公布,信息科技正式從綜合實踐活動獨立出來成為一門國家課程。新課標(biāo)明確指出計算思維作為學(xué)科核心素養(yǎng)的核心因素,是培養(yǎng)學(xué)生初步具備解決問題能力的關(guān)鍵,算法設(shè)計是問題解決過程中的重要計算思維活動。面對一個復(fù)雜問題,設(shè)計算法形成解決方案是學(xué)生具備計算思維的顯著特征。因此,算法設(shè)計的本質(zhì)是基于計算思維的活動[2]。但是,在初中信息科技教學(xué)中,往往把算法設(shè)計作為程序設(shè)計教學(xué)的一部分,認(rèn)為只有程序設(shè)計才用到算法,算法設(shè)計就是教學(xué)生畫流程圖、調(diào)試程序,忽視了算法設(shè)計培養(yǎng)的實質(zhì)意義是發(fā)展學(xué)生的計算思維。為此,筆者以初中信息科技課堂活動設(shè)計為抓手,通過探討算法設(shè)計思維在課堂活動中的培養(yǎng)策略,以期探索一條發(fā)展學(xué)生計算思維的理想路徑。
Cynthia Selby 和John Woollard 兩人在《計算思維:發(fā)展中的定義》一文中將計算思維劃分為五個維度:抽象、分解、算法設(shè)計、評估和概括,并認(rèn)為它是一種解決問題的方法,包含了以上五個方面的思維過程[3]。其中,抽象是計算思維的基礎(chǔ),作為一個科學(xué)概念,抽象被定義為一種思維過程,指“對具體事物的本質(zhì)屬性進行概括,而舍棄非本質(zhì)的”。在計算機處理任務(wù)時,抽象是對復(fù)雜的任務(wù)建立系統(tǒng)模型;在解決大型問題時,分解是必需的,它是計算思維的核心,將復(fù)雜的系統(tǒng)轉(zhuǎn)化為多個子任務(wù),或者對方案進行分解,可以解決很多復(fù)雜問題;算法設(shè)計是最重要的計算思維,在計算機中算法是表示一組有序的清晰的指令,算法設(shè)計是按照定義好的明確的步驟來求解問題的思想;評估是對解決問題的方法進行評估以求得最佳方法;概括是提取解決問題的方法,形成經(jīng)驗或者對原有的方法進行改造,用于解決下一個問題。按照Selby 和Woollard 博士關(guān)于計算思維內(nèi)涵的界定,計算思維的五個維度既是解決問題的整體思維,又可以理解為某一方面具體的思維活動。因此,文中提及的算法設(shè)計是計算思維的一個維度,是運用計算思維解決問題必須經(jīng)歷的思維活動,培養(yǎng)學(xué)生的算法設(shè)計思維目的是發(fā)展學(xué)生的計算思維。
新課標(biāo)提出信息科技學(xué)科核心素養(yǎng)的不同學(xué)段特征,初中學(xué)生通過信息科技活動應(yīng)能提取問題的基本特征,制訂解決問題的方案。在設(shè)計課堂活動時,教師可以將課堂教學(xué)內(nèi)容與計算思維的算法設(shè)計培養(yǎng)有機結(jié)合,關(guān)鍵是教師要充分挖掘與算法設(shè)計相關(guān)的教學(xué)內(nèi)容,培養(yǎng)學(xué)生解決問題的能力,發(fā)展學(xué)生的計算思維。在初中信息科技課堂教學(xué)算法設(shè)計思維培養(yǎng)中,教師可結(jié)合教學(xué)內(nèi)容設(shè)計課堂活動中的某個環(huán)節(jié),也可結(jié)合教學(xué)內(nèi)容設(shè)計一堂完整的課堂活動。本文以福建省義務(wù)教育教材《信息技術(shù)》(初中版2020 年修訂)為例,對培養(yǎng)學(xué)生算法設(shè)計思維的課堂活動設(shè)計進行探討。
計算思維的五個維度,既是整體的思維活動,也是某一方面具體的思維活動。教師在初中信息科技課堂某一活動環(huán)節(jié)教學(xué)中,可以結(jié)合教學(xué)內(nèi)容的需要,基于對學(xué)生算法設(shè)計思維的培養(yǎng)進行設(shè)計。
例如,如何引導(dǎo)學(xué)生理解二分查找算法呢?教師可以在“猜價游戲”編程環(huán)節(jié)中設(shè)計一個游戲活動環(huán)節(jié),首先教師應(yīng)為學(xué)生設(shè)置一個情境問題,然后讓學(xué)生分組來猜展品的定價,每組都有10 次機會,猜對定價有獎勵。
第一組猜價的規(guī)則是:沒有任何提示,學(xué)生隨意猜定價,猜到10 次論輸贏。第二組猜價的規(guī)則是:學(xué)生隨意猜測定價,每次,主持人都會根據(jù)猜測價格和定價的比較來提示是“高”還是“低”。第三組猜價的規(guī)則是:主持人給出展品的定價區(qū)間,如100 元到10000 元之間(沒有小數(shù)),請學(xué)生猜一個定價如10000 元,根據(jù)猜價與定價的比較,主持人宣布“高了”,這時學(xué)生以減半(或加倍)的方法繼續(xù)猜下一個定價,直到猜對為止。游戲結(jié)束,引導(dǎo)學(xué)生討論哪一組規(guī)則更容易猜對價格,得出第三組規(guī)則的優(yōu)勢,引出二分查找的算法,最后引導(dǎo)學(xué)生用算法來描述游戲的活動方案,從而形成解決問題的方案。
從這個案例可以看出,即使是設(shè)計課堂活動的某一環(huán)節(jié)培養(yǎng)學(xué)生計算思維的算法設(shè)計維度,也要遵循計算思維培養(yǎng)的一般規(guī)律。計算思維是學(xué)生在解決問題過程中運用計算機科學(xué)的思想形成問題解決方案的思維活動[1],算法設(shè)計是運用計算思維解決問題表征出來的一種思維活動,離開了計算思維培養(yǎng)的一般規(guī)律,算法設(shè)計僅僅是程序設(shè)計教學(xué)環(huán)節(jié)中的一個步驟,而非思維培養(yǎng)。
教師可以基于算法設(shè)計結(jié)合教學(xué)內(nèi)容設(shè)計一節(jié)完整的課堂活動,這不僅能培養(yǎng)學(xué)生的算法設(shè)計思維,而且能培養(yǎng)學(xué)生計算思維的多個維度。在編程模塊教學(xué)中,基于對學(xué)生計算思維算法設(shè)計的培養(yǎng),結(jié)合編程教學(xué)的特點,一節(jié)完整的課堂活動設(shè)計可以包含五個步驟:第一步是分析問題,學(xué)生能從編程任務(wù)中識別問題的特征,建立問題模型,并能對問題進行分解,養(yǎng)成主動思考問題的習(xí)慣,從整體上把握需要解決的問題。第二步是設(shè)計算法,學(xué)生能把問題以具體的步驟呈現(xiàn),并能用自然語言進行描述或畫出流程圖。第三步是編寫調(diào)試程序,學(xué)生能夠在具備解決問題思想的基礎(chǔ)上進行實踐應(yīng)用,使用計算機來解決問題,是對問題分析和算法設(shè)計的大膽驗證。第四步是測試優(yōu)化,對自己的程序進行測試和評估,對作品作進一步的優(yōu)化處理,以求得對編程作品有最佳的答案。第五步是展示交流,學(xué)生在相互展示作品的基礎(chǔ)上,相互吸納對方的建議,對解決問題方法有了更深刻理解,形成自己的經(jīng)驗。
下面以《信息技術(shù)》七(下)“設(shè)計一個小游戲”的課堂活動設(shè)計(見表1)為例來分析如何基于對學(xué)生算法設(shè)計思維的培養(yǎng),達(dá)到培養(yǎng)學(xué)生計算思維的五個維度。
表1 “設(shè)計一個小游戲”課堂活動設(shè)計與說明
(續(xù)表)
上述案例“設(shè)計游戲程序”是一項綜合活動,建議安排2 個學(xué)時,以編寫游戲程序為活動主題,綜合運用三種結(jié)構(gòu)程序設(shè)計,引導(dǎo)學(xué)生從制訂“猜價游戲”的活動規(guī)則出發(fā),讓學(xué)生體驗用C 語言設(shè)計程序并通過計算機實現(xiàn)游戲功能的全過程,從而學(xué)習(xí)“根據(jù)實際需求,設(shè)計方案和用電腦解決問題”的方法。在開展本活動之前,學(xué)生已經(jīng)具備初步的計算思維,對計算機解決問題的步驟有一定了解,能畫出流程圖,基本掌握程序設(shè)計的三種基本結(jié)構(gòu),能熟練使用Dev-C++編譯環(huán)境,能編寫簡單的程序,但學(xué)生對編寫像猜價游戲這樣綜合性較強的程序還是有一定難度的。通過本次課堂活動,學(xué)生的計算思維目標(biāo)能達(dá)到對特定的游戲項目任務(wù)進行分析,確定問題,設(shè)計問題解決方案,畫出流程圖,以C 編程實現(xiàn)。從本案例的實施效果可以發(fā)現(xiàn),計算思維的五個維度在解決復(fù)雜問題過程中是一個整體。基于學(xué)生計算思維算法設(shè)計的課堂活動,不僅可以提升信息科技課堂的教學(xué)效果,而且能更好地培養(yǎng)學(xué)生具備計算思維解決問題的能力。
算法設(shè)計思維是計算思維的重要維度,培養(yǎng)學(xué)生的算法設(shè)計思維必須遵循運用計算思維解決問題的一般規(guī)律。在初中信息科技課堂教學(xué)中,教師可以結(jié)合教學(xué)內(nèi)容,基于算法設(shè)計思維的培養(yǎng)來設(shè)計課堂活動的某一環(huán)節(jié)或整堂課活動,這不僅可以提高教學(xué)效果,而且能培養(yǎng)學(xué)生具備計算思維解決問題的能力,發(fā)展學(xué)生的計算思維。