邵勝峰
【摘要】小學(xué)是教育初級(jí)階段,在教育改革深化下越來越多新式教育方法和手段涌現(xiàn),其中Scratch作為一種可視化編程工具,圖文并茂,便于原本枯燥內(nèi)容趣味化,調(diào)動(dòng)學(xué)生學(xué)習(xí)興趣,提升教學(xué)有效性。對(duì)于小學(xué)生而言,編程學(xué)習(xí)難度較大,基于Scratch創(chuàng)設(shè)故事情境,明確目標(biāo),循序漸進(jìn)地展開教學(xué)活動(dòng),可以顯著培養(yǎng)學(xué)生解決問題的能力和計(jì)算思維,為后續(xù)學(xué)習(xí)和發(fā)展奠定基礎(chǔ)。本文就Scratch下小學(xué)生計(jì)算思維培養(yǎng)方法展開分析,加深對(duì)Scratch認(rèn)知的基礎(chǔ)上,立足實(shí)際教學(xué)需要?jiǎng)?chuàng)新教學(xué)策略,提升教學(xué)有效性。
【關(guān)鍵詞】計(jì)算思維;小學(xué)生;Scratch;編程學(xué)習(xí)
在學(xué)習(xí)編程相關(guān)知識(shí)中,由于知識(shí)抽象、復(fù)雜,對(duì)于小學(xué)生而言學(xué)習(xí)難度大,通過創(chuàng)設(shè)圖形化編程環(huán)境,便于喚醒學(xué)生的學(xué)習(xí)興趣,在此基礎(chǔ)上進(jìn)行簡(jiǎn)單創(chuàng)作,并且在積累豐富經(jīng)驗(yàn)下,后期多結(jié)構(gòu)組合,切實(shí)培養(yǎng)學(xué)生的創(chuàng)新意識(shí)。設(shè)計(jì)可視化程序框架,應(yīng)用Scratch可以打破以往機(jī)械式、程序式編程方式的乏味,全身心投入到想象和設(shè)計(jì)中,將復(fù)雜的編程內(nèi)容精簡(jiǎn)化,提升教學(xué)有效性的同時(shí),切實(shí)培養(yǎng)學(xué)生的計(jì)算思維和實(shí)踐能力。加強(qiáng)Scratch下小學(xué)生計(jì)算思維培養(yǎng)研究,積極推動(dòng)教學(xué)方法改進(jìn)創(chuàng)新,為后續(xù)教育教學(xué)提供參考依據(jù)。
一、計(jì)算思維和Scratch概述
計(jì)算思維是學(xué)生的一項(xiàng)基礎(chǔ)素質(zhì)能力,也是信息化社會(huì)中數(shù)字公民所應(yīng)具備的基本素養(yǎng)。在Scratch環(huán)境下,引導(dǎo)學(xué)生編程設(shè)計(jì)和解決問題,便于學(xué)生更加深入理解和記憶知識(shí)。計(jì)算思維是通過對(duì)數(shù)據(jù)進(jìn)行分析和邏輯組織,基于科學(xué)合理方法去解決問題,實(shí)現(xiàn)最優(yōu)化的組合,實(shí)現(xiàn)思路整理與歸納。
Scratch屬于可視化編程語言環(huán)境,基于更加直觀、簡(jiǎn)單的圖譜結(jié)構(gòu),實(shí)現(xiàn)變成,可以借助直觀生動(dòng)的圖譜結(jié)構(gòu)來編程,設(shè)計(jì)程序轉(zhuǎn)化為Java和c++高級(jí)語言,為后續(xù)的程序設(shè)計(jì)教學(xué)創(chuàng)設(shè)良好的環(huán)境[1]?;赟cratch,學(xué)生在原本復(fù)雜的語法規(guī)則中脫離而出,學(xué)習(xí)重點(diǎn)轉(zhuǎn)移在算法構(gòu)建、問題抽象以及程序?qū)崿F(xiàn)等層面。所以說,Scratch有助于培養(yǎng)小學(xué)生的計(jì)算思維,促使學(xué)生在學(xué)習(xí)知識(shí)和解決問題的過程中逐步養(yǎng)成良好的學(xué)習(xí)習(xí)慣。
二、Scratch在學(xué)習(xí)中計(jì)算思維的體現(xiàn)
其一,Scratch學(xué)習(xí)環(huán)境下,通過算法思想來自動(dòng)化解決問題。以往計(jì)算機(jī)的編程語言學(xué)習(xí)是一種枯燥的活動(dòng),氛圍沉悶,簡(jiǎn)單而言就是寫代碼,而Scratch可以將原本設(shè)定好的模塊,借助變成語法、語句結(jié)構(gòu)將其轉(zhuǎn)化為可視化指令塊。而在這個(gè)過程中,變成有如孩子在玩搭積木游戲,自動(dòng)化演示積木式程序,并且更為直觀、生動(dòng)地觀察到腳本設(shè)計(jì)效果,及時(shí)改進(jìn)其不足[2]。
其二,Scratch學(xué)習(xí)中,在邏輯組織方面彰顯計(jì)算思維,可以借助模型模擬演示來反映數(shù)據(jù)。為了完成程序編寫目標(biāo),可以綜合分析程序各項(xiàng)任務(wù),抽象內(nèi)容轉(zhuǎn)化為直觀內(nèi)容,設(shè)計(jì)對(duì)應(yīng)程序任務(wù),綜合分析各項(xiàng)任務(wù)要求來編制解決方案,獲得對(duì)應(yīng)指令算法。諸如,以設(shè)計(jì)時(shí)鐘為例,第一步需要定義時(shí)針、分針和秒針,將秒針初值設(shè)置為0,將預(yù)設(shè)好的指令融入秒針循環(huán)語句中。分針腳本需要判斷秒針值等于60時(shí),方可執(zhí)行旋轉(zhuǎn)命令,所以需要將判斷語句加入群中,執(zhí)行后變量秒針值重新變?yōu)?。而在這個(gè)過程中,為了實(shí)現(xiàn)不同的目標(biāo),必須要設(shè)計(jì)不同算法指令,綜合考量腳本設(shè)計(jì),充分彰顯計(jì)算思維[3]。
其三,Scratch學(xué)習(xí)中,在識(shí)別、分析和實(shí)現(xiàn)過程中展現(xiàn)計(jì)算思維。不同角色需要實(shí)現(xiàn)的功能有所不同,為了保證最終呈現(xiàn)效果,應(yīng)針對(duì)性地進(jìn)行腳本設(shè)計(jì),正確梳理同運(yùn)用之間的關(guān)系,最后達(dá)到有效組織目標(biāo)。諸如,設(shè)計(jì)迷宮腳本,首先需要?jiǎng)?chuàng)設(shè)情境故事,小雞想要走出迷宮,就需要經(jīng)過四個(gè)問題并回答,只有全部答對(duì)方可走出迷宮?;卮疱e(cuò)誤,需要小雞重新回到起點(diǎn),每次回答錯(cuò)誤都會(huì)減去一點(diǎn)生命值[4]。
其四,Scratch學(xué)習(xí)中,學(xué)習(xí)過程整理與歸納中展現(xiàn)計(jì)算思維。優(yōu)化算法設(shè)計(jì),通過合理規(guī)劃各個(gè)步驟環(huán)節(jié),按部就班地實(shí)現(xiàn)方可達(dá)到最終目標(biāo)。實(shí)驗(yàn)內(nèi)容設(shè)計(jì)中,一個(gè)計(jì)算任務(wù)可以選擇多方法實(shí)現(xiàn),算法多樣化的同時(shí),也可以幫助學(xué)生分析不同算法的優(yōu)點(diǎn)和缺點(diǎn),進(jìn)而將設(shè)計(jì)過程精簡(jiǎn)優(yōu)化。
三、Scratch環(huán)境下小學(xué)生計(jì)算思維培養(yǎng)的措施
(一)推行項(xiàng)目平面化,問題分析更加直觀
其一,從編程角度對(duì)項(xiàng)目詳細(xì)描述。為了將復(fù)雜問題精簡(jiǎn)化,通過觀察、分析、描述和假設(shè)等一系列流程來解決問題,首要一點(diǎn)需要推行項(xiàng)目平面化,促使問題分析更加直觀化。將學(xué)生的問題和設(shè)想呈現(xiàn)在紙面上,以設(shè)計(jì)師角色來勾勒心中的創(chuàng)意觀點(diǎn),抽象內(nèi)容具體化,繪制流程圖。而這允許是一段科幻短劇,也可以是前沿技術(shù),但其中涉及并發(fā)概念,內(nèi)涵遞歸思想。例如,智能駕駛為主體,可以制作一段創(chuàng)意短片來闡述概念,然后在教師的指導(dǎo)下學(xué)生獲得充足的實(shí)踐空間,帶著問題去探究和挖掘智能駕駛相關(guān)資源,包含速度控制、智能剎車、編導(dǎo)提醒等多樣化功能[5]。循序漸進(jìn),學(xué)生可以在頭腦中形成多種觀點(diǎn),基于流程圖直觀地表述出來。
其二,項(xiàng)目描述過渡到生活描述。與項(xiàng)目一樣,生活同樣可以借助流程圖呈現(xiàn)出來,規(guī)劃一天或是一周的時(shí)間。例如,一天時(shí)間規(guī)劃,早上先吃早飯,然后去同學(xué)家做作業(yè),下午去室外打籃球,晚上回家和家人一起慶祝生日。通過在紙上直觀地呈現(xiàn)計(jì)劃,內(nèi)容和流程清晰明了。
(二)推行任務(wù)立體化,針對(duì)性解決問題
其一,任務(wù)分解細(xì)化。在流程圖上把握各節(jié)點(diǎn)任務(wù)要求,發(fā)現(xiàn)這些任務(wù)之間存在潛在聯(lián)系,并非獨(dú)立存在的,為了幫助學(xué)生思路清晰、明確,推行任務(wù)立體化,將總?cè)蝿?wù)劃分為多個(gè)子任務(wù),按部就班地完成任務(wù),把握任務(wù)關(guān)聯(lián)知識(shí)點(diǎn),交由學(xué)生自主判定,分析問題和解決問題[6]。沿著主線,明確目標(biāo)并逐步完成各項(xiàng)任務(wù),如果出現(xiàn)子任務(wù)無法完成的情況,那么整體流程進(jìn)度受到影響,學(xué)生應(yīng)分析具體出現(xiàn)問題的環(huán)節(jié),是否因?yàn)檫@個(gè)問題引出其他學(xué)科問題,將問題羅列出來,便于針對(duì)性解決。通過此種方式,任務(wù)立體化,思路即便發(fā)生偏差,但最終也會(huì)回歸主線,完成學(xué)習(xí)任務(wù)。
其二,分解任務(wù),拉近課堂和生活的距離。課堂和生活之間距離的拉近,便于學(xué)生將所學(xué)知識(shí)應(yīng)用于生活中,在鍛煉學(xué)生計(jì)算思維和實(shí)踐能力方面有著較為突出的優(yōu)勢(shì)。對(duì)于日常生活內(nèi)容,也可以在任務(wù)框架中將各項(xiàng)細(xì)化,促使生活效率顯著提升。但是,無論多么完整的計(jì)劃,后期都可能出現(xiàn)變化,所以要結(jié)合實(shí)際情況靈活調(diào)整和控制,不要局限于框架束縛,而是要真正體現(xiàn)靈活的計(jì)算思維。
(三)推行程序模塊化,方案優(yōu)化改進(jìn)
在編程過程中,應(yīng)注重對(duì)流程進(jìn)行優(yōu)化和改進(jìn),流程合理可讀性較強(qiáng),一方面可以提升程序的運(yùn)行效率,另一方面便于后期的程序維護(hù)和改進(jìn)。而在這個(gè)過程中,則涉及一個(gè)概念—編程邏輯思維,主要指程序內(nèi)部強(qiáng)調(diào)編程思維,在其他編程模式實(shí)際應(yīng)用中體現(xiàn)的邏輯思維。推行程序模塊化,可以實(shí)現(xiàn)多個(gè)程序之間的合理分工和調(diào)用,相互依存[8]。
從程序優(yōu)化逐步過渡到生活。日常生活中遇到的問題多種多樣,解決同一個(gè)問題的方法是多樣的,這就需要綜合分析和比較,選擇更加靈活、便捷、高效和成本低的方法。例如,生活中小王如果需要購買一個(gè)品牌的鋼筆,則需要提前告知在外上班的爸爸,下班回家時(shí)可以直接買回家,不僅可以得到想要的鋼筆,也不會(huì)耽誤在家學(xué)習(xí),滿足多重目標(biāo)需要。同樣的,Windows操作系統(tǒng)的并發(fā)概念,同樣是這一概念的具體展現(xiàn),多重目標(biāo)可以同步進(jìn)行,實(shí)現(xiàn)資源最優(yōu)化利用。長此以往,人們可以多學(xué)科方法來靈活運(yùn)用計(jì)算思維,促進(jìn)新概念產(chǎn)生,并作用于現(xiàn)代社會(huì)進(jìn)步和發(fā)展,其重要性不言而喻。
四、結(jié)論
綜上所述,Scratch環(huán)境下的小學(xué)生計(jì)算思維培養(yǎng)并非一件簡(jiǎn)單的事,而是需要長久堅(jiān)持,找對(duì)方法。尤其是現(xiàn)代教育強(qiáng)調(diào)學(xué)生素質(zhì)能力的培養(yǎng),知識(shí)講述并非唯一目標(biāo),學(xué)會(huì)知識(shí)的同時(shí),也要掌握相對(duì)應(yīng)的思維方法。通過培養(yǎng)學(xué)生的計(jì)算思維,可以拉近課堂和生活之間的距離,鍛煉學(xué)生知識(shí)運(yùn)用到實(shí)踐的能力,并且從生活中學(xué)習(xí)到更多的經(jīng)驗(yàn)技巧,反作用于學(xué)習(xí)領(lǐng)域更高層次的發(fā)展。
【參考文獻(xiàn)】
[1]鐘燕茹.基于Scratch的農(nóng)村小學(xué)生計(jì)算思維訓(xùn)練的實(shí)踐研究[J].名師在線,2020,20(27):67-68.
[2]王衛(wèi)堅(jiān). Scratch教學(xué)中對(duì)小學(xué)生計(jì)算思維養(yǎng)成的探討[J].科幻畫報(bào),2020,29(08):187.
[3]佘馥秀.基于“互聯(lián)網(wǎng)+PBL”的小學(xué)生計(jì)算思維能力培養(yǎng)研究—以Scratch編程教學(xué)為例[J].教育與裝備研究,2020,36(06):75-78.
[4]聞敏,張順忠. Scratch程序設(shè)計(jì)教學(xué)中培養(yǎng)小學(xué)生計(jì)算思維的研究[J].電腦知識(shí)與技術(shù),2020,16(07):160,166.
[5]熊秋娥,葛越. Scratch游戲化編程培養(yǎng)小學(xué)生計(jì)算思維的實(shí)證研究[J].基礎(chǔ)教育,2019,16(06):27-35.
[6]譚國聚,孟延豹.基于程序結(jié)構(gòu)講授程序設(shè)計(jì)培養(yǎng)小學(xué)生計(jì)算思維能力—以Scratch 2.0程序設(shè)計(jì)為例[J].中國信息技術(shù)教育,2019,11(23):74-76,109.
[7]金政.基于Scratch編程的小學(xué)生計(jì)算思維培養(yǎng)實(shí)踐研究[D].延吉:延邊大學(xué),2019.
[8]劉麗.小學(xué)生Scratch課程設(shè)計(jì)與學(xué)生計(jì)算思維培養(yǎng)[J].新課程(小學(xué)),2019,23(08):102.