吳青春
一、教材分析
本節課是教育科學出版社普通高中課程標準實驗教科書《信息技術基礎》(必修)第三章第二節內容。依據教學大綱要求,本節用一課時。
學生已經學習了信息加工的一般過程,本課起承上啟下的作用,通過本節課的學習讓學生了解信息編程加工的一般過程,通過對整個過程的體驗,讓學生了解計算機加工信息的內在機制,知道利用計算機解決問題的步驟和基本思想方法。本節難點在于讓學生理解用算法描述實際問題,理解人的思維在計算機工作中發揮的作用。本節課主要起到拋磚引玉的作用,為高二選修課程《算法與程序設計》做前期準備工作。
二、學情分析
高中生思維活躍,求知欲旺盛,已經具有較強的學習能力,邏輯思維能力也日趨嚴密。但我所教的學生絕大部分在上高中之前,對程序設計基本沒有接觸,再加上編程內容本身相對枯燥,學生的學習興趣不高。因此,創設合理的教學情境,激發學生興趣,消除他們對程序設計的“恐懼”心理,調動他們學習和探究的主動性、積極性,顯得尤其重要。學生不可能用一節課的時間對編程掌握多少,但讓他們在體驗中了解VB編程軟件的一些基本操作及基本語句,理解編程加工的一般過程,通過對事先預設的問題進行解決,實現小小的目標,讓他們有成功的體驗和收獲,在問題的解決中實現教學目標。
三、教學目標
知識與技能:了解編程加工是信息加工的一種重要方式;知道信息的編程加工的主要過程;初步學習簡單算法的設計,理解并能運用VB編程語言實現算法,嘗試簡單代碼輸入,修改代碼,完善程序。
過程與方法:知道信息編程加工的一般步驟和方法:需求分析、算法設計、選擇開發環境、編程實現;了解并嘗試一個完整的程序設計過程,懂得運用編程加工信息來解決問題。
情感態度與價值觀:體驗程序設計的獨特魅力,消除學生對程序設計的神秘感,激發學生學習編程的興趣,為以后選修《算法與程序設計》打下基礎;培養與他人合作交流的意識和習慣。
四、教學重點、難點
教學重點:讓學生體驗通過編程實現計算機加工信息的整個過程,知道利用計算機解決問題的步驟和基本思想方法,從而了解利用計算機對信息加工 的內在機制。
教學難點:理解人的思維在計算機工作中發揮的作用,用算法描述實際生活中的問題。
五、教學方法
講解法、任務驅動法、分層教學法。
六、媒體運用
多媒體網絡教室、多媒體教學軟件、電子白板。
七、教學過程
1. 創設情境,引入課題
師:同學們都玩過了“剪刀、石頭、布”小游戲吧?生:玩過。
師:今天老師就請同學們玩一玩該小游戲,請同學們打開桌面上的小游戲,然后和電腦對決一下,看看結果如何?生:驚訝!哎,怎么都是輸的呀!每次都贏不了電腦。
設計意圖:通過和電腦玩小時候曾經玩過的游戲,激發學生學習興趣,勾起同學們揭開該游戲神秘面紗的欲望,從而引入課題。
2. 游戲解密
師:上述游戲是老師通過VB編程語言編寫的,現在老師帶大家一起來探討該小游戲的設計過程。
教師打開“剪刀石頭布”小游戲的原始程序,簡要介紹VB軟件的窗口界面,然后對該小游戲的界面設計作簡單示范。
師:設計好了“剪刀石頭布”小游戲的界面,是不是就可以玩呢?生:不行,需要編寫程序。
教師打開代碼窗口,并對代碼做簡要介紹,揭秘電腦每次都贏的秘密。玩家每次通過loadpicture函數模擬剪刀、石頭、布三種情況的某一種,電腦必通過loadpicture函數出相克的某種情況,導致玩家無法贏。
生:原來如此!
師:同學們想不想嘗試著贏電腦呢?
生:想。
活動任務1:小試牛刀(我也能贏電腦)
教師為學生準備已經設計好的游戲界面和部分代碼的半成品源文件,學生通過部分代碼的添加,調試運行,完成戰勝電腦的任務。
設計意圖:通過VB中簡單語句的使用,實現預設的目標,讓學生程序設計的魅力,消除對編程的畏懼感,同時也讓學生體驗小小的成功,激發他們進一步深入學習的熱情,為后續課堂教學任務的展開起到很好的鋪墊作用。
3. 公平對決
師:在玩“剪刀石頭布”小游戲時,電腦每次都能贏或者經過同學們的代碼修改勝利的天平每次都傾向同學們,這兩種情況在實際玩游戲的過程中是不公平的,是通過作弊獲得預想的結果,這是不可取的。如何設計一個公平公正能模擬現實生活中的“剪刀石頭布”小游戲呢?
師:下面,我就帶領大家通過該小游戲的設計,了解信息編程加工的一般過程。
(1)分析信息,提出設計方法。
對設計“剪刀石頭布”小游戲這樣的一個信息進行科學分析,提出相關的設計方法。
師:在計算機編程中,解決問題的方法和步驟叫算法。算法的設計在編程中起到核心的作用。請同學們思考一下生活中的一個問題:甲瓶中裝有醋,乙瓶中裝有酒精,現在我們將兩個瓶中的液體互換,怎樣操作?
學生互相討論并回答。
生甲:我們可以借助一個空瓶子丙,首先將甲瓶中的醋倒入丙瓶中,然后將乙瓶中的酒精倒入甲瓶中,最后將丙瓶中的醋倒入乙瓶中。
師:很好,同學們在交換這兩瓶不同液體時,不知不覺地用到了簡答的算法。同學們能不能將剛才方法遷移到編程中的A、B兩數互換呢?
學生討論回答,教師在白板上書寫描述:C=A,A=B,B=C。
設計意圖:本環節的引入,讓學生對程序設計中的核心問題算法有一個感性的認識。
師:該小游戲設計的一般算法是什么呢?
教師引導,學生相互討論并回答。最后,教師歸納設計“剪刀石頭布”小游戲的一般設計方法。
(2)編寫代碼,調試運行
教師演示剪刀代碼并分析:
Private Sub 剪刀_Click()
玩家.Picture = LoadPicture(“剪刀.bmp”) ‘玩家出剪刀
Randomize
x = Int(3 * Rnd) ‘計算機隨機產生0、1、2三種情況
If x = 0 Then ‘根據隨機產生的數進行判斷比較,如果是0則計算機出剪刀
電腦.Picture = LoadPicture(“剪刀.bmp”)
MsgBox “對方也出剪刀!繼續!”
End If
If x = 1 Then‘根據隨機產生的數進行判斷比較,如果是1則計算機出石頭
電腦.Picture = LoadPicture(“石頭.bmp”)
MsgBox “哈哈!你輸了!”
End If
If x = 2 Then‘根據隨機產生的數進行判斷比較,如果是2則計算機出布
電腦.Picture = LoadPicture(“布.bmp”)
MsgBox “哈哈!你贏了!”
End If
End Sub
通過代碼的分析,讓學生了解計算機是如何模擬現實生活中剪刀石頭布小游戲,并掌握信息編程加工的一般機理。
活動任務2:大顯身手(補充完善代碼,模擬現實生活中的剪刀石頭布小游戲)
教師提供剪刀石頭布小游戲的半成品,學生補充完成石頭按鈕中的有關代碼,并嘗試完整的編寫布按鈕中的代碼,使整個程序完整。
設計意圖:通過石頭代碼中的尋找小問號,讓學生初步體驗一下VB語言中的基本語句。在此基礎上,讓學生完成布按鈕中的代碼編寫,進一步使學生了解信息編程加工的一般機理,通過調試程序、完善程序,體驗編程的魅力,感受成功的喜悅!學生在整個活動過程中,通過教師指導、同學合作互助,共同完成。
師:請同學們談談本次補充完善代碼的感受。生:各抒己見……
師:通常在編寫程序時,我們不能一蹴而就,需要不斷地調試修改。同學們在編寫程序時要學會調試程序,通過調試修改,不斷地完善程序。任何一個程序我們都不可能使其百分之百完美,我們只有通過不斷地調試修改,使其盡可能地完善。同學們在今后的程序設計過程中也是如此。
活動任務3:各顯神通(統計玩家勝負概率)
師:同學們看看這樣的一個語句m=
m+1,你們能理解嗎?生:這在數學上不成立!
師:該語句在程序設計語言中是成立的,它的意思是將m+1的值賦值給左邊的m,使其實現累加的功能。同學們可嘗試通過在代碼中添加這樣的語句,統計玩家玩的總次數及勝負的次數,然后統計玩家勝負的概率。
設計意圖:讓學生進一步體驗編程語句的魅力,通過語句的添加,讓計算機加工更多的我們所需要的信息,在加工信息的過程中深入體驗信息編程加工的一般機理。學生通過小組合作互助,教師點撥嘗試,完成玩家勝負概率。同時,通過多次和電腦對決,看看統計的概率和我們數學中計算出來的概率是否相近,從而進一步激發學生對信息編程加工的興趣。
3. 課堂小結
請同學說說本節課學習的收獲和感受。
師:這節課我們學習了信息編程加工的一般過程,在編程中,對算法的運用,能夠很好地解決信息加工中的問題。請同學們談談本節課的收獲和感受。
設計意圖:把傳統的教師總結轉變為讓學生來表達,既突出了學生的主體地位,又可以幫助教師根據學生的歸納小結及時了解學生的學習情況,為后續教學提供第一手信息。
八、教學反思
本節課在信息技術學業水平測試中要求為“了解”,而課本上的知識點設計卻遠遠超過了“了解”的范疇。對于我們江蘇的高中生來說,沒有前奏知識的鋪墊,學生理解該課題上的知識點相對來說有一定的難度。因此,我在設計該課題時,整合課本知識,對課本上的教學設計進行了適當修改,從小游戲開始,吸引學生的眼球,然后慢慢剝開該小游戲神秘的面紗,整節課以游戲為主線,在不斷完善小游戲中,讓學生了解程序設計中的算法概念,掌握信息編程加工的一般過程,完成老師設置的任務,體驗成功。整堂課在輕松愉快的氛圍中進行,學生在快樂中學,避免了對“程序設計”的恐懼感,為后續學習打下了伏筆。
(南通市第三中學)