安徽省于2006年秋開始實(shí)施信息技術(shù)學(xué)科高中新課程實(shí)驗(yàn)。在高中新課程的結(jié)構(gòu)中,信息技術(shù)作為獨(dú)立學(xué)科出現(xiàn),歸屬于八大學(xué)習(xí)領(lǐng)域的技術(shù)領(lǐng)域。高中信息技術(shù)課程以九年義務(wù)教育中的信息技術(shù)課程為基礎(chǔ),包括必修與選修兩部分,共六個(gè)模塊,每個(gè)模塊兩學(xué)分。面對(duì)新課程實(shí)驗(yàn),有的教師還存在不少的問題和困惑。在高中新課程培訓(xùn)會(huì)上,我就發(fā)現(xiàn)不少教師對(duì)課改持抵觸情緒,有的不明白如何教。在評(píng)課中,有的教師就質(zhì)疑設(shè)計(jì)這個(gè)教案的教師是否教過VB。其實(shí),教師在提問前最好能夠自己多學(xué)些課標(biāo),多研究一下教材必修模塊和選修模塊之間的關(guān)系,只有搞清楚這些,才不至于提出上述的問題。反對(duì)課改的根本原因,是不少教師已經(jīng)適應(yīng)了傳統(tǒng)的依據(jù)教材內(nèi)容及實(shí)例按部就班地進(jìn)行教學(xué),還有的教師已經(jīng)習(xí)慣了以某些技術(shù)為中心的學(xué)科體系。其實(shí),課改本身就是破舊立新,就是由不適應(yīng)到適應(yīng)的過程,有時(shí)也是需要經(jīng)歷某些“痛苦”歷程的。
內(nèi)容概述
《信息技術(shù)基礎(chǔ)》(必修)由廣東教育出版社出版。教材一個(gè)最主要的特點(diǎn)就是整篇貫穿利用信息技術(shù)解決問題的基本思想和方法:根據(jù)問題進(jìn)行需求分析,然后規(guī)劃設(shè)計(jì)實(shí)現(xiàn),最后評(píng)價(jià)并修改完善?!绑w驗(yàn)程序的運(yùn)行過程和作用”是第四章第一節(jié)的內(nèi)容,它要求學(xué)生初步掌握利用計(jì)算機(jī)進(jìn)行信息處理的幾種方法,認(rèn)識(shí)其工作的一般過程及基本特征。因此,在教學(xué)設(shè)計(jì)時(shí),教師要考慮到校際差異和學(xué)生起點(diǎn)水平及個(gè)性差異,哪些案例(或話題)能更好地幫助學(xué)生了解和體驗(yàn)程序設(shè)計(jì)。導(dǎo)入的案例可以多層次、多樣化,重點(diǎn)是喚起學(xué)生興趣并初步體驗(yàn)編程的快樂。教師要將程序設(shè)計(jì)語(yǔ)言作為解決問題的工具,充分利用VB的特點(diǎn),圍繞實(shí)例進(jìn)行代碼編寫,開始不必過多地介紹語(yǔ)句的功能和語(yǔ)法規(guī)則。
單純講解程序十分枯燥乏味。應(yīng)該讓學(xué)生在理解的基礎(chǔ)上運(yùn)行程序來體驗(yàn)過程。本節(jié)課的重點(diǎn)是讓學(xué)生在理解的基礎(chǔ)上,掌握程序的結(jié)構(gòu)和語(yǔ)句的具體含義。循環(huán)結(jié)構(gòu)是程序設(shè)計(jì)中的重點(diǎn),也是難點(diǎn),僅靠教材上的一個(gè)例題,是不能讓學(xué)生真正掌握和理解的。為了讓學(xué)生真正掌握規(guī)則,特增加一個(gè)與之相似的練習(xí)題,供學(xué)生改寫程序使用。學(xué)生只有掌握了FOR循環(huán)語(yǔ)句的語(yǔ)句格式,理解其執(zhí)行過程,才能在實(shí)際應(yīng)用中得心應(yīng)手。
教學(xué)過程
在教材中,“體驗(yàn)程序的運(yùn)行過程和作用”引用的是一個(gè)文本加密解密的案例。這里,教學(xué)設(shè)計(jì)時(shí)就沒有必要千篇一律,教師可以從實(shí)際情況出發(fā),引用最適合學(xué)生實(shí)際的案例。我們不妨提出一些問題,來讓學(xué)生參與,讓學(xué)生自己來解決,經(jīng)過討論后,教師再利用程序來解決它,這樣比一開始就介紹一些枯燥的語(yǔ)法要好得多。學(xué)生知道生活中一些繁瑣的問題,是可以通過程序來解決的,而且通過程序來解決要快得多、方便得多。整個(gè)教學(xué)流程圖如下。
程序解決問題對(duì)學(xué)生來說,是一種既陌生又新鮮的信息處理方法。因此,怎樣讓學(xué)生輕松入門并且提高他們的學(xué)習(xí)興趣成為本節(jié)課需要解決的首要問題。所以,在開始的時(shí)候,如何克服學(xué)生的畏難情緒是程序設(shè)計(jì)教學(xué)的關(guān)鍵。頭開好了,也就為學(xué)生進(jìn)一步學(xué)習(xí)程序起到良好的鋪墊作用。
在高中生初次接觸程序設(shè)計(jì)時(shí),教師沒有必要墨守成規(guī)地在第一節(jié)課就向?qū)W生介紹什么叫“程序”等。實(shí)際上,教師只要激發(fā)起了學(xué)生強(qiáng)烈的學(xué)習(xí)興趣,就完全可以收到事半功倍的效果,正所謂“磨刀不誤砍柴功”。我正是通過“興趣”這個(gè)導(dǎo)入點(diǎn),大膽采用非常規(guī)教學(xué)方法,收到了意想不到的效果。
我國(guó)數(shù)學(xué)家張丘建曾經(jīng)提出了一個(gè)問題:“雞翁一值錢5,雞母一值錢3,雞雛三值錢1,問雞翁、雞母、雞雛各幾何?”這是一個(gè)非常有趣的問題,人們又把它稱為“百元買百雞問題”。學(xué)生可以通過心算,也可以通過列方程等方法計(jì)算。我曾經(jīng)在班級(jí)做了個(gè)實(shí)驗(yàn),發(fā)現(xiàn)把答案做全的學(xué)生幾乎沒有。大部分學(xué)生通過心算,花費(fèi)了很多時(shí)間卻得到一組答案,而有的學(xué)生雖然列出了方程組,但最后卻無法求解。這時(shí),我適時(shí)地讓學(xué)生看多媒體投影,啟動(dòng)教師課前編好的Visual Basic工程文件,只需要單擊按鈕一次,程序即可在不到1秒內(nèi)顯示出求得的所有解,而且正確、便捷。學(xué)生看得目瞪口呆,并且以為這樣的程序設(shè)計(jì)一定很復(fù)雜,后臺(tái)一定很龐大。所以,在知道了程序設(shè)計(jì)的作用和特點(diǎn)之后,讓學(xué)生們知道程序并不難就是下一個(gè)教學(xué)任務(wù)的重點(diǎn)。
“那么,程序解決問題的奧妙在哪里呢?”帶著這樣的疑問,教師適時(shí)打開程序代碼。面對(duì)這樣一段代碼,學(xué)生不免感到很茫然。為了消除這種情緒,教師并不急于解說程序,而是從學(xué)生熟悉的數(shù)學(xué)方法入手。對(duì)于“100元全買公雞可以買20只,所以公雞的數(shù)量應(yīng)該是從0到20”的問題并不難以理解,由此類推,母雞的變化范圍是0到33,在此范圍內(nèi)逐個(gè)搜索同時(shí)滿足兩個(gè)方程的x、y、z就可以得出答案。此范圍的搜索就是通過循環(huán)語(yǔ)句for實(shí)現(xiàn)的,即由for和next組成的配對(duì)語(yǔ)句,而兩個(gè)方程就是條件(注意對(duì)照程序)。這樣學(xué)生可以很容易理解程序的作用,而不會(huì)陷入到復(fù)雜的結(jié)構(gòu)分析中去,同時(shí)覺得程序并不像表面看起來那么深?yuàn)W,能夠保持信心學(xué)下去。實(shí)際上,整個(gè)程序代碼也僅僅就是這么幾條語(yǔ)句,學(xué)生可能還不懂什么叫“循環(huán)”、什么叫“循環(huán)嵌套”,但先別管它,先來看懂這條語(yǔ)句:“For cock = 0 to 20”,即設(shè)定雞翁數(shù)為0到20,這條語(yǔ)句是整個(gè)程序循環(huán)的開始,與后面的語(yǔ)句“Next Cock”構(gòu)成第一層循環(huán),且這兩句語(yǔ)句中間的所有語(yǔ)句都為其循環(huán)結(jié)構(gòu)的循環(huán)體。循環(huán)變量Cock的初始值為0,循環(huán)體每循環(huán)一次其值增加1,直到Cock的值大于20,則退出循環(huán)。把終值設(shè)為20應(yīng)該不難理解,因?yàn)殡u翁一值錢5,而共有100錢,故雞翁Cock數(shù)不可能超過20,同樣,雞母數(shù)也不可能超過33。于是,我們又得到第二層循環(huán):
For Hen = 0 To 33
*****
*****
Next Hen
在這個(gè)循環(huán)里,使用了一個(gè)分支結(jié)構(gòu),即程序在運(yùn)行過程中,根據(jù)設(shè)定的條件來選擇相應(yīng)的程序語(yǔ)句執(zhí)行。這里我們使用的是If語(yǔ)句,判斷雞翁、雞母和雞雛數(shù)分別為某一個(gè)值時(shí),才能滿足其價(jià)格正好為100錢。
If Cock*5+Hen*3+1/3(100-Cock-Hen) =100
(1)執(zhí)行For語(yǔ)句:直接進(jìn)入循環(huán),執(zhí)行循環(huán)體。
(2)執(zhí)行If語(yǔ)句:判斷條件為如果條件滿足,回到上面執(zhí)行循環(huán)體,否則跳出循環(huán),執(zhí)行For下一語(yǔ)句。
綜觀整個(gè)程序語(yǔ)句,對(duì)于初學(xué)者來說,只要搞懂了數(shù)學(xué)問題就不難理解。至于變量、程序結(jié)構(gòu)、函數(shù)、過程等是后面將要學(xué)習(xí)的內(nèi)容,可以分別設(shè)計(jì)不同的實(shí)例來說明。接下來,教師可以把時(shí)間交給學(xué)生動(dòng)手做了,讓學(xué)生體驗(yàn)編程及正確無誤地輸入程序。當(dāng)學(xué)生出現(xiàn)運(yùn)行錯(cuò)誤時(shí),教師應(yīng)給予指導(dǎo)或邀請(qǐng)完成任務(wù)的學(xué)生給予幫助。及時(shí)地解決問題和體驗(yàn)程序的運(yùn)行對(duì)提高學(xué)生的學(xué)習(xí)興趣是很重要的。教師可以演示建立工程文件的一般方法,建立好窗體和控件后,由學(xué)生自己輸入程序代碼,體驗(yàn)編程過程,運(yùn)行程序,看看計(jì)算機(jī)完成了什么工作。
信息技術(shù)解決問題的基本思想和方法,就是根據(jù)問題進(jìn)行需要分析,然后規(guī)劃、設(shè)計(jì)與實(shí)現(xiàn)。當(dāng)學(xué)生出現(xiàn)運(yùn)行錯(cuò)誤時(shí),教師應(yīng)給予指導(dǎo)或邀請(qǐng)完成任務(wù)的學(xué)生予以幫助,體驗(yàn)程序的作用是很重要的。接著,為進(jìn)一步檢測(cè)學(xué)生掌握情況,引導(dǎo)學(xué)生探究,可以作一些小小改動(dòng),再以小組為單位,拋出問題:中國(guó)古代數(shù)學(xué)有“雞兔同籠”問題,一籠中雞兔27只,共有78只腳,問雞兔各多少只呢?要求分組討論,對(duì)于已經(jīng)掌握知識(shí)的學(xué)生可以很快解決問題,這里主要培養(yǎng)學(xué)生的團(tuán)隊(duì)精神。
教學(xué)反思
作為程序入門的第一節(jié)課,本節(jié)課的教學(xué)目的就是讓學(xué)生親自感覺計(jì)算機(jī)程序解決問題的過程,了解用高級(jí)語(yǔ)言編程工具解決問題的基本方法,激發(fā)學(xué)生對(duì)信息技術(shù)的求知欲,提高學(xué)生興趣。這里只要求學(xué)生體驗(yàn)程序的運(yùn)行過程和作用,讓學(xué)生感到用程序解決問題不是那么高深莫測(cè)。及時(shí)的實(shí)踐使得學(xué)生們有繼續(xù)學(xué)習(xí)的興趣和信心,同時(shí)也培養(yǎng)了相應(yīng)的能力,那么本節(jié)課的目的就達(dá)到了。
本節(jié)課構(gòu)思的巧妙之處在于:改變了以往教師講學(xué)生做的傳統(tǒng)教學(xué)模式,而是一切以學(xué)生為主,通過情境創(chuàng)設(shè)和學(xué)生的實(shí)踐反思,引領(lǐng)學(xué)生自然進(jìn)入學(xué)習(xí)主題。教師先用學(xué)生自認(rèn)為很熟悉的數(shù)學(xué)知識(shí)暫時(shí)難倒他們,再用程序解決問題激發(fā)學(xué)生的興趣和解決問題的積極性。整節(jié)課采用討論學(xué)習(xí)法及任務(wù)驅(qū)動(dòng)法,充分調(diào)動(dòng)學(xué)生的學(xué)習(xí)積極性,激發(fā)學(xué)生的求知欲。引導(dǎo)學(xué)生分析問題,由數(shù)學(xué)分析過渡到程序解決,教給學(xué)生解決問題的方法,同時(shí),也避免了晦澀難懂的程序解說。另外,教師對(duì)例題的選擇也下了一些工夫。一道有趣的數(shù)學(xué)題可以讓學(xué)生積極思考,而且設(shè)計(jì)的程序?qū)τ谟幸欢ㄓ⒄Z(yǔ)基礎(chǔ)的學(xué)生來說,也很容易理解。通過歸納總結(jié),將能力的培養(yǎng)落實(shí)到具體的探究解決問題的過程中,使學(xué)生真正成為學(xué)習(xí)的主體,從而使學(xué)生在不知不覺中掌握并消化本節(jié)課的重點(diǎn)、難點(diǎn)。