任春霞 浙江省紹興市上虞區(qū)實(shí)驗(yàn)小學(xué)
《義務(wù)教育信息科技課程標(biāo)準(zhǔn)(2022年版)》明確指出信息技術(shù)學(xué)科核心素養(yǎng)由信息意識(shí)、計(jì)算思維、數(shù)字化學(xué)習(xí)與創(chuàng)新、信息社會(huì)責(zé)任四個(gè)要素組成。[1]計(jì)算思維是個(gè)體運(yùn)用計(jì)算機(jī)科學(xué)領(lǐng)域的思想方法,在形成問題解決方案的過程中產(chǎn)生的一系列思維活動(dòng),由算法思維、評(píng)估、抽象、分解、概括等要素組成。本文以浙江攝影版小學(xué)信息技術(shù)教材(2020)五年級(jí)下冊(cè)第二單元第7課《詢問交互》為例,進(jìn)行基于計(jì)算思維培養(yǎng)的課堂教學(xué)探究與實(shí)踐。
本課以觀看《達(dá)拉崩吧》的音樂動(dòng)畫片段引入。《達(dá)拉崩吧》是學(xué)生感興趣的歌曲之一,用學(xué)生感興趣的歌曲引入并以此為主題,可以讓學(xué)生的興趣保持較強(qiáng)的穩(wěn)定性。在興趣的驅(qū)使下學(xué)生可以一步步深入探索,克服困難解決問題。此音樂動(dòng)畫片段的歌詞及劇情如圖1所示。
圖1
動(dòng)畫片段中交待了故事發(fā)生的背景,通過國(guó)王和勇士的對(duì)話、勇士和惡龍的對(duì)話引出課題“詢問交互”。在勇士與惡龍交談之后動(dòng)畫片段戛然而止?!敖酉聛淼墓适率窃趺窗l(fā)展的呢?我們來看一位小導(dǎo)演的設(shè)計(jì)。”筆者打開根據(jù)《達(dá)拉崩吧》動(dòng)畫設(shè)計(jì)的圖形化編程小游戲——“拯救公主”,并與學(xué)生一起玩游戲。
通過玩游戲可以了解游戲的規(guī)則:公主被惡龍抓進(jìn)了山洞,惡龍守在山洞口,勇士要救出公主,必須回答惡龍?zhí)岢龅?個(gè)問題。答對(duì)了給出答對(duì)提示:惡龍身體變小并離開山洞一段距離;答錯(cuò)了給出答錯(cuò)提示:惡龍身體變大,位置不變。
利用計(jì)算思維解決問題,是指運(yùn)用計(jì)算機(jī)領(lǐng)域的思想方法,對(duì)問題進(jìn)行抽象、分解、建模,并設(shè)計(jì)算法形成解決問題的方案,且通過算法的實(shí)現(xiàn)、測(cè)試來驗(yàn)證方案的有效性,最后再反思優(yōu)化方案。抽象是此過程中的第一步,也是至關(guān)重要的一步。抽象是指從眾多事物中抽取出共同的、本質(zhì)性的特征,而舍棄其非本質(zhì)特征的過程。[2]抽象的過程就是根據(jù)要解決的問題,抓取事物中與問題解決有關(guān)的重點(diǎn)屬性,忽略與問題解決無(wú)關(guān)的部分屬性。建模是通過抽象后,將問題轉(zhuǎn)變?yōu)檫m合在計(jì)算機(jī)中表示的數(shù)據(jù)結(jié)構(gòu)和形式化的數(shù)學(xué)模型?!罢裙鳌庇螒虺橄蠛蠼⒌哪P腿鐖D2所示。
圖2
根據(jù)皮亞杰認(rèn)知發(fā)展階段論,五年級(jí)學(xué)生的思維處于具體運(yùn)算階段,此時(shí)的學(xué)生能從一個(gè)概念的各種變化中抓住實(shí)質(zhì),但思維狀態(tài)還離不開具體事物的支持,正處在從以具體形象思維為主逐步過渡到以抽象思維為主的過程中,且此階段的思維運(yùn)算是零散的,還不能組成一個(gè)完整的系統(tǒng)。所以,對(duì)五年級(jí)的學(xué)生來說抽象和建模較為困難,于是筆者以三個(gè)簡(jiǎn)單具體的問題引導(dǎo)學(xué)生:①游戲中的角色有哪些?②這些角色分別做了什么事情?③這些角色做了事情之后有什么變化?
在回答了這三個(gè)問題之后,可以得知有“勇士”“惡龍”“用戶”這三個(gè)角色。其中用戶即勇士,勇士的行為就是回答問題。惡龍的行為是:①提出問題(可以提出一個(gè)或多個(gè)問題);②設(shè)置正確答案;③判斷勇士的回答。由此可知,主要行為集中在惡龍這個(gè)角色身上,同時(shí),惡龍還有相關(guān)屬性的變化,如語(yǔ)言、造型、大小、顏色、位置等。
圖3
計(jì)算思維中的分解是指將一個(gè)比較復(fù)雜的問題分解成若干個(gè)容易解決和實(shí)現(xiàn)的小問題。在這個(gè)游戲中,惡龍的行為最為復(fù)雜,讓學(xué)生直接編寫腳本較為困難。根據(jù)對(duì)模型的分析可以由大到小將其分解成4級(jí)問題(如下頁(yè)表),其中惡龍的第3級(jí)和第4級(jí)問題均可自由發(fā)揮。將問題分解之后,便可根據(jù)問題逐個(gè)設(shè)計(jì)算法,編寫程序。
算法是解決問題的方法和步驟,經(jīng)過建模和分解之后,學(xué)生已經(jīng)可以用自然語(yǔ)言清楚地描述游戲的流程。自然語(yǔ)言雖然通俗易懂,但書寫起來較為繁雜,對(duì)復(fù)雜問題需要用很多文字才能表達(dá)清楚,無(wú)法做到一目了然。與自然語(yǔ)言相比,流程圖更加簡(jiǎn)潔明了,形象直觀,便于查看和參考。于是,筆者提供流程圖圖框,請(qǐng)學(xué)生討論分析并將相關(guān)內(nèi)容填進(jìn)圖框內(nèi),引導(dǎo)學(xué)生畫好流程線,一起將自然語(yǔ)言轉(zhuǎn)化為流程圖。學(xué)生可以根據(jù)流程圖圖框(如圖3)到對(duì)應(yīng)的區(qū)域?qū)ふ掖a積木塊。在流程圖的指引下,腳本編寫便水到渠成(如上頁(yè)圖4)。其中,“所提問題及答案”“答對(duì)提示”“答錯(cuò)提示”由學(xué)生自主創(chuàng)造有趣的問題并設(shè)置對(duì)應(yīng)提示。
圖4
有流程圖的引導(dǎo),學(xué)生能夠自主編寫腳本,但由于個(gè)體差異,不是所有學(xué)生都能夠順利進(jìn)行,于是筆者提供以下建議引導(dǎo)學(xué)生自主獲取知識(shí):①鼠標(biāo)指向積木塊,根據(jù)指令文字提示操作指令,了解相關(guān)指令功能;②參考課本獲取操作知識(shí)點(diǎn);③查看教師提供的微課獲取相關(guān)知識(shí)點(diǎn);④與同學(xué)和教師交流獲得知識(shí)和方法。
以上建議層層遞進(jìn),大部分學(xué)生可以通過尋找相關(guān)提示和參考課本完成操作,少部分學(xué)生需要查看教師提供的微課,極個(gè)別學(xué)生需要同學(xué)和教師的幫助。
調(diào)試就是對(duì)程序進(jìn)行測(cè)試,模擬用戶使用的狀態(tài),找到程序中的不妥與錯(cuò)誤之處并對(duì)應(yīng)進(jìn)行修改完善,讓程序變得更加完美。
本課中學(xué)生在調(diào)試時(shí)發(fā)現(xiàn)一個(gè)問題:當(dāng)游戲中的問答結(jié)束后,如果想重新玩游戲,惡龍并不會(huì)自動(dòng)回到最原始的狀態(tài),即無(wú)法重新玩游戲。為了解決這個(gè)問題,學(xué)生思考并提出需要將游戲進(jìn)行初始化設(shè)置。在進(jìn)行初始化設(shè)置時(shí)應(yīng)根據(jù)惡龍的大小、形狀、顏色、位置等做相應(yīng)的初始狀態(tài)設(shè)置,每位學(xué)生根據(jù)自己游戲中惡龍的實(shí)際情況進(jìn)行初始化腳本編寫(如圖5)。
圖5
在評(píng)價(jià)環(huán)節(jié),筆者請(qǐng)學(xué)生互玩游戲,找找對(duì)方的游戲和自己的游戲的不同,在互玩的過程中拓展了學(xué)生的思維,并進(jìn)一步激發(fā)了學(xué)生的靈感。學(xué)生在課后繼續(xù)討論交流游戲故事,思考實(shí)現(xiàn)過程,在碰撞中推進(jìn)游戲進(jìn)程,在設(shè)計(jì)游戲中提高了思維的深度和廣度,這樣既促進(jìn)計(jì)了計(jì)算思維的形成,也發(fā)展了自主學(xué)習(xí)和深入學(xué)習(xí)的能力,使信息素養(yǎng)得以提升。
編程教學(xué)可以使學(xué)生逐漸養(yǎng)成良好的思維習(xí)慣,讓學(xué)生能夠在真實(shí)情境中發(fā)現(xiàn)問題,提取問題的基本特征,對(duì)問題進(jìn)行抽象、分解、建模,制訂解決方案,并執(zhí)行優(yōu)化方案,是培養(yǎng)學(xué)生計(jì)算思維的有效途徑。作為信息技術(shù)教師應(yīng)讓學(xué)生能夠使用計(jì)算機(jī)科學(xué)領(lǐng)域的思想方法去解決問題并能有意識(shí)地總結(jié)解決問題的方法,將其遷移到其他問題的求解中,只有這樣才能促進(jìn)學(xué)生核心素養(yǎng)的形成與發(fā)展,使學(xué)生具有能夠適應(yīng)終身發(fā)展和社會(huì)發(fā)展需要的必備品格和關(guān)鍵能力。