王淑霞,田麗艷,白 雪
(通化師范學(xué)院 計(jì)算機(jī)科學(xué)系,吉林 通化134002)
興趣教學(xué)法就是以直觀教學(xué)為出發(fā)點(diǎn),把興趣作為教學(xué)的手段和動(dòng)力,以學(xué)生為主體,培養(yǎng)學(xué)生的學(xué)習(xí)興趣,充分發(fā)揮其主觀能動(dòng)性和創(chuàng)造性的一種方法[1].作為一名教師,首先要處理好“教什么”的問題,其次是如何結(jié)合教學(xué)內(nèi)容,讓課堂氣氛活起來,從而有效地指導(dǎo)學(xué)生進(jìn)行高級語言程序設(shè)計(jì)的學(xué)習(xí).
在高級語言教學(xué)中,首先要考查學(xué)生的具體情況,依據(jù)參照教學(xué)大綱整合教學(xué)內(nèi)容,精選案例,扼要講解,以案例為引導(dǎo),在教學(xué)過程中引入新思想、新方法,激發(fā)學(xué)生的興趣,提高教學(xué)質(zhì)量,使課堂教學(xué)成為師生雙方都樂于參與的一種充滿情趣活動(dòng).興趣教學(xué)應(yīng)用到課堂教學(xué)中,既滿足了學(xué)生積極求知的心理,又使學(xué)生學(xué)會了掌握知識的方法,并能成為誘發(fā)學(xué)生學(xué)習(xí)積極性和自覺性的內(nèi)部動(dòng)因[2],通過“高級語言程序設(shè)計(jì)”興趣教學(xué)的嘗試性研究,筆者建立一套基于人的認(rèn)知規(guī)律和好奇心理方面的“興趣教學(xué)方法”.
“興趣是最好的老師”,[3]它是求知者跨入知識殿堂的入場券.興趣是一種具有濃厚情感的志趣活動(dòng),它可以使人集中精力去獲得知識,并創(chuàng)造性地完成當(dāng)前的活動(dòng).在教學(xué)過程中,一方面教師要通過情感交流,做學(xué)生的良師益友,讓學(xué)生在一種輕松愉快的環(huán)境中學(xué)習(xí),使學(xué)生有在“玩中學(xué),學(xué)中玩”的感覺.另一方面教師用積極肯定的語言評價(jià)和鼓勵(lì)學(xué)生,能夠使學(xué)生學(xué)習(xí)熱情高漲,學(xué)習(xí)興趣盎然,變“要我學(xué)”為“我要學(xué)”.所以教師既要做好學(xué)生的思想教育工作,又要有意識地讓學(xué)生獲得更多的成功快感,增強(qiáng)其學(xué)習(xí)信心,調(diào)動(dòng)學(xué)習(xí)熱情,提高學(xué)習(xí)興趣.例如編寫一個(gè)數(shù)組排序的程序時(shí),應(yīng)采用“化整為零法”,將一個(gè)復(fù)雜的程序拆分成幾個(gè)小函數(shù),這幾個(gè)函數(shù)分別是數(shù)組元素賦值的函數(shù),輸出數(shù)組元素的函數(shù),排序函數(shù),最后再把這幾個(gè)函數(shù)組織起來.引導(dǎo)學(xué)生單獨(dú)完成每一個(gè)函數(shù),復(fù)雜的問題簡單化學(xué)生就容易接受、理解.教師再對學(xué)生的小小的成功給予肯定,就會增長學(xué)生的自信,提高學(xué)習(xí)興趣.
在高級語言程序設(shè)計(jì)中有些內(nèi)容對初學(xué)者來說既抽象,又難理解.老師更應(yīng)化繁為簡、化難為易,將抽象的問題簡單明了化.在教學(xué)中巧用生活實(shí)例,形象比喻的方法可使問題更容易被學(xué)生接受.例如變量間賦值的問題,結(jié)合生活中甲方把蘋果給了乙方,結(jié)果甲方?jīng)]有蘋果的實(shí)例,講解變量之間的賦值后兩個(gè)變量都有相同的值,其實(shí)變量間的賦值就是變量值的復(fù)制過程.又如學(xué)習(xí)兩個(gè)變量交換值時(shí)[4],由于受到生活中甲乙兩人交換禮物不需要第三人參與的影響,對于為什么要借助于第三變量?學(xué)生有些糊涂,可以向?qū)W生做一個(gè)形象比喻,一瓶醋,一瓶醬油,如何實(shí)現(xiàn)兩瓶液體要互換?學(xué)生馬上可以想到借助于第三個(gè)瓶子,通過以上的形象比喻,學(xué)生容易接受,就會牢牢記住這個(gè)知識點(diǎn),培養(yǎng)學(xué)生的學(xué)習(xí)興趣.
對于高級語言程序設(shè)計(jì)課程中(以C語言為例),printf()函數(shù)輸出項(xiàng)右結(jié)合和變量存儲的問題[5],變量在內(nèi)存中的存儲學(xué)生看不見又摸不著,非常抽象,不容易理解,在講解這部分內(nèi)容時(shí),可利用圖例來引出變量在內(nèi)存中的存儲和printf()函數(shù)執(zhí)行過程中如何使用棧等更深層的知識.筆者通過以下例題,將抽象的問題圖例化,學(xué)生易于接受.
例long a=65536;
printf(“%d ”,a,); /*輸出結(jié)果為0*/
printf(“%8ld ”,a); /*輸出結(jié)果為65536*/
而printf(“%d,%8ld ”,a, a); 的輸出結(jié)果是什么?
首先,考慮長整型變量a在內(nèi)存中的存儲如圖1所示.
圖1 變量a的存儲形式
對于printf(“%d,%8ld ”,a,a);的輸出結(jié)果,大多數(shù)認(rèn)為結(jié)果是0,65536,但執(zhí)行結(jié)果為0,1,結(jié)果不一致,導(dǎo)致這種情況的原因是什么呢?還要從printf()函數(shù)的構(gòu)成著手,printf()函數(shù)的輸出項(xiàng)在內(nèi)存中是用棧存放的,如圖2所示.而%d的執(zhí)行讓位于棧頂?shù)氖幌瘸鰲?,如圖3所示,出棧的數(shù)據(jù)是0000 0000 0000 0000,這部分的值轉(zhuǎn)換為十進(jìn)數(shù)輸出恰好是0.當(dāng)執(zhí)行%8ld的時(shí)候位于棧頂?shù)娜幌瘸鰲#?如圖4所示,出棧的數(shù)據(jù)是0000 0000 0000 0000 0000 0000 0000 0001,這部分的值轉(zhuǎn)換為十進(jìn)數(shù)輸出恰好是1.剩余的數(shù)據(jù)仍然保留在棧中.圖2-圖4形象的描述了printf()函數(shù)的執(zhí)行過程,有效的利用棧來實(shí)現(xiàn)函數(shù)功能.不但挖掘出printf()函數(shù)更深層的知識,為以后學(xué)習(xí)《數(shù)據(jù)結(jié)構(gòu)》課程打下基礎(chǔ),還能誘導(dǎo)學(xué)生深層次學(xué)習(xí)的興趣.
圖2 兩個(gè)輸出項(xiàng)入棧 圖3 %d輸出項(xiàng)出棧 圖4 %ld輸出項(xiàng)出棧
在教學(xué)過程中,發(fā)現(xiàn)有些學(xué)生對教材上知識點(diǎn)感覺枯燥無味,沒有興趣,但對生活中的事例卻熱情很高.因此,教師要打破從概念講解的傳統(tǒng)教學(xué)方式,先從一個(gè)趣味實(shí)例做起.在解決問題的過程中,讓同學(xué)們自己在實(shí)例中體會一些概念,引發(fā)對知識點(diǎn)的思考,在時(shí)機(jī)成熟時(shí)再和學(xué)生一起歸納總結(jié),在課堂教學(xué)中采用了自然過渡、類比等教學(xué)方法.例如講解什么是“循環(huán)嵌套”,什么是外層循環(huán),什么是內(nèi)層循環(huán)[6]時(shí),可以很形象的用分針與秒針的關(guān)系來解釋,分針動(dòng)一下,秒針需要轉(zhuǎn)一周,來解釋外層改變一次,內(nèi)層需要改變一整圈.再給出一個(gè)平行四邊形(如圖5所示),一起寫出它的算法(如圖6所示)并執(zhí)行,讓學(xué)生看到運(yùn)行結(jié)果,激發(fā)學(xué)生的興趣,這時(shí)再講解循環(huán)嵌套的執(zhí)行過程和一些知識點(diǎn)就很容易接受了.
圖5 平行四邊形 圖6 平行四邊形算法
圖7 三角形 圖8 菱形圖 9漏斗形
在平行四邊形實(shí)現(xiàn)后,接下來以此事件展開三角形、菱形、漏斗形(圖7-圖9)的實(shí)現(xiàn).可以留出十分鐘時(shí)間,讓學(xué)生通過思考,找出共性的問題是外層循環(huán)控制行,兩個(gè)內(nèi)層循環(huán)一個(gè)控制空格的輸出,一個(gè)內(nèi)層循環(huán)控制星號的輸出.不同點(diǎn)是圖形中空格的個(gè)數(shù)和星號的個(gè)數(shù)不同且與行號有關(guān).最后,由教師進(jìn)行算法分析并引導(dǎo)學(xué)生編寫程序.實(shí)踐證明,在課堂教學(xué)中,時(shí)刻注意從生活中選取與課堂內(nèi)容相關(guān)的趣味題型展開教學(xué),比直接講解概念更容易激發(fā)學(xué)生的興趣,通過趣味題型也可以加強(qiáng)學(xué)生對概念的理解.在整個(gè)教學(xué)過程中,先不用提出“循環(huán)嵌套”的作用,而是讓學(xué)生在完成以上趣味題型過程中,慢慢地體會出什么是外層循環(huán),什么是內(nèi)層循環(huán)等.最后由教師對知識點(diǎn)做歸納總結(jié).由此可見,教學(xué)過程中以學(xué)生為主,課堂氣氛活躍,一切問題就迎刃而解了.
筆者將興趣教學(xué)方法應(yīng)用到計(jì)算機(jī)科學(xué)與技術(shù)和信息管理專業(yè)的高級語言程序設(shè)計(jì)教學(xué)中,充分利用高級語言的特點(diǎn),從學(xué)習(xí)興趣入手,引導(dǎo)學(xué)生走上實(shí)用高效的學(xué)習(xí)之路,進(jìn)入良性的學(xué)習(xí)狀態(tài),結(jié)果表明學(xué)生的綜合素質(zhì)提到了全面的提高,多名學(xué)生在ACM程序設(shè)計(jì)大賽中獲獎(jiǎng).
[1]Willis J.A Framework of task2based learning[M].Longman,1996.
[2]Skehan P.Cognitive app roach to language learning[M].Oxford University Press, 1998.
[3]欒好利,楊政.基于興趣的“程序設(shè)計(jì)基礎(chǔ)”課程教學(xué)策略的研究與實(shí)踐[J].計(jì)算機(jī)教育2008(1)
[4]譚浩強(qiáng).C語言程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2005.
[5]顧元?jiǎng)?C語言程序設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2004.
[6]吳文虎.程序設(shè)計(jì)基礎(chǔ)[M].北京:清華大學(xué)出版社,2003.