李振環(huán)
編程教育已成為信息技術(shù)教學(xué)的重心,但如何實(shí)施卻有不同的做法,如基于算法、語(yǔ)法、應(yīng)用開發(fā)、計(jì)算思維等。如何落實(shí)計(jì)算思維這一學(xué)科核心素養(yǎng),將成為信息技術(shù)教學(xué)的新責(zé)任。本期解碼,我們從兩個(gè)完全不同的教學(xué)思路觀察同一個(gè)教學(xué)內(nèi)容,體驗(yàn)不同的教學(xué)過(guò)程,探討程序設(shè)計(jì)教學(xué)的特點(diǎn)。
本節(jié)課是程序設(shè)計(jì)學(xué)習(xí)的第一節(jié)課,主要通過(guò)抽獎(jiǎng)游戲的制作,讓學(xué)生體驗(yàn)用VB編程寫程序的全部過(guò)程,初步掌握VB編程語(yǔ)言的使用;通過(guò)添加按鈕控件并修改其屬性,了解程序界面的設(shè)計(jì)方法;通過(guò)編寫代碼及運(yùn)行程序,理解事件響應(yīng)的工作機(jī)制??紤]到大部分學(xué)生沒有編程基礎(chǔ),本節(jié)課選擇了易做的抽獎(jiǎng)小游戲作為入門內(nèi)容。這樣既能讓學(xué)生體驗(yàn)編程的基本過(guò)程,又有一定的趣味性。本節(jié)課引入三個(gè)主題:花博會(huì)、菜博會(huì)、運(yùn)動(dòng)會(huì),具有地方特色又能引發(fā)學(xué)生對(duì)編程解決問題的理解。通過(guò)不同事件的應(yīng)用,加深對(duì)計(jì)算機(jī)解決問題的過(guò)程與方法的理解,并能遷移到與之相關(guān)的其他問題解決中,從而逐步培養(yǎng)學(xué)生的計(jì)算思維。
將學(xué)生分為6個(gè)小組,本節(jié)課以小組作為評(píng)價(jià)單位進(jìn)行獎(jiǎng)勵(lì)。
教師請(qǐng)4位學(xué)生參與“花博會(huì)抽獎(jiǎng)”游戲,并發(fā)放獎(jiǎng)品(多肉植物)。本節(jié)課的任務(wù)就是制作類似的抽獎(jiǎng)程序,通過(guò)這個(gè)環(huán)節(jié)讓學(xué)生整體了解程序的功能,并用多肉做獎(jiǎng)品調(diào)動(dòng)學(xué)生的學(xué)習(xí)熱情,豐富學(xué)生的課外生活。
首先,教師為學(xué)生分析游戲程序制作流程,制作分為2個(gè)步驟:第一步設(shè)計(jì)游戲界面,第二步設(shè)計(jì)游戲功能。
教師講解第一步界面的設(shè)計(jì),主要是利用控件及其屬性來(lái)完成。教師打開VB程序演示并講解。(1)按鈕的添加:在控件工具箱上選中按鈕控件,在設(shè)計(jì)窗體上按住鼠標(biāo)左鍵拖動(dòng)畫出一個(gè)按鈕。(2)屬性的修改:caption屬性是控件的標(biāo)題,先選中某個(gè)按鈕,在屬性窗口中找到caption屬性,將其值改為相應(yīng)的標(biāo)題。
學(xué)生活動(dòng):(1)以小組為單位選取主題,設(shè)計(jì)自己的游戲界面。要求每個(gè)小組可以選擇一個(gè)主題,可以是菜博會(huì)、花博會(huì)、運(yùn)動(dòng)會(huì)。(2)界面包括3~6個(gè)按鈕。(3)為每個(gè)按鈕添加與主題相關(guān)的新標(biāo)題(caption)。(4)運(yùn)行程序,并調(diào)試程序。突出不同進(jìn)度的要求,讓早做完的學(xué)生可以根據(jù)小貼士讓自己的界面更美觀。例如,為了程序界面的美觀,要保持按鈕的大小一致,整齊有序。建議通過(guò)屬性Height(高)、Width(寬)設(shè)置大小,對(duì)齊則通過(guò)屬性top(與窗口上端的距離)、left(與窗口左端的距離)設(shè)置位置等。
界面只是游戲的外殼,功能的實(shí)現(xiàn)需要通過(guò)添加代碼來(lái)實(shí)現(xiàn)。
首先,教師分析游戲的功能,當(dāng)點(diǎn)擊按鈕時(shí),按鈕的標(biāo)題隨之變化。這是事件響應(yīng)的程序工作機(jī)制。然后,教師講解事件響應(yīng),以此游戲?yàn)槔?,按鈕的單擊是事件,標(biāo)題的變化是事件的響應(yīng),事件是VB預(yù)先設(shè)定好的,而事件的響應(yīng)需要代碼來(lái)實(shí)現(xiàn)。
教師以一個(gè)按鈕為例講解此事件響應(yīng)過(guò)程代碼。
Private Sub Command1_Click( )
Command1.Caption = "一等獎(jiǎng)"
End Sub
Private是私有的,Sub是過(guò)程,Command1_Click是按鈕command1的單擊。
表示只有單擊command1才會(huì)發(fā)生以下響應(yīng)。
Command1.Caption = "一等獎(jiǎng)",這是給command1的caption賦一個(gè)新值,表示當(dāng)單擊command1時(shí)標(biāo)題變?yōu)椤耙坏泉?jiǎng)”。編寫語(yǔ)法為:控件名.屬性=值。
End Sub是結(jié)束以上過(guò)程。
接下來(lái),教師讓學(xué)生設(shè)計(jì)添加代碼。通過(guò)雙擊按鈕進(jìn)入代碼編輯窗口,程序會(huì)自動(dòng)添加2行代碼,為事件的代碼,只需要添加變化的過(guò)程代碼就行。學(xué)生在已有的界面基礎(chǔ)上設(shè)計(jì)自己的功能代碼。
教師提供分層學(xué)習(xí)的小貼士:當(dāng)我們輸入控件名加.時(shí)會(huì)彈出屬性列表,可以直接選擇屬性。
學(xué)生以小組為單位,看看哪個(gè)小組做得又快又好,做得最快的得2顆星,做出來(lái)的得1顆星。
教師選取2個(gè)小組作品進(jìn)行展示。
教師讓學(xué)生思考:如何實(shí)現(xiàn)鼠標(biāo)移動(dòng)到按鈕上,按鈕上出現(xiàn)圖片?
在“抽獎(jiǎng)”游戲中主要是運(yùn)用click事件,這是事件響應(yīng)的常用事件。而在這個(gè)探究任務(wù)中運(yùn)用的是mousemove事件,以加深學(xué)生對(duì)事件響應(yīng)機(jī)制的理解。
為了降低此探究任務(wù)的難度,教師進(jìn)行技術(shù)支持。第一步:選擇按鈕控件command1。第二步:在按鈕屬性窗口找到style屬性,值設(shè)置為1。第三步:在代碼窗口事件列表里選擇MouseMove事件。第四步:添加代碼,為按鈕的picture屬性賦值。例如,Command1.Picture=LoadPicture("E:\桃花.jpg")。
為了使學(xué)習(xí)能夠從課堂延伸到生活中,本節(jié)課給學(xué)生留了研究性學(xué)習(xí)任務(wù),學(xué)生隨時(shí)用文字和圖片記錄多肉的生長(zhǎng)情況,形成自己的研究性學(xué)習(xí)報(bào)告,作為社會(huì)實(shí)踐傳到綜合素質(zhì)平臺(tái)上。
關(guān)于多肉植物的研究性學(xué)習(xí)報(bào)告,建議包括多肉植物的名稱、小組成員及分工、多肉植物的繁殖種類、多肉植物適應(yīng)的生長(zhǎng)環(huán)境(光照、溫度、濕度)、多肉植物病蟲害及多發(fā)病的治理措施、多肉植物的生長(zhǎng)過(guò)程(圖片)等。