仲璐珊
目前,編程教育在中小學(xué)教學(xué)中普遍開展,對(duì)于小學(xué)階段的學(xué)生來說,學(xué)習(xí)編程最主要的是提升思維方式和學(xué)會(huì)如何解決問題。編程教育在實(shí)施過程中的定位雖然是輔助性的,但是其獨(dú)特之處在于計(jì)算思維,可以幫助學(xué)生解決語文、數(shù)學(xué)等課堂上解決不了的問題,而學(xué)生學(xué)編程最主要的也是學(xué)習(xí)解決問題的思維方式,學(xué)會(huì)讓計(jì)算機(jī)幫助我們解決一些重復(fù)煩瑣的問題,并引申應(yīng)用于一類問題。
之前筆者對(duì)于編程教育的初步理解就是拼積木,教師帶領(lǐng)學(xué)生完成一項(xiàng)程序,教師演示講解,學(xué)生跟著做出來,課程結(jié)束,這也是日常教學(xué)中最常見的教學(xué)方式。但是,學(xué)生在這個(gè)過程中只會(huì)關(guān)注到這個(gè)程序怎么做和做出來了沒有,至于為什么這么做和這個(gè)程序的應(yīng)用往往會(huì)被忽視。那么在教學(xué)實(shí)施過程中往往會(huì)出現(xiàn)以下問題:
1.部分學(xué)生程序正確完成,無事可做,開始玩耍。
2.部分學(xué)生程序出現(xiàn)錯(cuò)誤,無法排錯(cuò),焦慮地呼喚老師,當(dāng)這樣的學(xué)生超過五個(gè)以上時(shí),教師顧不過來,課堂秩序混亂,學(xué)生成就感不高,失去興趣。
3.少數(shù)學(xué)生基礎(chǔ)較好,嘗試自行添加新內(nèi)容,偏離教學(xué)內(nèi)容。
4.少數(shù)學(xué)生基礎(chǔ)較弱,跟不上課堂節(jié)奏,放棄學(xué)習(xí)開始玩耍。
經(jīng)過一年的教學(xué)實(shí)踐,筆者在課堂實(shí)施方面有了一些收獲,在此與大家分享。
學(xué)會(huì)分析問題
在現(xiàn)實(shí)生活中我們會(huì)遇到各種各樣的問題,應(yīng)用到課堂中就是一個(gè)一個(gè)的案例,那么在教師講授之前,首先要帶領(lǐng)學(xué)生們進(jìn)行問題分析:以項(xiàng)目式學(xué)習(xí)為例,遇到一個(gè)案例,首先明確這個(gè)案例要解決什么問題,我們要達(dá)到什么樣的效果,明確起點(diǎn)和終點(diǎn),引導(dǎo)學(xué)生去思考,從毫無頭緒到學(xué)會(huì)梳理思路,這個(gè)思考的過程是非常重要的,即如何解決問題。在思路明確之后,引導(dǎo)學(xué)生進(jìn)行程序編寫就非常順暢了,這個(gè)過程主要就是考察思路是否清晰,在學(xué)習(xí)的開始首先要沉淀下來,需要教師引導(dǎo)學(xué)生進(jìn)行冷靜思考和有序討論,而不是用過于頻繁的趣味環(huán)節(jié)來打斷學(xué)生的思考。學(xué)生每節(jié)課的收獲應(yīng)該是本節(jié)課學(xué)會(huì)了解決什么問題并能遷移應(yīng)用,而不僅僅是本節(jié)課完成了一個(gè)程序。
小學(xué)階段的編程教學(xué)一般是以編寫游戲?yàn)橹黝},小學(xué)生對(duì)游戲有天然的興趣,但他們更喜歡玩由他們支配的游戲。假如教師對(duì)課堂節(jié)奏控制不到位,其效果就會(huì)大大降低。那么,這時(shí)教師就可以和學(xué)生一起來設(shè)計(jì)游戲的內(nèi)容和規(guī)則,教師課前展示設(shè)置好的素材,比如小兔子和小烏龜,讓學(xué)生思考:小兔子和小烏龜這兩個(gè)角色之間可以發(fā)生什么故事呢?怎么利用程序來編寫我們的故事?將學(xué)生的興趣和思考結(jié)合起來。當(dāng)然,這需要教師提前預(yù)設(shè)一些場景,如龜兔賽跑等程序。其次,設(shè)計(jì)時(shí)要注意循序漸進(jìn),一開始不能設(shè)計(jì)得太難,不然學(xué)生很難上手,容易失去興趣甚至感到厭煩。
善用思維導(dǎo)圖
在課程分析階段使用思維導(dǎo)圖幫助學(xué)生理清思路是非常有效的一種方法。但是在實(shí)施過程中經(jīng)常會(huì)遇到的問題就是,導(dǎo)入時(shí)的思維導(dǎo)圖非常漂亮,但是整節(jié)課接下來的內(nèi)容完全沒有用到,只在結(jié)尾匆匆展示收?qǐng)?,只理清了教師的思路,學(xué)生的思路是跟著教師走的,是不獨(dú)立的。所以思維導(dǎo)圖最好由學(xué)生和教師共同參與完成,一起制訂課堂目標(biāo),這會(huì)讓學(xué)生更有參與感,出現(xiàn)問題后學(xué)生可以定位自己在哪一步出現(xiàn)了問題,便于排查錯(cuò)誤,部分進(jìn)度快的學(xué)生也可以有目標(biāo)地進(jìn)行下一步操作。那么,有了課堂目標(biāo),教師授課的每一個(gè)環(huán)節(jié)就變得更加清晰,每完成一個(gè)階段目標(biāo),一定要再次回顧思維導(dǎo)圖——我們解決了什么問題,接下來要解決什么,增強(qiáng)學(xué)生的成就感,讓學(xué)生成為課堂的主人,讓學(xué)生知道自己學(xué)習(xí)的方向。
此外,每一節(jié)課的知識(shí)體系都以思維導(dǎo)圖的形式體現(xiàn),可以整合歸納本章節(jié)甚至是本學(xué)期的內(nèi)容,知識(shí)以網(wǎng)絡(luò)圖的形式呈現(xiàn),在進(jìn)行連續(xù)性項(xiàng)目實(shí)踐時(shí),可以方便學(xué)生自主、系統(tǒng)、連貫地梳理和歸納總結(jié)學(xué)過的知識(shí)點(diǎn)。此外,知識(shí)導(dǎo)圖的繪制完全可以在一個(gè)單元或某一項(xiàng)目結(jié)束時(shí)讓學(xué)生自主完成,三、四年級(jí)的學(xué)生可以借助Word工具實(shí)現(xiàn),五、六年級(jí)的學(xué)生則可以利用PPT演示文稿展示交流,這樣不僅可以將知識(shí)點(diǎn)轉(zhuǎn)變?yōu)閳D文并茂的知識(shí)導(dǎo)圖,還有利于培養(yǎng)學(xué)生的總結(jié)概括能力。學(xué)生通過瀏覽自己親手梳理的思維導(dǎo)圖,進(jìn)行系統(tǒng)化學(xué)習(xí),以靈活的方式拓展視野。
敢于“嘗試錯(cuò)誤”
編程的目標(biāo)是解決一類問題,而在解決問題的過程中達(dá)到目標(biāo)的方法并不是唯一的,根據(jù)學(xué)生自身情況,可以使用學(xué)生了解的各種方法,在運(yùn)用不同的方法解決問題的過程中,難免會(huì)遇到各種各樣的錯(cuò)誤,程序員每天都需要處理很多BUG,所以要讓學(xué)生知道程序出現(xiàn)問題也是課堂的一部分,而如何解決問題才是最重要的。
在學(xué)生實(shí)踐環(huán)節(jié)會(huì)出現(xiàn)這樣一種情況:講的東西都懂,做起來不會(huì),10分鐘練習(xí),8分鐘在喊老師。當(dāng)提問題的人數(shù)過多時(shí),教師分身乏術(shù),學(xué)生都在等待老師,課堂秩序混亂。出現(xiàn)這種情況的原因歸根結(jié)底在于,學(xué)生不查找錯(cuò)誤原因,遇到錯(cuò)誤無從下手,只想等待一個(gè)標(biāo)準(zhǔn)答案。這樣看來,教給學(xué)生如何試錯(cuò)就非常必要了,其中最關(guān)鍵的是一定要讓學(xué)生知道試什么,評(píng)價(jià)標(biāo)準(zhǔn)是什么,怎么進(jìn)行修改調(diào)整再次嘗試,形成一個(gè)良性循環(huán)的過程。編程在小學(xué)階段以圖形化編程為主,圖形化的好處是可以直接看到結(jié)果,當(dāng)程序與預(yù)期結(jié)果不符合時(shí),首先要讓學(xué)生自己來定位錯(cuò)誤,可以跟著思維導(dǎo)圖一步步排查,斷開程序模塊查看效果,在哪一步出錯(cuò),這個(gè)過程相對(duì)簡單,學(xué)生可以做到,不需要教師全盤接手,代為操作。
學(xué)會(huì)分類思維
在項(xiàng)目式學(xué)習(xí)中,當(dāng)遇到復(fù)雜的案例時(shí)很多學(xué)生都會(huì)有畏難心理。這一方面是由程序涉及的元素過多導(dǎo)致無從下手造成的。這就需要有條理地對(duì)角色進(jìn)行分類以幫助學(xué)生理清思路,逐個(gè)擊破,迅速找到入手點(diǎn)。例如紅綠燈,“紅燈停,綠燈行”是它的規(guī)則,涉及到的角色有紅燈、綠燈、黃燈,還有行人等。那么在實(shí)現(xiàn)過程中,首先要對(duì)角色進(jìn)行分類(分為燈和行人);接下來再對(duì)兩個(gè)角色進(jìn)一步分類:燈有三種顏色——紅、黃、綠,行人有兩種狀態(tài)——行走或者等待;然后梳理這些變換之間的關(guān)系:燈的顏色根據(jù)什么進(jìn)行改變,行人的狀態(tài)和燈的顏色之間的聯(lián)系……在剛開始一定要讓學(xué)生養(yǎng)成分析程序的良好習(xí)慣,讓學(xué)生拿到一個(gè)程序之后先進(jìn)行拆解分類,再一步步聯(lián)系整合。
另一方面是由復(fù)雜的邏輯造成的。例如加法運(yùn)算的程序,我們通過計(jì)算可以直接得到答案,但是計(jì)算機(jī)如何實(shí)現(xiàn)呢?這就需要我們將眼睛看到的效果和程序?qū)崿F(xiàn)的方式分開,將模糊的語言轉(zhuǎn)化為精確的計(jì)算機(jī)能識(shí)別的語言。我們?cè)跀?shù)學(xué)課上學(xué)到的技巧需要教給計(jì)算機(jī)嗎?其實(shí)是不需要的。我們通過技巧可以避免大量煩瑣重復(fù)的計(jì)算行為,但是計(jì)算機(jī)恰好適合解決這種大量的重復(fù)運(yùn)算,我們只需要告訴計(jì)算機(jī)加法運(yùn)算的基本規(guī)則,然后讓計(jì)算機(jī)幫我們執(zhí)行即可。
編程教育正在逐步普及,作為信息技術(shù)教師必須積極接受新思想,將編程教育與多學(xué)科融合,打破抽象思維和具象思維的邊界,將現(xiàn)實(shí)中的真實(shí)項(xiàng)目轉(zhuǎn)化為信息科技的課程資源,讓學(xué)生在信息化環(huán)境中能夠從容面對(duì)挑戰(zhàn),真正成為未來世界的主人公。