wn828@126.com
近年來,在中小學(xué)信息科技課程以及各類編程教學(xué)中,一種有別于獨(dú)立編程的教學(xué)組織形式開始嶄露頭角,這就是“結(jié)對編程”。
其實(shí),結(jié)對編程的思路由來已久,早在20世紀(jì)90年代,時(shí)任澳大利亞悉尼技術(shù)大學(xué)計(jì)算機(jī)科學(xué)學(xué)院副教授的LarryConstantine觀察到一個(gè)現(xiàn)象:“兩個(gè)程序員一起工作,可以更快地交付完成并經(jīng)過測試的代碼,且?guī)缀鯖]有錯(cuò)誤?!彼麑⒋爽F(xiàn)象稱為“動態(tài)二重奏”。此后,結(jié)對編程逐漸在軟件開發(fā)領(lǐng)域興起,并進(jìn)入大學(xué)的相關(guān)編程課程中。近年來,結(jié)對編程在中小學(xué)編程教學(xué)中也開始引起關(guān)注,不斷有新的嘗試出現(xiàn)。
簡單說,結(jié)對編程就是由兩名學(xué)生協(xié)作完成編程任務(wù)。結(jié)對編程中的兩人分工不同,可以形象地用汽車?yán)愔匈愜囀趾皖I(lǐng)航員的關(guān)系來類比,即一人充當(dāng)“駕駛員”,另一人充當(dāng)“領(lǐng)航員”,駕駛員負(fù)責(zé)編寫代碼,領(lǐng)航員負(fù)責(zé)觀察、監(jiān)控代碼邏輯,發(fā)現(xiàn)錯(cuò)誤并提出解決方案。在編程過程中,駕駛員和領(lǐng)航員會根據(jù)程序進(jìn)程的推進(jìn)按時(shí)互換角色。此外,結(jié)對編程在實(shí)施中還有小組與大組結(jié)合、組間互換等更為復(fù)雜、靈活的組織形式。
相對于獨(dú)立編程方式,結(jié)對編程至少具有以下優(yōu)點(diǎn):減少編程中的語法、拼寫錯(cuò)誤;提高程序質(zhì)量和效率;提升同伴間的合作、溝通能力;增強(qiáng)編程的積極性和興趣;等等。
但結(jié)對編程也存在一定的弊端,其中,大多數(shù)問題還是出現(xiàn)在“結(jié)對”上。例如,結(jié)對不當(dāng)可能導(dǎo)致水平低的學(xué)生“偷懶”;結(jié)對雙方的個(gè)性差異、交流不暢、分工不明等都可能導(dǎo)致編程的效率低下,甚至消極應(yīng)對。
近年來的大量實(shí)踐表明,要想讓結(jié)對編程取得理想的效果,需要教師給予有力的支持,以下幾點(diǎn)尤其值得注意:
1.“結(jié)對”是結(jié)對編程成功的前提,應(yīng)以學(xué)生自主選擇為主,即使采用分配的方式,也需得到學(xué)生的認(rèn)同,還要考慮性別因素并注意保護(hù)女生的編程興趣。
2.在結(jié)對編程開始前,應(yīng)向?qū)W生充分講解結(jié)對編程的要點(diǎn)以及“駕駛員”“領(lǐng)航員”的角色劃分,通過教學(xué)視頻、游戲體驗(yàn)等方式進(jìn)行展示對小學(xué)生效果更佳。
3.編寫“結(jié)對編程手冊”,內(nèi)容涵蓋規(guī)則說明以及角色交換時(shí)間、重點(diǎn)討論內(nèi)容等過程性記錄,將其作為結(jié)對編程的指導(dǎo)工具和學(xué)習(xí)支架
4.把握好結(jié)對編程過程中“領(lǐng)航員”和“駕駛員”角色交換的時(shí)機(jī),雙方應(yīng)事先商定好何時(shí)交換角色。
5.提倡“出聲思維”,讓編程活動“在交談中發(fā)生”,使得結(jié)對雙方的思維活動外顯,讓思維交流隨時(shí)發(fā)生。
6.在結(jié)對編程過程中,教師要充分發(fā)揮促進(jìn)、支持作用,積極鼓勵(lì)學(xué)生,增強(qiáng)他們的信心,幫助學(xué)生解決遇到的困難,及時(shí)處理學(xué)生間的不和諧行為。
結(jié)對編程在中小學(xué)編程教學(xué)中還是一個(gè)新事物,期待未來能有更多的教師大膽嘗試這一編程教學(xué)組織形式,使其發(fā)揮出獨(dú)特的魅力。