王慧敏+++王戈+++胡秋萍+++陶雙雙
計算思維作為核心素養(yǎng)之一,最能體現(xiàn)信息技術(shù)的學(xué)科價值,因此得到越來越多的教育研究者的關(guān)注。
計算思維的實質(zhì)是一個問題解決的過程,這個過程包含兩方面的特性:“結(jié)構(gòu)分解、實體抽象、模型建設(shè)、自動化實施”等技術(shù)應(yīng)用特征;“明確問題、設(shè)計方案、實施反饋、修訂完善”等一般性解決問題方法。在教學(xué)設(shè)計中可以從學(xué)生感興趣的基于真實情境的問題出發(fā),由學(xué)生從基于自然語言的問題情境抽象出計算機能夠解決的問題模型,將問題模型轉(zhuǎn)化為計算機能夠識別的計算模型,最后通過計算機程序自動化執(zhí)行來幫助我們解決問題?;诖怂悸?,筆者在初中信息技術(shù)校本課程《Scratch趣味編程》中進行了初步探索,以期為信息技術(shù)教學(xué)帶來新的思考方向和參考價值。
基于計算思維導(dǎo)向的教學(xué)設(shè)計案例
2013年,南安普敦大學(xué)的Cynthia Selby博士和John Woollard博士提出計算思維包括算法思維、評估、分解、抽象、概括五個方面的要素。以此為參考,筆者設(shè)計了一節(jié)以計算思維為導(dǎo)向的教學(xué)案例——計算機模擬拋硬幣實驗。
本節(jié)課的教學(xué)流程大致分為以下幾個階段。
(1)定義問題:引出問題,多次拋一枚硬幣,其正面朝上和反面朝上出現(xiàn)的次數(shù)是否一樣,思考如何設(shè)計實驗驗證猜想。
學(xué)生活動一:大家一起拋硬幣。寫出各小組“拋硬幣”搜集到的數(shù)據(jù)。
計算思維:抽象——將問題的本質(zhì)抽取出來,摒棄復(fù)雜的細節(jié)問題。在問題定義環(huán)節(jié)學(xué)生將要驗證的拋硬幣實驗概率問題轉(zhuǎn)化為數(shù)學(xué)統(tǒng)計問題。
(2)建立計算模型:根據(jù)拋硬幣實驗設(shè)計,分析Scratch模擬拋硬幣實驗所需要的角色和變量,將數(shù)學(xué)統(tǒng)計問題進一步轉(zhuǎn)化成計算機能夠執(zhí)行和運算的問題。
學(xué)生活動二:參照界面設(shè)計分析表類比拋硬幣實驗設(shè)計,思考程序的界面設(shè)計。
計算思維: ①類比——由熟悉的拋硬幣實驗類比分析,總結(jié)出程序要實現(xiàn)的功能模型。②抽象——采用計算機可以處理的方式界定問題,將“正面向上”“反面向上”兩個結(jié)果的記錄抽象成程序中的變量,將實際中的硬幣抽象成程序中的角色。
(3)算法設(shè)計:將計算模型進一步用程序語言表達出來。
學(xué)生活動三:類比現(xiàn)實生活中拋硬幣實驗,畫出計算機模擬拋硬幣實驗的程序流程圖。
計算思維:抽象——將硬幣正反兩個隨機結(jié)果抽象成由計算機隨機生成兩個數(shù)的過程,將每次拋硬幣的試驗結(jié)果及數(shù)據(jù)記錄抽象成程序中的選擇結(jié)構(gòu),將重復(fù)多次試驗抽象成程序中的循環(huán)結(jié)構(gòu)。
圖1 現(xiàn)實生活中拋硬幣實驗過程
圖2 拋硬幣實驗程序流程圖
(4)算法實現(xiàn)。
學(xué)生活動四:根據(jù)程序流程圖,將任務(wù)適當(dāng)分解為子任務(wù)。
計算思維:①分解——分解是對整體任務(wù)進行合理的功能模塊劃分,將總?cè)蝿?wù)分解成可以單獨解決、獨立開發(fā)的子任務(wù),減少一次要處理的任務(wù)負荷,使復(fù)雜的問題得以較容易地解決。在算法實現(xiàn)的過程中采用分解思維,將總?cè)蝿?wù)分解為三個子任務(wù):a.生成隨機數(shù);b.根據(jù)隨機數(shù)的結(jié)果,讓硬幣切換造型,并記錄正面朝上和反面朝上的次數(shù);c.實現(xiàn)多次重復(fù)實驗。②算法思維——算法是指解決問題的步驟,它是一系列清晰且明確的指令的組合。對于某種特定的問題,如果有規(guī)范的輸入,計算機就能遵循這組指令或規(guī)則,在有限的時間內(nèi)可以獲得所要求的輸出。根據(jù)流程圖,學(xué)生將程序語言轉(zhuǎn)化為計算機指令,合理選用順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)實現(xiàn)算法。③評估——確保當(dāng)前的解決方案是最優(yōu)的。通常一個算法不能完美地滿足各種條件,要綜合各項指標(biāo)進行判斷和取舍,從中選取最優(yōu)方案。在設(shè)計算法的過程中反思問題解決方案,不斷改善和優(yōu)化程序。
(5)算法自動化實施:將重復(fù)執(zhí)行的次數(shù)改為100、500、1000、1500,記錄正面和反面各自出現(xiàn)的次數(shù)。
學(xué)生活動五:運行程序,搜集數(shù)據(jù),填寫表格。
表2 計算機模擬拋硬幣實驗數(shù)據(jù)
計算思維:自動化——自動化是充分利用計算機可自動重復(fù)的強大的運算能力來求解問題,以彌補人在處理大數(shù)據(jù)時的計算缺陷。學(xué)生通過算法實現(xiàn)程序,并由程序的自動執(zhí)行來搜集數(shù)據(jù)。
圖3 學(xué)生程序
(6)遷移推廣。
學(xué)生活動六:分析數(shù)據(jù),計算正面向上出現(xiàn)的頻率(正面向上的次數(shù)/實驗重復(fù)次數(shù)),并得出實驗結(jié)論。
計算思維:概括——是基于先前已經(jīng)解決的問題,將其概括作為通用解決方案,以便于推廣到更廣泛的問題情境中。學(xué)生用計算機程序模擬搜集數(shù)據(jù)過程并概括出實驗結(jié)論:在做大量重復(fù)試驗時,隨著試驗次數(shù)的增加,一個事件出現(xiàn)的頻率,總在一個固定數(shù)的附近擺動,顯示一定的穩(wěn)定性,這個固定數(shù)就是概率。
本教學(xué)活動設(shè)計緊緊圍繞計算思維的操作性定義和五個基本組成要素展開,“從一枚硬幣說起”,引導(dǎo)學(xué)生思考如何利用計算機來模擬大量重復(fù)實驗,通過六個教學(xué)活動,經(jīng)歷了不同程度的問題抽象,將學(xué)生的思維過程可視化。
1.建構(gòu)真實的問題情境是抽象思維的第一步
計算思維的實質(zhì)是抽象和自動化,現(xiàn)實生活中我們面對的往往是錯綜復(fù)雜的非良構(gòu)問題,要求我們能將此類問題抽象出計算機能夠處理的問題,所以在教學(xué)中我們要基于真實的問題,引導(dǎo)學(xué)生清晰地定義和表達問題。
2.與數(shù)學(xué)學(xué)科整合,加深對數(shù)學(xué)概念的理解
拋硬幣實驗是一個典型的隨機事件,數(shù)學(xué)中的概率是建立在大量重復(fù)實驗的基礎(chǔ)上的?,F(xiàn)實生活中由于無法直觀展示大量重復(fù)實驗的結(jié)果,學(xué)生在理解概率這個數(shù)學(xué)概念時,只能借助抽象的理論推理,造成理解上的困難。計算機的機械運算能力使得計算機在處理這類大量重復(fù)的事情上有著極大的優(yōu)勢,因此采用編程模擬隨機事件,可以使學(xué)生很直觀地明白概率的含義,這也是學(xué)科整合的魅力。學(xué)科之間互相借力,創(chuàng)造性地解決問題。
3.計算模擬,科學(xué)探究的第三大范式
隨著互聯(lián)網(wǎng)的普及,信息技術(shù)手段的不斷提高,使得科學(xué)研究除了傳統(tǒng)的實驗研究和理論研究外,多了一個新的研究范式:計算模擬。利用計算機能夠方便采集與處理信息的能力,幫助我們學(xué)會在信息時代進行科學(xué)探究,提高信息處理能力。
4.思維可視化,提升計算思維能力
計算機解決問題的過程和人類解決問題的過程最大的區(qū)別在于,人類有大量的包含個人經(jīng)驗在內(nèi)的隱性知識,而計算機解決問題的過程要求清晰的問題定義和描述。通過對問題的層層抽象,將學(xué)生的隱性知識顯性化,思維過程可視化,不斷對計算思維能力進行強化和訓(xùn)練,思維能力才能得到提升。
以計算思維為導(dǎo)向的教學(xué)促使中小學(xué)信息技術(shù)教學(xué)價值發(fā)生了改變,計算思維教育的目標(biāo)不僅僅是讓學(xué)生打下學(xué)科特有的知識基礎(chǔ),更重要的是培養(yǎng)其學(xué)科特有的思維模式,培養(yǎng)學(xué)生面向未來發(fā)展的能力。計算思維作為信息技術(shù)學(xué)科的核心素養(yǎng)之一,如何在教學(xué)中有效地進行培養(yǎng)還需要廣大教育者們進一步地思考和研究。endprint