黃榮 江蘇省南京市立賢小學(xué)
算法是小學(xué)信息科技學(xué)習(xí)的重要內(nèi)容,是在問題解決過程中涉及的一系列綜合性的思維活動(dòng)。它是一個(gè)抽象的概念,如果在教學(xué)中泛泛而談,則很難培養(yǎng)學(xué)生的算法思維能力,而復(fù)雜問題解決的能力對(duì)學(xué)生的算法學(xué)習(xí)是非常重要的。因此在教學(xué)中,筆者嘗試將復(fù)雜的算法問題分解為多個(gè)子問題,使學(xué)生掌握復(fù)雜問題的分解策略。下面,以《花朵繽紛》一課為例進(jìn)行說明。
《花朵繽紛》一課屬于“算法與程序設(shè)計(jì)”模塊,涉及的問題主要有兩個(gè):一是如何在圖形化編程軟件中把一片花瓣變成一朵花;二是如何把一朵花變成花朵繽紛的特效。
①欣賞“一片花瓣變成一朵花”現(xiàn)象。
師:視頻中的一片花瓣變成了什么?讓我們從編程的角度研究“一片花瓣變成一朵花”問題。
②欣賞“花朵特效”現(xiàn)象并揭示課題。
學(xué)生繼續(xù)欣賞視頻。
師:視頻中的花朵又出現(xiàn)了什么特效?今天這節(jié)課,我們重點(diǎn)研究花朵繽紛。
生:花朵繽紛效果是由“一片花瓣變成一朵花”現(xiàn)象和“花朵特效”現(xiàn)象組成。
片段一:一片花瓣變成一朵花
師:各位同學(xué)動(dòng)手操作,嘗試將一片花瓣旋轉(zhuǎn)變成一朵花(以五片花瓣為例),如圖1所示。
圖1
教師出示研究要求:①轉(zhuǎn)一轉(zhuǎn):一片花瓣如何旋轉(zhuǎn)變成一朵花?②說一說:小組內(nèi)交流一下一片花瓣變成一朵花的過程。
學(xué)生小組活動(dòng)。
師:哪位同學(xué)愿意將你們小組的研究成果向全班同學(xué)展示并交流?
生1:我要把這片花瓣依次進(jìn)行旋轉(zhuǎn)。
一位學(xué)生提出問題:旋轉(zhuǎn)過后還是只有一片花瓣,但是花朵有五片花瓣?
生2:花瓣每次旋轉(zhuǎn)過后,還要對(duì)這片花瓣進(jìn)行復(fù)制,然后再依次進(jìn)行旋轉(zhuǎn)復(fù)制五次,這樣就有五片花瓣了。
師:根據(jù)大家的回答,我們來(lái)梳理一下一片花瓣變成一朵花的具體操作步驟。第一步是要有一片花瓣,第二步是什么呢?
生:第二步是旋轉(zhuǎn),并且要確定旋轉(zhuǎn)角度。
師:旋轉(zhuǎn)的時(shí)候要注意什么?(出示課件)為什么有的花瓣會(huì)出現(xiàn)雜亂無(wú)章的情況?
生:在旋轉(zhuǎn)之前,要設(shè)置好花瓣的旋轉(zhuǎn)中心點(diǎn)。
師:因?yàn)樾D(zhuǎn)前就要設(shè)置好中心點(diǎn),所以第二步是確定中心點(diǎn),第三步是旋轉(zhuǎn),第四步是什么呢?
生:旋轉(zhuǎn)后就要對(duì)花瓣進(jìn)行復(fù)制。
師:這樣就結(jié)束了嗎?
生:沒有,還要重復(fù)執(zhí)行旋轉(zhuǎn)復(fù)制這個(gè)過程,印好其余花瓣。
結(jié)合學(xué)生的回答,教師呈現(xiàn)一片花瓣變成一朵花的具體過程,如圖2所示。
圖2
學(xué)生根據(jù)算法過程在圖形化編程工具里編寫腳本進(jìn)行驗(yàn)證,并展示成果。
片段二:花朵特效
師:一朵花完成了,接下來(lái)完成花朵特效。我們來(lái)研究一下花朵有哪些變化,如圖3所示。
圖3
隨著學(xué)生的討論、交流,教師提煉,進(jìn)行板書:①位置不定;②出現(xiàn)多個(gè)花朵;③顏色各異;④大小不同。
師:根據(jù)同學(xué)們的回答,可以把花朵特效抽象成四個(gè)子問題,這樣就降低了難度。首先來(lái)看位置不定的效果是怎么實(shí)現(xiàn)的。如何改變花朵出現(xiàn)的位置呢?
生:需要用到運(yùn)動(dòng)模塊里的坐標(biāo)控件,通過改變坐標(biāo)里的數(shù)值去改變位置。
師:每次改變位置都要改變坐標(biāo),很麻煩,怎么辦呢?能不能讓計(jì)算機(jī)隨機(jī)設(shè)定數(shù)值呢?它在運(yùn)算模塊里,你們能找到嗎?找到了以后研究一下隨機(jī)數(shù)的范圍怎么設(shè)置呢?
生:可以把隨機(jī)數(shù)的范圍設(shè)置成舞臺(tái)的X坐標(biāo)范圍和Y坐標(biāo)范圍。分別是-240~240,-180~180兩組數(shù)值。
師:繼續(xù)運(yùn)行一下腳本,就會(huì)在舞臺(tái)的隨機(jī)位置出現(xiàn)一朵花。那如果要連續(xù)不斷地出現(xiàn)在舞臺(tái)不同位置(也就是出現(xiàn)多個(gè)朵花),怎么辦呢?
學(xué)生嘗試操作,試著用重復(fù)控件完成位置不定和出現(xiàn)多個(gè)花朵的效果。
師:花朵開滿畫面后,可以使用特效類控件實(shí)現(xiàn)花朵的顏色特效和大小變化,這兩個(gè)特效類控件在哪里呢?
學(xué)生快速找到顏色特效和大小特效控件,嘗試搭建腳本并運(yùn)行。
制作“雪花漫天飛”效果。
教師要求學(xué)生觀察圖4中的效果,思考以下問題:①一片雪花是由什么角色旋轉(zhuǎn)而成的?②需要利用循環(huán)控件重復(fù)旋轉(zhuǎn)復(fù)制幾次?③仔細(xì)觀察,雪花有哪些變化?④“雪花漫天飛”與“花朵繽紛”效果有什么聯(lián)系?
圖4
活動(dòng)是學(xué)生認(rèn)知的基礎(chǔ),智慧從動(dòng)作開始。學(xué)生通過看一看、動(dòng)手操作、說一說、上機(jī)編程等豐富的實(shí)踐探索活動(dòng),經(jīng)歷了動(dòng)手、動(dòng)口、動(dòng)腦的過程,充分調(diào)動(dòng)了各種感官參與學(xué)習(xí),對(duì)一片花瓣變成一朵花的過程由感性認(rèn)識(shí)上升到了理性認(rèn)識(shí)。學(xué)生能深刻地理解一片花瓣變成一朵花的算法過程,并用圖形化工具進(jìn)行腳本編寫。
在上面的教學(xué)片段中,學(xué)生不是簡(jiǎn)單的“操作工”,而是“研究者”,目標(biāo)指引操作,問題驅(qū)動(dòng)操作。因此,學(xué)生學(xué)習(xí)算法過程的熱情是高漲的。
《義務(wù)教育信息科技課程標(biāo)準(zhǔn)(2022年版)》指出,在進(jìn)行編程學(xué)習(xí)時(shí),需要將算法學(xué)習(xí)貫穿于問題求解的過程中,而問題可以分為簡(jiǎn)單問題和復(fù)雜問題,簡(jiǎn)單問題不需要分解,復(fù)雜問題可以分解為若干子問題,然后根據(jù)功能求解出解決子問題的具體操作步驟,形成求解方案。
在本節(jié)課中,學(xué)生首先要明確具體的任務(wù),即如何在圖形化編程工具中實(shí)現(xiàn)花朵繽紛的效果。其次,抽象問題的關(guān)鍵特征,明確問題求解的輸入和輸出。再次,分解問題,將復(fù)雜的花朵繽紛問題分解為兩個(gè)簡(jiǎn)單的問題,即一片花瓣變成一朵花和花朵的特效兩個(gè)子問題,再由子問題分析出具體操作步驟,形成科學(xué)的算法。這樣先整體后部分、先抽象后具體的方法,有利于培養(yǎng)學(xué)生解決復(fù)雜問題的能力。
分解問題的環(huán)節(jié),是學(xué)生自主探究的主要環(huán)節(jié),在片段一中,有學(xué)生的肯定,有學(xué)生的補(bǔ)充,也有學(xué)生的質(zhì)疑。學(xué)生不但探索到一片花瓣變成一朵花的過程,同時(shí)也抽象出了其中的具體步驟。在片段二中,師生一問一答,教師的有效提問帶領(lǐng)全班學(xué)生經(jīng)歷了重難點(diǎn)的突破,使學(xué)生對(duì)花朵特效腳本的編寫從模糊到清晰,進(jìn)一步地感悟了算法。從實(shí)踐效果來(lái)看,無(wú)論是片段一還是片段二,學(xué)生均能在教師的引導(dǎo)下抽象出問題的基本特征,并將問題分解為具體操作步驟,這一過程有效地激發(fā)了學(xué)生的探究欲望,發(fā)展了學(xué)生的計(jì)算思維。
學(xué)習(xí)遷移是指一種學(xué)習(xí)對(duì)另一種學(xué)習(xí)的影響,也是將學(xué)得的經(jīng)驗(yàn)有變化地運(yùn)用于另一情境的能力。在練習(xí)環(huán)節(jié),筆者設(shè)置了題目:如何在圖形化編程工具中實(shí)現(xiàn)“雪花漫天飛”的效果?在教學(xué)中,教師是引導(dǎo)者,通過三個(gè)問題引導(dǎo)學(xué)生明確“雪花漫天飛”的學(xué)習(xí)任務(wù),并對(duì)“花朵繽紛”與“雪花漫天飛”進(jìn)行對(duì)比、辨別與聯(lián)系,再主動(dòng)地將解決“花朵繽紛”問題的學(xué)習(xí)經(jīng)驗(yàn)遷移到“雪花漫天飛”的情境中去。這樣,學(xué)生能通過經(jīng)驗(yàn)的遷移、重組,主動(dòng)構(gòu)建、完善新的知識(shí),從而提升學(xué)習(xí)效率。
總之,學(xué)生親歷了分析問題、抽象特征、分解問題、設(shè)計(jì)算法、實(shí)踐操作等過程之后,能真正理解和掌握基本的知識(shí)與技能,更重要的是掌握了相應(yīng)的解決復(fù)雜問題的算法,知道如何分析問題,如何找到解決復(fù)雜問題的路徑,進(jìn)而了解解決復(fù)雜問題的基本范式。