摘要:《C程序設(shè)計(jì)語言》是計(jì)算機(jī)專業(yè)的主要課程之一。但由于教學(xué)形式單一、內(nèi)容枯燥,往往導(dǎo)致學(xué)生學(xué)習(xí)興趣缺失、教學(xué)效果低下。本文嘗試通過案例呈現(xiàn),運(yùn)用比喻法把抽象的道理用生活中具體的事物形象地表達(dá)出來,使課堂教學(xué)更加生動、實(shí)用和有效。
關(guān)鍵詞:比喻法程序設(shè)計(jì)教學(xué)多媒體課件
隨著現(xiàn)代化進(jìn)程的加快,學(xué)校的教育設(shè)施也得到了飛速的發(fā)展,筆記本電腦和多媒體教室被廣泛應(yīng)用,大多數(shù)教師在教學(xué)過程中更傾向于利用已經(jīng)設(shè)計(jì)好的多媒體課件進(jìn)行教學(xué),卻忽視了在整個(gè)教學(xué)過程中運(yùn)用形象生動的比喻法。
所謂比喻法,是常用的一種修辭方法,就是利用兩種不同類的事物之間的某些相似的地方,以形象的事物作喻體去描述一個(gè)抽象的事物,它能化平淡為生動,化深奧為淺顯,化抽象為具體?!熬实谋扔骶拖裢捴械哪О?,碰到哪里,哪里就會發(fā)生神奇的變化”。在教學(xué)過程中,學(xué)生經(jīng)常會碰到某些課程的理論性強(qiáng),枯燥、難懂,不容易掌握。如果教師通過比喻教學(xué),把內(nèi)容和現(xiàn)實(shí)中非常接近我們的事情聯(lián)系起來,可使學(xué)生較好的理解某些比較抽象的知識內(nèi)容,以便他們能進(jìn)一步掌握并能應(yīng)用這些知識、原理來分析、解決某些相關(guān)的問題。
筆者就以計(jì)算機(jī)專業(yè)必修課《C程序設(shè)計(jì)語言》課程為例,結(jié)合自己的教學(xué)心得,談?wù)勅绾斡帽扔鞣ㄩ_展教與學(xué)的活動。
在一般高校都把《C程序設(shè)計(jì)語言》課程設(shè)置在大學(xué)一年級,主要面向新生,新生本身對大學(xué)的適應(yīng)就需要一個(gè)過程,再加上C語言牽涉的概念復(fù)雜,規(guī)則繁多,目前各高校在C語言程序設(shè)計(jì)課程教學(xué)模式上仍采用傳統(tǒng)的教學(xué)方法,導(dǎo)致學(xué)生剛接觸C語言就覺得抽象、深奧,使用起來不得心應(yīng)手。如算法概念、順序程序設(shè)計(jì)、選擇程序設(shè)計(jì)、循環(huán)程序設(shè)計(jì),指針等知識更考驗(yàn)著學(xué)生的思維和耐心。
典型案例1:程序的靈魂——算法
[案例呈現(xiàn)]算法的概念是什么?
[分析]在《C程序設(shè)計(jì)》教學(xué)中,最大的困難正是對一些抽象的理論和概念的理解。算法是為解決某一問題而采取的方法和步驟。在教學(xué)中,我做了如下的處理,充分應(yīng)用比喻的魅力,達(dá)到較好的教學(xué)效果。
打個(gè)比方,廚師制作菜肴,需要有菜譜。菜譜上一般包括使用的配料和用這些配料按規(guī)定的步驟加工出不同風(fēng)味菜肴的操作步驟。沒有配料是無法加工成所需菜肴的,面對同一些原料可以加工出不同風(fēng)味的菜肴。設(shè)計(jì)一個(gè)好的程序,就像是做一道美味的菜肴,既要用到類似于配料的數(shù)據(jù)結(jié)構(gòu),又要有類似于做菜步驟的算法。沒有數(shù)據(jù)結(jié)構(gòu)是無法制作程序的,面對同一些數(shù)據(jù)可以設(shè)計(jì)出不同的程序。可見,算法從廣義上來講,就是操作步驟,就是為解決一個(gè)問題而采取的方法和步驟。當(dāng)然我們學(xué)習(xí)計(jì)算機(jī),關(guān)心的是計(jì)算機(jī)能解決的算法。
如著名數(shù)學(xué)家華羅庚“燒水泡茶”的兩個(gè)算法。
算法一:燒水——水燒開后,洗刷茶具——沏茶。
算法二:燒水——燒水過程中,洗刷茶具——水燒開后沏茶。
大家可以看到這兩個(gè)算法的區(qū)別在什么時(shí)間洗刷茶具,因?yàn)榈诙€(gè)算法應(yīng)用了“統(tǒng)籌方法”,節(jié)約時(shí)間,所以效率更高。可見為了有效地進(jìn)行解題,不僅要保證算法正確,還要用到科學(xué)的方法,考慮算法的質(zhì)量,選擇合適的算法。
算法的概念及特點(diǎn)如果只憑老師反復(fù)講述定義,學(xué)生只會聽得昏頭昏腦,索然無味,教學(xué)效果很差。而比喻教學(xué)法的應(yīng)用,可以使抽象的知識變得形象化、趣味化,起到“一語道破天機(jī)”的作用。
典型案例2:C程序設(shè)計(jì)的三種基本結(jié)構(gòu)及各自的語句分析
1.順序結(jié)構(gòu)
順序結(jié)構(gòu)是C程序設(shè)計(jì)中最簡單的一種基本結(jié)構(gòu)。它就像人的一生,從出生、長大、上幼兒園、小學(xué)、初中、高中、大學(xué)、工作、結(jié)婚生子,再到“夕陽無限好,只是近黃昏”。順其自然、順順利利度過一生。
2.選擇結(jié)構(gòu)
它就像在人的一生中會遇到的好多選擇,有人生道路的選擇、世界觀的選擇、事業(yè)的選擇、愛情的選擇,等等,但任何的選擇都需要當(dāng)前實(shí)際條件的成立。例如,考大學(xué),假設(shè)成績大于500分就考上了,否則未考上。此結(jié)構(gòu)中必包含一個(gè)成績大于500的判斷框,根據(jù)給定的條件是否成立而選擇執(zhí)行“考上”或“未考上”。
if(成績>500) printf(“考上”);else printf(“未考上”);
3.循環(huán)結(jié)構(gòu)
循環(huán)即周而復(fù)始,花開花謝,月圓月缺,循環(huán)無盡。人生像生老病死就是一個(gè)循環(huán)不息的過程。我生病了,醫(yī)生叮囑我每天吃藥,連續(xù)吃7天病就好了。很顯然吃藥是每天必做的事情,也是必循環(huán)的事情,7天后就可以不吃藥了(如圖所示)。在不少實(shí)際問題中有許多具有規(guī)律性的重復(fù)操作,因此在程序設(shè)計(jì)中就需要重復(fù)執(zhí)行某些語句。一組被重復(fù)執(zhí)行的語句稱為循環(huán)體,能否繼續(xù)重復(fù),決定循環(huán)的終止條件。所以循環(huán)語句是由循環(huán)體及循環(huán)的終止條件兩部分組成的。循環(huán)語句是最能體現(xiàn)計(jì)算機(jī)解決問題優(yōu)越性的語句。
While(天數(shù)<7)吃藥;
可見,這種利用一個(gè)個(gè)發(fā)生在身邊的實(shí)例做比喻,再加上理論講解相結(jié)合的方法,使學(xué)生能感性地理解循環(huán)。
在《C程序設(shè)計(jì)語言》課堂教學(xué)中,嘗試用比喻的方式來剖析計(jì)算機(jī)教學(xué)中的概念,選用恰當(dāng)?shù)纳钍吕?,用已知來發(fā)掘未知,提高教學(xué)效果,增強(qiáng)學(xué)生學(xué)習(xí)的興趣,是一種非常有效的教學(xué)方法。但是,運(yùn)用教學(xué)比喻,并不是以粗淺的事例代替科學(xué)精準(zhǔn)的理論,更不是用隨便的玩笑代替細(xì)致準(zhǔn)確的講解,而是要求我們緊扣教學(xué)目標(biāo)和要求,把握物理概念的本質(zhì)和特點(diǎn)。根據(jù)具體問題,做到言之有理,言之有物,言之有據(jù)。《學(xué)論》中說:“君子之教,喻也?!弊鳛榻處煟谌粘=虒W(xué)中,一定要認(rèn)真鉆研教材,準(zhǔn)確把握所教學(xué)生的思維水平和特點(diǎn),從日常生活和學(xué)生已掌握的知識中找到恰當(dāng)?shù)谋扔?,運(yùn)用比喻的時(shí)機(jī)和技巧,使課堂妙喻精彩紛呈。
參考文獻(xiàn):
[1]顧建東.生活:程序設(shè)計(jì)教學(xué)的本質(zhì)回歸[J].中國教育信息化.
[2]盛美勤.讓比喻這一古老的修辭煥發(fā)新的教學(xué)生命力[J].中國論文網(wǎng).
[3]許文芳.類比法在《C語言程序設(shè)計(jì)》教學(xué)中的運(yùn)用[J].電腦知識與技術(shù).
[4]沈軍.C程序設(shè)計(jì)語言課程的教學(xué)新思路[J].電氣電子教學(xué)學(xué)報(bào).