摘要:計算思維作為一種靈活運用工具與方法求解問題的思維活動,在信息時代背景下對促進(jìn)學(xué)生的終身發(fā)展具有不可替代的作用。本文以謝忠新教授提出的學(xué)生計算思維培養(yǎng)的策略與方法為理論指導(dǎo),對小學(xué)信息技術(shù)課堂進(jìn)行再設(shè)計,開發(fā)出能培養(yǎng)學(xué)生相關(guān)能力的課堂活動,從而提高學(xué)生應(yīng)用計算機知識分析和解決問題的能力。
關(guān)鍵詞:計算思維;課堂活動;信息技術(shù)
中圖分類號:G434? 文獻(xiàn)標(biāo)識碼:A? 論文編號:1674-2117(2019)06-0031-04
計算思維是當(dāng)前信息技術(shù)教學(xué)領(lǐng)域廣受關(guān)注的一個重要內(nèi)容。早在2011年,美國計算機科學(xué)教師協(xié)會(CSTA)就發(fā)布了《美國中小學(xué)計算機科學(xué)標(biāo)準(zhǔn)》,提出了完整的計算機教育框架,將計算思維、計算實踐和編程納入學(xué)科基本主線,幫助學(xué)生拓寬計算視野,理解計算機科學(xué)的基本原理和方法。[1]2018年初,教育部公布了《普通高中信息技術(shù)課程標(biāo)準(zhǔn)(2017年版)》,將計算思維明確為,是信息技術(shù)核心素養(yǎng)的四大核心內(nèi)容之一,是面向21世紀(jì)的人才最基礎(chǔ)、最普遍、最適用的和不可缺少的基礎(chǔ)思維方式。
如今,計算思維已與我們的生活密切相關(guān);未來,計算思維也是人們不可或缺的生存能力之一。因而,在中小學(xué)信息技術(shù)課程中如何有效培養(yǎng)學(xué)生的計算思維,一直是我們信息技術(shù)學(xué)科教師十分關(guān)注的問題。
問題解決與計算思維培養(yǎng)
2011年,國際教育技術(shù)協(xié)會(ISTE)和計算機科學(xué)教師協(xié)會(CSTA)對計算思維這一概念進(jìn)行了進(jìn)一步的闡釋,指出計算思維是一個用來解決問題的過程。李藝教授及鐘柏昌教授認(rèn)為,“問題解決”作為“基礎(chǔ)知識與基本技能”與“學(xué)科思維”之過渡可作為核心素養(yǎng)落地之階梯。[2]
那么,什么樣的問題求解過程才能有利于培養(yǎng)學(xué)生的計算思維呢?2011年,為支持K-12教育中的教師進(jìn)行計算思維教學(xué)活動,CSTA和ISTE聯(lián)合高等教育、工業(yè)、教育中的領(lǐng)導(dǎo)者共同協(xié)作,開發(fā)出了一個關(guān)于計算思維的操作性定義,該操作性定義強調(diào)計算思維是一個問題解決的過程。[3]2013年,英國老牌名校南安普敦大學(xué)的Selby博士和Wool lard博士提出計算思維包括算法思維、評估、分解、抽象、概括這五個方面的要素,其觀點比較適合中小學(xué)信息技術(shù)教育。[4]算法幫助學(xué)生找出解決問題的步驟和方法,評估確保找出最佳的解決方案,分解可使復(fù)雜的問題容易得到解決,抽象隱藏不必要的細(xì)節(jié)從而更容易得到問題的關(guān)鍵,概括利于得到通用的解決方案。
下面,筆者以蘇科版小學(xué)信息技術(shù)《畫正多邊形》一課為例,談一談基于計算思維培養(yǎng)的課堂活動設(shè)計。
基于計算思維培養(yǎng)的活動設(shè)計
《畫正多邊形》一課為蘇科版《小學(xué)信息技術(shù)》(五年級)Logo部分第五課。Logo語言是一門以鍛煉學(xué)生思維能力為主題的軟件,旨在把抽象的程序設(shè)計語言和直觀的圖形結(jié)合起來。本課對學(xué)生抽象思維能力要求較高,可以立足尋找規(guī)律、逐步建模的教學(xué)策略幫助學(xué)生理解運用。
本課從一個游戲任務(wù)入手,為學(xué)生提供一個需要解決的生活中的具體任務(wù),引導(dǎo)學(xué)生對問題求解并產(chǎn)生主動學(xué)習(xí)的學(xué)習(xí)動力。然后明確要解決的問題,將復(fù)雜問題做合理的分解,從特殊到一般,將問題轉(zhuǎn)換為一個信息處理的流程并通過Repeat命令進(jìn)行簡化。再幫助學(xué)生搭建學(xué)習(xí)支架,引導(dǎo)其概括出畫正多邊形的語句基本模式,培養(yǎng)正確的程序設(shè)計思維方式。最后再幫助學(xué)生完善和評估解決方案,讓學(xué)生體驗成功的喜悅。
1.抽象思維培養(yǎng)的課堂活動
抽象是指把現(xiàn)實中的事物或解決問題的過程,通過化簡等方式,抓住其關(guān)鍵特征,降低其復(fù)雜度,變?yōu)橛嬎阍O(shè)備可以處理的模型,也是計算思維能力培養(yǎng)的關(guān)鍵。
活動1:
師:同學(xué)們,小海龜想到湖邊去走一走。請打開課堂練習(xí)紙,仔細(xì)聽老師的描述,把小海龜?shù)淖叻ㄓ肔ogo命令寫下來,猜一猜,小湖是什么形狀的。
下面,我們一起前進(jìn)100步,然后向右轉(zhuǎn)90度;再前進(jìn)100步,然后向右轉(zhuǎn)90度;再前進(jìn)100步,然后向右轉(zhuǎn)90度;再前進(jìn)100步,然后向右轉(zhuǎn)90度。
學(xué)生一邊聽一邊書寫。
在該教學(xué)過程中,教師引導(dǎo)學(xué)生將小海龜?shù)男凶叱橄蟪捎嬎銠C可以理解的動作,用計算機能接受的形式符號記錄學(xué)生的設(shè)計,然后運行實施,從而理解程序設(shè)計的本質(zhì)。
2.算法思維培養(yǎng)的課堂活動
算法是一種求解問題的思維方式,研究和學(xué)習(xí)算法能鍛煉學(xué)生的思維,使學(xué)生的思維變得更加清晰,更有邏輯。[5]
活動2:
師:這就是畫正四邊形的命令,請大家仔細(xì)觀察這段程序,看看它有什么特點?有什么辦法可以簡化重復(fù)的命令?
生:使用Repeat命令。
師:有誰能把這四行重復(fù)的命令縮寫成Repeat命令?
生:REPEAT 4[FD 100 RT 90]
師:這里的“4”指什么呢?中括號里又是什么內(nèi)容呢?
生:4指要重復(fù)的次數(shù),中括號里是要重復(fù)的命令。
通過該部分內(nèi)容的學(xué)習(xí),讓學(xué)生領(lǐng)悟到,循環(huán)作為一種基本控制結(jié)構(gòu),可以簡化較為復(fù)雜的算法。此外,該算法必須是有窮的(如上例中,循環(huán)次數(shù)為4),且具有確定性(如上例中,前進(jìn)100步和右轉(zhuǎn)90度)。
3.分解思維培養(yǎng)的課堂活動
分解思維是將一個大問題拆解成許多小的部分。這些小部分更容易理解,讓問題更加容易解決。
活動3:
師:同學(xué)們能不能試著用重復(fù)命令畫一個長邊100的正三角形呢?為了方便起見,這個正三角形在放置時一條邊垂直向上(如圖1)。
當(dāng)小海龜走完第幾條邊時,需要向右旋轉(zhuǎn)了多少度?(有學(xué)生舉手說120度)
師:你們怎么知道畫三角形應(yīng)該轉(zhuǎn)角120度的呢?
學(xué)生以小組形式進(jìn)行討論。
師生通過討論,得出如下結(jié)論(如上頁圖2):沒有旋轉(zhuǎn),小海龜走平角,也就是180度(會一直走下去),而正三角形的內(nèi)角是60度,所以小海龜必須旋轉(zhuǎn)180度-60度=120度。也就是FD 100 RT 120。
師:我們再進(jìn)行后續(xù)兩組動作,還需要把這個語句再寫兩遍嗎?
生:不需要,可以用repeat命令:REPEAT 3[FD 100 RT 120]。
該部分的教學(xué)活動,讓學(xué)生通過分解,理清每個動作,將難點進(jìn)行分解并突破,從而找到解決問題的關(guān)鍵點。
4.概括思維培養(yǎng)的課堂活動
“概括”是基于先前已經(jīng)解決的問題從而解決新問題的方式,我們可以對一些算法進(jìn)行改造,使其能解決類似問題,當(dāng)遇到一個新問題時,我們可以應(yīng)用這個通用的解決方案。
活動4:
步驟一:
師:正方形畫完后,小海龜?shù)念^部朝向屏幕的哪里?
生:朝向屏幕的上方。
師:那知道小海龜一共旋轉(zhuǎn)了多少度嗎?是怎么知道的?可以討論。
由于正方形內(nèi)角都為90度,所以學(xué)生很容易得出以下結(jié)論:
小海龜一共進(jìn)行了四次相同的旋轉(zhuǎn),共旋轉(zhuǎn)了360度,那么每次旋轉(zhuǎn)的角度就是360度/4度。
步驟二:
師:我們再來看正三角形的畫法,說說你發(fā)現(xiàn)了什么?
生:開始和結(jié)束時,小海龜?shù)念^也都是朝著屏幕的上方,同樣也旋轉(zhuǎn)了360度。
師:對,小海龜畫完一條邊后就轉(zhuǎn)一個角度,轉(zhuǎn)了三個相同的角度,共旋轉(zhuǎn)了360度,轉(zhuǎn)一個角度的度數(shù)就是360度/3度,你能想象一下這個“3”代表什么嗎?(如圖3)
生:360度分三次完成。
步驟三:
師:那畫一個正五邊形是不是也有這個規(guī)律呢?(提醒寫成360度/5度,而不是72度)
學(xué)生嘗試。
步驟四:
概括總結(jié):大家在共同分析的過程中找出了這些規(guī)律,根據(jù)這些規(guī)律利用重復(fù)命令的格式就能總結(jié)出畫正多邊形的命令格式。
如果畫六邊形,應(yīng)該轉(zhuǎn)多少度?七邊形呢?八邊形呢?N邊形呢?
N邊形需要重復(fù)多少次?
REPEAT N[FD步長 RT 360/N]
該部分的教學(xué)內(nèi)容從正多邊形中的幾個特例入手,建立結(jié)構(gòu)模型,探索可執(zhí)行的解決方案。在把問題轉(zhuǎn)換為信息處理的流程、推導(dǎo)畫正N邊形的基本命令的過程中,教師幫助學(xué)生搭建思維的“腳手架”,提升學(xué)生的概括思維能力。
5.評估思維培養(yǎng)的課堂活動
“評估”的目的是確保一個算法的解決方案是最佳方法:答案是否正確?是否方便人們使用?是否能促進(jìn)合理經(jīng)驗的產(chǎn)生?需要綜合考慮這些指標(biāo)對算法進(jìn)行整體評估。
活動5:
師:今天我們通過學(xué)習(xí),利用LOGO語言成功地畫出了正三邊形、正四邊形和正五邊形,這個公式是通過實踐推導(dǎo)出來的,到了中學(xué),我們還可以用更嚴(yán)謹(jǐn)?shù)臄?shù)學(xué)方法來證明。下面來看一組練習(xí),你們能利用今天學(xué)到的知識完成剩下的圖形嗎(如圖4)?
學(xué)生練習(xí)。
師:我們還發(fā)現(xiàn),當(dāng)正多邊形的邊數(shù)越來越多時,看起來就像什么形狀了呢?其實,計算機就是用這樣的辦法來畫圓的。多邊形的邊數(shù)越多,圓就越精細(xì)。當(dāng)然并非邊數(shù)越多越好,這樣只會白白增加計算機的負(fù)擔(dān),只要滿足顯示效果就行。通過實驗,我們發(fā)現(xiàn),當(dāng)正多邊形超過36條邊時,在我們的顯示器上就看不出和圓有什么差別了。
活動6:
師:老師現(xiàn)在又有了一個想法,如果小海龜每前進(jìn)一次,不是向右轉(zhuǎn)360/36度,而是向左轉(zhuǎn)360/36度?會是什么樣呢(如圖5)?我們來試一試吧!注意畫前不要清屏,這樣便于比較。
總結(jié):看來LT是有效的。
REPEAT 36 [FD 20 RT 360/36]
REPEAT 36 [FD 20 LT 360/36]
活動7:
師:我們再回到剛才的正36邊形,小海龜前進(jìn)并右拐了36次,現(xiàn)在的圖形看起來是一個正圓。你能把這個命令改造成一個半圓嗎(如圖6)?
學(xué)生討論得出,畫半圓的Logo命令為如下:
REPEAT N/2 [FD 步長 RT或LT 360/N]? (N足夠大)
該部分的教學(xué),不僅驗證了畫正多邊形的一般語句,而且利用變式不斷完善,建立的數(shù)學(xué)模型更嚴(yán)謹(jǐn),更具有通用性。
結(jié)束語
周以真教授指出,“計算思維是每個人的基本技能,不僅僅屬于計算機科學(xué)家。我們應(yīng)當(dāng)使每個孩子在培養(yǎng)解析能力時不僅掌握閱讀、寫作和算術(shù),還要學(xué)會計算思維”。本課立足于培養(yǎng)學(xué)生的計算思維,在課堂教學(xué)中挖掘出能培養(yǎng)學(xué)生對應(yīng)相關(guān)能力的課堂活動,幫助學(xué)生理解并掌握信息技術(shù)基本知識和基礎(chǔ)技能,增強發(fā)現(xiàn)和解決問題的能力,提升學(xué)科思維,從而讓學(xué)生在未來的信息化社會中更好地生存、創(chuàng)新和發(fā)展。
參考文獻(xiàn):
[1]任友群,隋豐蔚,李鋒.數(shù)字土著何以可能?——也談計算思維進(jìn)入中小學(xué)信息技術(shù)教育的必要性和可能性[J].中國電化教育,2016(7):4-5.
[2]李藝,鐘柏昌.談“核心素養(yǎng)”[J].教育研究,2015(9):17-23.
[3]陳麗婷,徐曉東.基于計算思維教育的國外小學(xué)教學(xué)案例研究[J].教育信息技術(shù),2015(9).
[4]謝忠新,曹楊璐.中小學(xué)信息技術(shù)學(xué)科學(xué)生計算思維培養(yǎng)的策略與方法[J].中國電化教育,2015(11):116-120.
[5]唐培和,徐奕奕.計算思維:計算學(xué)科導(dǎo)論[M].北京:電子工業(yè)出版社,2015.
作者簡介:周旺純(1972.11—),高級教師,工學(xué)學(xué)士學(xué)位,主要研究信息技術(shù)教育、教育信息化。
基金項目:江蘇省教育科學(xué)“十三五”規(guī)劃2016年度課題“小學(xué)信息技術(shù)學(xué)科學(xué)生計算思維培養(yǎng)的實踐研究”(2016-GH01010-00119)。