陸智弘



《畫正多邊形》是江蘇省省編小學(xué)信息技術(shù)教材5年級(jí)第5課的內(nèi)容,主要講解的是畫筆工具中一些常用編程模塊的運(yùn)用,課堂用時(shí)1課時(shí)。而《走正多邊形》則是我們梁溪區(qū)區(qū)本創(chuàng)客教材中第4課的內(nèi)容,它是我們?cè)谑【幗滩牡幕A(chǔ)上,結(jié)合機(jī)器人教學(xué)重構(gòu)而成的一節(jié)新課內(nèi)容,課堂用時(shí)2課時(shí)。新課由軟件編程和硬件拓展兩部分組成。作為梁溪區(qū)的一線信息技術(shù)教師和教材核心編寫組成員,我有幸第一時(shí)間對(duì)區(qū)本創(chuàng)客教材進(jìn)行了教學(xué)嘗試,下面我就來細(xì)說一下課程重構(gòu)后的一些體會(huì)。
● 軟件編程塊面的整合重構(gòu)
1.有著相似的教學(xué)內(nèi)容但又有著獨(dú)到的教學(xué)思考
《畫正多邊形》一課,以前我是這樣教的:在簡(jiǎn)單地介紹畫筆工具以后,就讓學(xué)生先自學(xué)課本P22,看明白后,合上書本,按照自己的理解去還原程序。我認(rèn)為這樣可以考查學(xué)生對(duì)程序的理解能力,理解得越深刻,還原得越成功。結(jié)果,學(xué)生在執(zhí)行程序的過程中出現(xiàn)了各種狀況:有的畫了沒用痕跡留下;有的感覺畫得太粗,想重新畫,可是前面的圖形一直保留著……我巡視了一遍,發(fā)現(xiàn)問題主要出在程序初始化的部分。
初始化就是把變量賦為默認(rèn)值,把控件設(shè)為默認(rèn)狀態(tài),把沒準(zhǔn)備的準(zhǔn)備好。我覺得應(yīng)用于Scratch課堂教學(xué)中,就是在程序執(zhí)行的一開始,把程序任務(wù)所涉及的所有相關(guān)模塊都先定義一下。我們可以把這個(gè)過程看成是造房子先要打地基,“地基”扎實(shí)了,后面的“房子”才能建得穩(wěn)固。(圖1為書上針對(duì)正方形畫法給出的一個(gè)參考程序,圖2為這段程序的初始化部分)
課后,我靜下心來反思總結(jié),越發(fā)覺得程序初始化對(duì)于編寫一段程序的重要性。
程序初始化,是“一步不到,一步不了”的大事。沒有哪一句話是多余的,它們都有其存在的價(jià)值。設(shè)定了多邊形畫在舞臺(tái)的哪個(gè)位置。是為了讓小貓?jiān)谝苿?dòng)的過程中留下移動(dòng)的痕跡,從而得到我們所要的圖形。
設(shè)定了畫
筆的顏色。設(shè)定了畫筆的粗細(xì)。
程序初始化,有時(shí)候并不能一步到位,需要在之后寫程序、調(diào)試程序的時(shí)候,發(fā)現(xiàn)問題再不斷地回過來補(bǔ)充。比如這個(gè)指令,很多學(xué)生一開始并不明白初始化時(shí)為什么要清空,其實(shí)程序第一次執(zhí)行的時(shí)候,這個(gè)“清空”指令并沒有什么用,它主要用于程序執(zhí)行過后,再次執(zhí)行,先把前一次執(zhí)行的痕跡全部擦除,當(dāng)學(xué)生嘗試執(zhí)行程序過后,自然就明白了。所以我發(fā)現(xiàn)直接讓學(xué)生去看書自學(xué)程序的初始化部分,是一個(gè)很大錯(cuò)誤,有些程序模塊,不自己去親身體驗(yàn)是不能明白它的用意的。
那么我們?cè)谏暇幊陶n的時(shí)候,該如何開展教學(xué),讓學(xué)生思考得更全面一些,學(xué)會(huì)把程序初始化寫得更完整呢?通過教學(xué)反思,不斷調(diào)整教學(xué)方式,我發(fā)現(xiàn)讓學(xué)生學(xué)會(huì)寫流程、畫流程圖是一種很不錯(cuò)的方式。
于是,我試著把《畫正多邊形》這節(jié)課的上課方式改為:準(zhǔn)備紙和水彩筆,在紙上畫一個(gè)正方形,邊畫邊想邊寫,把你是怎么把這個(gè)正方形畫出來的過程,哪怕是其中芝麻綠豆大的“小選擇”也一個(gè)不落地像“流水賬”一樣寫下來。這個(gè)“流水賬”其實(shí)就是一個(gè)很簡(jiǎn)單的“流程”。(由于剛接觸編程,直接畫流程圖不合適,我就讓學(xué)生寫流程)“流水賬”本是寫作文時(shí)不可取的一種寫法,沒有側(cè)重,沒有概括,但是它卻恰恰很好地把畫圖時(shí)的每一個(gè)小過程都記錄了下來。例如,“我選一支藍(lán)色的水彩筆”,“我用水彩筆細(xì)的那一頭來畫正方形”……寫完之后,我再讓大家集思廣益,補(bǔ)充概括,得到了這樣一個(gè)初步的流程:①確定位置(落筆位置);②選擇顏色;③確定粗細(xì);④畫正方形。“落筆”步驟可以等學(xué)生執(zhí)行程序后,發(fā)現(xiàn)沒有痕跡留下來,再引出,有了“落筆”繪畫,自然就要“抬筆”來結(jié)束繪畫。而“清空”步驟可以等學(xué)生執(zhí)行程序,發(fā)現(xiàn)之前畫的正方形依然還在,再引出,進(jìn)而把程序不斷地完善補(bǔ)全。
讓學(xué)生逐步學(xué)會(huì)寫流程,進(jìn)而學(xué)著畫流程圖,使學(xué)生切實(shí)理解每一步設(shè)定的用意,這樣才能培養(yǎng)出學(xué)生縝密的程序思維。
正因?yàn)槿绱耍抡n程在編寫之初,我們就有意識(shí)地把程序流程圖的知識(shí)穿插進(jìn)了每一個(gè)章節(jié)之中。我認(rèn)為,編程就是為了達(dá)到某種效果,把腦海中隨之產(chǎn)生的一系列思維邏輯推理通過程序展現(xiàn)出來的過程。而程序流程圖是人們對(duì)解決問題的方法、思路或算法的一種描述,這種圖能夠?qū)栴}分解,形象直觀,各種操作一目了然,便于學(xué)生理解較難的程序過程,理清程序中的各個(gè)邏輯關(guān)系。程序流程圖需要使用特定的圖形符號(hào)與說明,《走正多邊形》僅為新課程的第四課,為了給學(xué)生一個(gè)學(xué)習(xí)流程圖的臺(tái)階,我們先引入的是寫流程的概念,如圖3所示。
對(duì)應(yīng)積木模塊來寫出每一步是在做什么,這就是寫流程。這樣做,一來可以讓學(xué)生去思考每一步這樣編寫的用意,二來為接下來畫流程圖做準(zhǔn)備——如何用詞用句來準(zhǔn)確表達(dá)步驟。在之后的學(xué)習(xí)中,我們會(huì)逐步把寫流程(畫流程圖)的過程提到編寫程序之前。我們希望通過程序流程圖的學(xué)習(xí),能夠讓學(xué)生在搭建積木腳本之前,理清任務(wù)思路與邏輯關(guān)系,從而使編程變得更為高效。
2.教學(xué)知識(shí)點(diǎn)安排更合理
省編教材中共列舉了三種正多邊形的畫法——正五邊形、正方形、正三角形,其中多次用到了重復(fù)執(zhí)行多少次這個(gè)編程模塊。這個(gè)模塊在省編教材第4課《青蛙過河》的最后部分有所提及,但是我覺得這個(gè)知識(shí)點(diǎn)和“青蛙過河”結(jié)合得略有牽強(qiáng)——讓“青蛙”旋轉(zhuǎn)360度真有必要嗎?而且不加入等待的重復(fù)執(zhí)行10次,那就是一瞬間的事,根本看不出旋轉(zhuǎn)的過程。
新課程中,把重復(fù)執(zhí)行多少次的模塊放到《走正多邊形》中來教學(xué)。重復(fù)執(zhí)行模塊的使用,應(yīng)該是為了讓程序看起來更為精簡(jiǎn)且清晰明了。通過觀察分析,再引入重復(fù)執(zhí)行的知識(shí)點(diǎn),可以讓學(xué)生更清楚地明白“為什么用”和“怎么用”的問題。
● 編程教學(xué)中融入機(jī)器人元素,硬件拓展助力“創(chuàng)客教育”
Scratch的出現(xiàn),降低了學(xué)生學(xué)習(xí)編程的門檻,積木模塊式的結(jié)構(gòu),讓小學(xué)生也有了在“簡(jiǎn)單”編程領(lǐng)域大顯身手的機(jī)會(huì)。它很有趣,學(xué)生也很樂于接受,但是受限于平臺(tái),我們的編程教育依然停留在“虛擬世界”中。
我們一直在思考如何更好地調(diào)動(dòng)學(xué)生學(xué)習(xí)編程的積極性,這需要我們找到學(xué)生學(xué)習(xí)的興奮點(diǎn)。機(jī)器人教學(xué)的加入,很好地解決了這樣一個(gè)問題。機(jī)器人融合了機(jī)械制造、電子技術(shù)、傳感器、無線通訊、聲像識(shí)別和人工智能等領(lǐng)域的先進(jìn)技術(shù),它本身就代表著現(xiàn)代高新技術(shù)發(fā)展的前沿。把機(jī)器人教學(xué)加入進(jìn)來,和我們的編程教學(xué)相結(jié)合,讓小學(xué)生也能做到通過編寫程序來控制機(jī)器人,這本身就是一件能讓學(xué)生覺得很有成就感的“趣事”。它的加入徹底把編程教學(xué)從“虛擬世界”帶到了學(xué)生的身邊。同時(shí),它的加入,也很好地契合了我們現(xiàn)下十分火熱的“創(chuàng)客教育”的理念。
創(chuàng)客是一種動(dòng)手操作、探究體驗(yàn)式的學(xué)習(xí)方式。杜威“學(xué)校即社會(huì)、教育即生活”教育思想中的“做中學(xué)”,是創(chuàng)客背后的核心理念,創(chuàng)造即學(xué)習(xí)。一件作品的創(chuàng)造,往往需要跨越多個(gè)學(xué)科,綜合應(yīng)用多種知識(shí)和技能,不斷探究、體驗(yàn)、實(shí)驗(yàn)和檢驗(yàn)。把軟件編程與機(jī)器人教學(xué)相結(jié)合,在原本單一的編程教學(xué)中,加入簡(jiǎn)單的機(jī)械結(jié)構(gòu)、工程力學(xué)原理、常見傳感器的運(yùn)用等多方面的知識(shí),可以更好地培養(yǎng)學(xué)生的創(chuàng)造思維、探索精神、動(dòng)手能力和綜合實(shí)踐運(yùn)用的能力。
為了更好地和Scratch教學(xué)相結(jié)合,我們的新課程選用了mBot機(jī)器人。mBot機(jī)器人小車作為童心制物的一款入門級(jí)STEAM教育機(jī)器人,它的編程界面完全基于Scratch軟件來進(jìn)行開發(fā),用它來拓展教學(xué),學(xué)生不必額外學(xué)習(xí)新的編程軟件,一款mBlock軟件就能滿足學(xué)生軟件編程+硬件拓展的需求。
教學(xué)知識(shí)點(diǎn)的承接與不同:想要讓mBot機(jī)器人“走”出正方形來,承接自《畫正多邊形》的編程思維,貌似只要把轉(zhuǎn)換成機(jī)器人模塊中的就可以,但實(shí)際上還是有所差別的——前者闡述的是“移動(dòng)多少”,直接就代表了“路程”,而后者僅僅只是說明了“怎么動(dòng)”,它表示的是速度,還需要用來做時(shí)間控制。兩者結(jié)合起來才能做到讓mBot行進(jìn)一段路程后再轉(zhuǎn)彎。
同樣的,軟件編程中簡(jiǎn)單的,也需要mBot通過配合來完成,而如何能讓小車轉(zhuǎn)動(dòng)角度剛好接近90度,這就需要學(xué)生通過反復(fù)的調(diào)試,針對(duì)不同的地面與輪胎的摩擦力,修改等待的時(shí)間來調(diào)整了。這也成了《走正多邊形》一課中,每位學(xué)生需要解決的難題。
● 重構(gòu)的課堂,反映出的些許不足
課程重構(gòu)的成功與否,學(xué)生最有發(fā)言權(quán)。“加入機(jī)器人教學(xué)后,兩節(jié)課連上感覺有趣嗎?”我曾經(jīng)這樣問學(xué)生。大部分學(xué)生都覺得這樣的課上起來更有意思了。當(dāng)我問及為什么時(shí),有一個(gè)學(xué)生的回答令我印象非常深刻,他告訴我:“Scratch編程是好玩,但那是電腦上面的,依舊還是虛擬的,不現(xiàn)實(shí)啊。當(dāng)我發(fā)現(xiàn)它還能控制機(jī)器人動(dòng)起來后,我覺得它更有意思啦。”
確實(shí),上完新課程后,我明顯感覺到學(xué)生的學(xué)習(xí)熱情比以前更高漲了,mBot成功“走”出正方形后,成就感爆棚,討論聲、吶喊聲在教室里此起彼伏。當(dāng)然,我也發(fā)現(xiàn)了一些“小遺憾”“小欠缺”:①學(xué)生的動(dòng)手能力欠缺。mBot機(jī)器人全身都是金屬件,學(xué)生拿螺絲刀擰螺絲都擰不緊,有些部件用了沒多久就松松垮垮掉下來。②mBot的左右電機(jī)本身存在細(xì)微的轉(zhuǎn)速差異,導(dǎo)致本該筆直往前行進(jìn),部分車子卻輕微地跑出了“弧線”,這個(gè)可以通過分開設(shè)置左右電機(jī)轉(zhuǎn)速
來解決。③哪怕兩節(jié)課連上,教學(xué)內(nèi)容還是比較多,課堂時(shí)間很緊,教師可以根據(jù)實(shí)際的課堂教學(xué)情況來控制每個(gè)知識(shí)點(diǎn)的教學(xué)時(shí)間。
課程建設(shè)存在著四個(gè)階段:模仿—?jiǎng)?chuàng)新—融合—應(yīng)用。我們參考了省編教材,加入了我們的創(chuàng)新內(nèi)容(流程圖教學(xué)以及mBot機(jī)器人硬件拓展),把它們?nèi)诤显谝黄穑瑒?chuàng)編了屬于我們梁溪區(qū)的區(qū)本創(chuàng)客教材。接下來我們還需要根據(jù)一次又一次的課堂教學(xué)反饋,來繼續(xù)修訂、磨合教材。期待我們的新課程,隨著時(shí)間的慢慢推移,會(huì)更加完善、更加成熟,獲得廣大師生的喜愛。