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