許雪松
在小學(xué)階段的STEM課程中,編程是其中一個(gè)重要的組成部分。STEM教育倡導(dǎo)學(xué)習(xí)的真實(shí)性,關(guān)注學(xué)生的生活經(jīng)驗(yàn),將生活經(jīng)驗(yàn)作為學(xué)習(xí)與創(chuàng)造的源泉。我國(guó)學(xué)者余勝泉和胡翔將STEM教育與跨學(xué)科理念相結(jié)合,提出了三種跨學(xué)科整合方式:學(xué)科知識(shí)整合取向采用基于問(wèn)題的學(xué)習(xí)模式,生活經(jīng)驗(yàn)整合取向采用基于項(xiàng)目的學(xué)習(xí)模式,學(xué)習(xí)者中心整合取向采用學(xué)生主導(dǎo)項(xiàng)目的方式[1]。學(xué)生的生活經(jīng)驗(yàn)是項(xiàng)目式學(xué)習(xí)的重要資源,能夠幫助學(xué)生建立學(xué)習(xí)自信,并在未知和已知間搭建橋梁。
建構(gòu)主義理論認(rèn)為,學(xué)習(xí)是學(xué)生在已有知識(shí)和經(jīng)驗(yàn)的基礎(chǔ)上進(jìn)行的自主建構(gòu)行為。所有的學(xué)習(xí)都涉及原有經(jīng)驗(yàn)的遷移。只有通過(guò)廣泛的遷移,原有的經(jīng)驗(yàn)才得以改造,才能夠概括化、系統(tǒng)化,原有的經(jīng)驗(yàn)結(jié)構(gòu)才更為完善、充實(shí)[2]。在小學(xué)階段開(kāi)展編程教學(xué),調(diào)動(dòng)學(xué)生的生活經(jīng)驗(yàn)是一種重要的學(xué)習(xí)策略,要求不能片面追求程序的復(fù)雜性,應(yīng)更著眼于學(xué)生的綜合能力發(fā)展,遵循低起點(diǎn)、重普及、分層培養(yǎng)的原則,促進(jìn)學(xué)生真正理解和掌握程序設(shè)計(jì)、算法思維,獲得有效并廣泛的能力提升,讓更多學(xué)生享受優(yōu)質(zhì)的普惠教育。
一、依托生活經(jīng)驗(yàn),確立項(xiàng)目主題
項(xiàng)目式學(xué)習(xí)是依托生活實(shí)際、以學(xué)生為中心的學(xué)習(xí)方式,強(qiáng)調(diào)讓學(xué)習(xí)發(fā)生在有意義、有趣味、有空間的問(wèn)題情境中,由教師提供一定的學(xué)習(xí)支撐和向?qū)?,學(xué)生則通過(guò)自主探究、有效合作來(lái)完成學(xué)習(xí)。項(xiàng)目式學(xué)習(xí)非常適合小學(xué)的編程教學(xué),因?yàn)槌绦蛟O(shè)計(jì)通常有明確的任務(wù)和作品產(chǎn)出,完成程序設(shè)計(jì)的過(guò)程也是項(xiàng)目式學(xué)習(xí)的過(guò)程。學(xué)習(xí)項(xiàng)目的主題選擇應(yīng)考慮下列原則。
一是主題應(yīng)基于學(xué)生年齡特點(diǎn)和生活經(jīng)驗(yàn),支持程序的故事情節(jié)設(shè)定。心理學(xué)研究表明:學(xué)生學(xué)習(xí)的內(nèi)容和學(xué)生熟悉的生活背景越接近,他們自覺(jué)接納知識(shí)的程度就越高。小學(xué)生的認(rèn)知特點(diǎn)是傾向于通過(guò)直觀體驗(yàn)感知事物規(guī)律?;趯W(xué)生的生活經(jīng)驗(yàn)選擇項(xiàng)目能夠幫助學(xué)生降低學(xué)習(xí)的門(mén)檻,讓學(xué)習(xí)“活起來(lái)”,更快地形成學(xué)習(xí)聯(lián)結(jié),并學(xué)會(huì)從編程的角度來(lái)理解身邊的問(wèn)題。
二是項(xiàng)目“故事主線”和“知識(shí)點(diǎn)線”要能夠“雙絞成線”并貫穿于整個(gè)學(xué)習(xí)過(guò)程,與課堂導(dǎo)入、知識(shí)探究、拓展提高等環(huán)節(jié)有機(jī)結(jié)合。在教學(xué)過(guò)程中引導(dǎo)學(xué)生對(duì)項(xiàng)目的情節(jié)、角色以及行為進(jìn)行分析,也就是在幫助學(xué)生檢索已有學(xué)習(xí)經(jīng)驗(yàn)并發(fā)現(xiàn)學(xué)習(xí)需求,進(jìn)而激發(fā)學(xué)生主動(dòng)而強(qiáng)大的學(xué)習(xí)動(dòng)機(jī)。
二、再現(xiàn)生活場(chǎng)景,理解抽象概念
程序設(shè)計(jì)中的很多知識(shí)點(diǎn)比較抽象,如對(duì)于程序結(jié)構(gòu)、遞歸思想、模塊化設(shè)計(jì)等,學(xué)生容易感到困難,并產(chǎn)生一定的分化。但這些抽象的概念在生活中都有其原型,教師要善于將生活經(jīng)驗(yàn)作為轉(zhuǎn)化抽象知識(shí)的敲門(mén)磚,幫助學(xué)生建立學(xué)習(xí)的信心,使專(zhuān)業(yè)術(shù)語(yǔ)更生活化、人性化,使學(xué)生容易掌握并樂(lè)于使用。
1.將程序“演”出來(lái)
小學(xué)階段的編程教學(xué)一般可按照“情節(jié)設(shè)計(jì)—流程規(guī)劃—程序編寫(xiě)—作品評(píng)價(jià)”的步驟進(jìn)行設(shè)計(jì),讓學(xué)生通過(guò)觀察、模仿、探究的方式完成學(xué)習(xí)。這種方式教學(xué)時(shí)間短、成功率高,但很多學(xué)生的理解程度不夠深,因?yàn)樽陔娔X前的學(xué)生總是學(xué)習(xí)中的“第三方”。如果教師能引導(dǎo)學(xué)生代入程序中的角色,并為自己設(shè)計(jì)表演腳本,將有利于學(xué)生更深刻地領(lǐng)悟程序結(jié)構(gòu)中的邏輯關(guān)系。
如Scratch編程教學(xué)的“水族箱”一課,任務(wù)是“讓小金魚(yú)在水族箱里隨機(jī)的位置游來(lái)游去”,難點(diǎn)是“隨機(jī)數(shù)”和“在多少秒內(nèi)滑行到水平位置和垂直位置”兩個(gè)命令的搭配使用。教師通過(guò)教室位置的類(lèi)比,使學(xué)生理解了通過(guò)二維坐標(biāo)能夠確定平面上的點(diǎn)位,接著讓幾個(gè)學(xué)生扮演“小魚(yú)”。每條“小魚(yú)”左右手各有一個(gè)骰子,在出發(fā)前兩手同時(shí)投擲一次,根據(jù)得到的兩個(gè)數(shù)字到達(dá)教室內(nèi)的指定位置。學(xué)生通過(guò)這一活動(dòng)獲得了直觀的感受。接著,教師再告訴學(xué)生:在Scratch中也有一個(gè)骰子,就是“在幾和幾之間隨機(jī)選一個(gè)數(shù)”,然后讓學(xué)生在Scratch中再現(xiàn)剛剛表演的內(nèi)容。雖然教師沒(méi)有操作示范,但學(xué)生都能理解并完成了任務(wù)。又如在“森林運(yùn)動(dòng)會(huì)廣播”一課,要求通過(guò)單擊“開(kāi)始”按鈕,讓所有“運(yùn)動(dòng)員”到指定位置并開(kāi)始賽跑,比賽結(jié)束后切換舞臺(tái)背景進(jìn)行頒獎(jiǎng)。在教學(xué)時(shí),教師扮演發(fā)令員(發(fā)揮“按鈕”和“廣播”的功能),請(qǐng)學(xué)生扮演小動(dòng)物,當(dāng)學(xué)生收到“廣播”后執(zhí)行指令到達(dá)指定位置,這樣就把程序表演出來(lái)了。在開(kāi)始編程后,每個(gè)學(xué)生都能理解“廣播”的邏輯意義,并能夠舉一反三,用“廣播”完成了舞臺(tái)背景的切換。
2.將語(yǔ)句“講”出來(lái)
算法的設(shè)計(jì)是程序設(shè)計(jì)的關(guān)鍵,表示一個(gè)算法可以用很多形式,常用的有流程圖、PAD圖、自然語(yǔ)言等?;仡櫨幊陶Z(yǔ)言的歷程:第一代程序員通過(guò)在紙帶上打孔實(shí)現(xiàn)用0和1的編程,第二代匯編語(yǔ)言可以通過(guò)指令來(lái)操作內(nèi)存。從機(jī)器語(yǔ)言到匯編語(yǔ)言是一次偉大的飛躍,它代表著軟硬件的獨(dú)立。之后便是過(guò)程式語(yǔ)言,并產(chǎn)生了一種新的編程思想,即面向過(guò)程的程序設(shè)計(jì)。可以設(shè)想,計(jì)算機(jī)語(yǔ)言的未來(lái)將越來(lái)越貼近自然語(yǔ)言,編譯器可以將自然語(yǔ)言轉(zhuǎn)化為機(jī)器可執(zhí)行的語(yǔ)言。
在小學(xué)階段的編程教學(xué)中,很多教師大量引入流程圖,認(rèn)為這樣可以幫助學(xué)生分析程序設(shè)計(jì),提高思維能力。而筆者認(rèn)為,在進(jìn)行算法教學(xué)時(shí),可以結(jié)合“角色”通過(guò)自然語(yǔ)言的方式分析程序,這樣更貼近初學(xué)者的認(rèn)知特點(diǎn)。例如,在教學(xué)條件語(yǔ)句時(shí),可以結(jié)合各個(gè)角色,讓學(xué)生使用“如果……那么……”造句的方式將程序講出來(lái):如果小車(chē)碰到紅色,那么小車(chē)停車(chē);如果蒼蠅拍碰到蒼蠅,那么蒼蠅消失并加一分……實(shí)踐表明,使用自然語(yǔ)言描述能很好地幫助學(xué)生理解程序結(jié)構(gòu),能“講出來(lái)”是學(xué)生能夠理解和掌握的一種外在表現(xiàn)。
3.將概念“拿”出來(lái)
這里的“拿”指的是將抽象的概念具象化,讓它可感知、可“觸摸”。馬克思指出,思維的邏輯運(yùn)動(dòng)中存在著兩條方向相反的道路,第一條是“完整的表象蒸發(fā)為抽象的規(guī)定”,第二條是“抽象的規(guī)定在思維行程中導(dǎo)致具體的再現(xiàn)”。這兩條道路首尾相接,構(gòu)成“具體—抽象—具體”的否定之否定的過(guò)程,也就是人對(duì)事物本質(zhì)的完整的認(rèn)識(shí)過(guò)程[3]。學(xué)習(xí)是從具體到抽象,再?gòu)某橄蟮骄唧w的過(guò)程,抽象概念的轉(zhuǎn)化是教學(xué)設(shè)計(jì)中重要的一環(huán)。面對(duì)復(fù)雜概念的教學(xué),教師可以引入生活中可參照的原型,將概念趣味化、生動(dòng)化,使專(zhuān)業(yè)術(shù)語(yǔ)富有情感和活力,與可觸摸的世界接軌,幫助學(xué)生更輕松地掌握復(fù)雜概念。
例如,“小貓出題”一課的主要任務(wù)是認(rèn)識(shí)并學(xué)會(huì)使用變量,并搭配隨機(jī)數(shù)完成計(jì)算小游戲。這是“變量”這一術(shù)語(yǔ)第一次出現(xiàn)在小學(xué)生的面前,如果理解不透徹會(huì)影響后期的學(xué)習(xí)。在教學(xué)時(shí),一般步驟是先出示范例,通過(guò)演示兩個(gè)“加數(shù)”的隨機(jī)變化,引出“變量就是像加數(shù)這樣沒(méi)有固定的值,隨時(shí)發(fā)生變化的量”“給變量賦于一個(gè)簡(jiǎn)短容易區(qū)分的名稱(chēng)就是變量名”。這樣的設(shè)計(jì)雖然也使用了“加數(shù)”這一數(shù)學(xué)學(xué)習(xí)經(jīng)驗(yàn)進(jìn)行了類(lèi)比,但是很多學(xué)生仍然感到比較抽象。這時(shí),就可以參考下面的例子,從學(xué)生們熟悉的生活場(chǎng)景入手教學(xué)“變量”。
教師先在黑板的邊緣貼上“光榮榜”“今日值日”的字樣,并畫(huà)好方框,然后開(kāi)始提問(wèn)。
教師:光榮榜里的學(xué)號(hào)會(huì)變嗎?
學(xué)生:會(huì)變的,誰(shuí)表現(xiàn)好,誰(shuí)的學(xué)號(hào)就可以出現(xiàn)在里面。
教師:方框里的數(shù)字會(huì)變,但是方框代表的意義會(huì)變嗎?
學(xué)生:方框代表的是“光榮榜”,意義不會(huì)變。
教師:我們可以把變化的數(shù)量稱(chēng)為變量,數(shù)字雖然在變,但是數(shù)字代表的意義不會(huì)變。
此外,筆者在參加教研活動(dòng)聽(tīng)課時(shí),還看到一位教師制作了一個(gè)紙盒子,盒子上面標(biāo)注的是“變量名”,通過(guò)這種教具演示的方式也能較好地幫助學(xué)生理解“變量”。
三、豐富學(xué)生體驗(yàn),應(yīng)用創(chuàng)新提升
編程的目的本來(lái)就不是脫離生活實(shí)際的,而是用于解決工作和生活中的問(wèn)題。小學(xué)階段的編程學(xué)習(xí)除了制作小游戲外,也可以讓程序更加生活化。教師可以引導(dǎo)學(xué)生將學(xué)過(guò)的知識(shí)用于生活,模擬一些生活場(chǎng)景,拓展學(xué)生的生活經(jīng)驗(yàn),培養(yǎng)學(xué)生學(xué)習(xí)、運(yùn)用信息技術(shù)的興趣和意識(shí)。
如在自主設(shè)計(jì)的“電子點(diǎn)單——鏈表”一課,學(xué)習(xí)目標(biāo)是通過(guò)鏈表和變量設(shè)計(jì)一款餐館的點(diǎn)單程序,要求能顯示菜名并自動(dòng)結(jié)算。在完成基本功能后,學(xué)生們積極參與了程序的升級(jí)。正因?yàn)槭腔谏?,學(xué)生們提出了很多點(diǎn)子,如:美化界面,能夠支持在一體機(jī)上觸摸點(diǎn)菜,營(yíng)造溫馨的消費(fèi)環(huán)境;設(shè)置一個(gè)廚師角色,結(jié)合鏈表進(jìn)行隨機(jī)叫賣(mài),并實(shí)時(shí)說(shuō)出消費(fèi)額;能將錯(cuò)點(diǎn)的菜品刪除并在總價(jià)中一并扣除相應(yīng)金額;能設(shè)置會(huì)員卡功能,創(chuàng)設(shè)會(huì)員卡號(hào),使用會(huì)員卡自動(dòng)打折消費(fèi)……學(xué)生也遇到不少困難,但也正是這些難點(diǎn)的攻克給他們帶來(lái)了快樂(lè),最終呈現(xiàn)出功能多樣、風(fēng)格各異的點(diǎn)單程序。
又如“誰(shuí)是幸運(yùn)星——造型的切換”一課,教師和學(xué)生制作了一款抽取學(xué)號(hào)的程序。抽簽是班級(jí)活動(dòng)中經(jīng)常用到的,學(xué)生們的作品活潑可愛(ài),在班隊(duì)活動(dòng)中大放異彩。課堂上,教師有意識(shí)地激活學(xué)生的相關(guān)生活經(jīng)驗(yàn),培養(yǎng)學(xué)生從技術(shù)的角度觀察生活,從生活的角度感悟編程設(shè)計(jì),鼓勵(lì)學(xué)生使用獨(dú)特的個(gè)性化表達(dá)。
在人工智能時(shí)代,編程學(xué)習(xí)指向的是進(jìn)一步豐富STEM教育的內(nèi)涵,提升學(xué)生的綜合能力,培養(yǎng)創(chuàng)新型、創(chuàng)業(yè)型人才。在教學(xué)中,讓學(xué)生的生活經(jīng)驗(yàn)與編程學(xué)習(xí)更好地“碰撞”,會(huì)讓更多的學(xué)生愛(ài)上編程,體會(huì)到創(chuàng)新創(chuàng)造的樂(lè)趣。
參考文獻(xiàn)
[1]余勝泉,胡翔.STEM教育理念與跨學(xué)科整合模式[J].開(kāi)放教育研究,2015,21(4):13-22.
[2]顧援.遷移與課堂教學(xué)[J].教育理論與實(shí)踐,2000(10):39-46.
[3]孔易人,汪巖橋.具體抽象律和內(nèi)涵外延反變律及其比較[J].理論探討,1989(3):89-93.
(責(zé)任編輯? ?郭向和)