摘要:針對(duì)高職院校職業(yè)教育中C語言教學(xué)中存在的問題進(jìn)行分析,分析問題原因,提出相應(yīng)的解決方法,只有教師將教學(xué)內(nèi)容與教學(xué)方法進(jìn)行合理的組合,并不斷地激發(fā)學(xué)生的學(xué)習(xí)興趣才能達(dá)到良好的教學(xué)效果。
關(guān)鍵詞:C語言;教學(xué)內(nèi)容;教學(xué)方法;教學(xué)效果
中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2009)14-3744-02
The Exploration and Study of C Language Teaching in High and Secondary Vocational or Technical Schools under New Circumstance
CHEN Zheng-jun1, NIE Wen-guang1, WU Hua2, FAN Ai-hua1
(1. Jiangxi Ceramic Art Institute, Jingdezhen 333000,China; 2.Jingdezhen Ceramic Institute,Jingdezhen 333000,China)
Abstract: Analyse the existing problem of C language teaching in high and secondary vocational schools, look into the reasons and offer solutions, that only good combination of the teaching content and teaching methods, can stimulate the students interest, thus, make the teaching process effective.
Key words: C language; teaching content; teaching method; teaching effects
1 引言
C語言是一種結(jié)構(gòu)化的程序設(shè)計(jì)語言,由于它具有功能豐富,使用靈活,應(yīng)用面廣,可移植性好等特點(diǎn),許多專業(yè)都將它設(shè)置成基礎(chǔ)課。該課程的開設(shè)目的是為了使學(xué)生掌握程序設(shè)計(jì)的一些基本方法和原理。在以職業(yè)教育為主的院校中,C語言的教學(xué)內(nèi)容側(cè)重于基本原理和基礎(chǔ)應(yīng)用,強(qiáng)調(diào)過程性知識(shí)的學(xué)習(xí)和實(shí)踐;而在一般研究型高校中,C語言的教學(xué)側(cè)重于理論和算法的學(xué)習(xí),強(qiáng)調(diào)研究能力。由于這兩種高校的教學(xué)目的不相同,對(duì)C語言教學(xué)采用的方法也不盡相同。職業(yè)教育型的院校注重實(shí)用性和基本性,在C語言教學(xué)的內(nèi)容選擇方面也會(huì)有不同的側(cè)重和刪減,但是由于C語言本身的靈活性,許多學(xué)生在學(xué)習(xí)過程中仍會(huì)感到內(nèi)容枯燥、難以消化。尤其是對(duì)于初學(xué)者,一時(shí)難以適應(yīng)程序語言的設(shè)計(jì)思想,不少學(xué)生在學(xué)完C語言后,仍然看不懂、寫不出程序??墒牵^大部分教授程序設(shè)計(jì)類課程的教師都會(huì)抱怨,學(xué)生太差,根本不懂得編程,語法記不住,沒有編程思想等等。既然知道C語言課程的重要性,可是卻達(dá)不到所希望的教學(xué)效果。這里,有學(xué)生的原因,有教師的原因,也有教學(xué)內(nèi)容的安排的原因。
2教學(xué)現(xiàn)狀分析
首先談?wù)劷處?。隨著高等教育的發(fā)展,在高等院校教書的門檻也越來越高,即便是高職類院校,現(xiàn)在也基本是非碩士以上學(xué)歷不能進(jìn)入。教師的水平是高的,每個(gè)教師在學(xué)習(xí)C語言的時(shí)候也有自己的一套方法。可是,當(dāng)教師想把自己的經(jīng)驗(yàn)傳授給學(xué)生的時(shí)候,卻發(fā)現(xiàn)學(xué)生只是聽得津津有味,卻沒有學(xué)以致用。這是為什么呢?
高職類院校的學(xué)生,比起本科層次的學(xué)生有著不少的差距,這種差距不單是知識(shí)上的差距,也包含學(xué)習(xí)態(tài)度、毅力等方面的差距。在這種情況下,教師在想把自己的經(jīng)驗(yàn)傳授給學(xué)生的時(shí)候就應(yīng)當(dāng)考慮到,學(xué)生是否能接受?一般來說,教學(xué)C語言的教師會(huì)在以下幾個(gè)方面要求學(xué)生:(1)多上機(jī)練習(xí);(2)記住語法,記住C語言開發(fā)工具的各種報(bào)錯(cuò);(3)要理解程序,而不是背熟程序;(4)要總結(jié)程序類型。的確,這些都是無數(shù)人總結(jié)出來的學(xué)習(xí)C語言的好方法,也往往適用于其他的程序設(shè)計(jì)類課程教學(xué)。但是,上述的四點(diǎn),學(xué)生尤其是高職類院校的學(xué)生,往往很難做不到。這又是為什么?
首先,要求學(xué)生多上機(jī)練習(xí)。許多學(xué)校將C語言開設(shè)在第一個(gè)學(xué)期,而到第一個(gè)學(xué)期結(jié)束的時(shí)候?qū)W生很少有電腦。那么,學(xué)生去哪里練習(xí)?網(wǎng)吧,學(xué)生有足夠的自覺性自己花錢去做他們覺得苦悶的編程嗎?機(jī)房,但是,機(jī)房是免費(fèi)開放給學(xué)生使用的嗎?所以,不能夠把一切都建立在強(qiáng)調(diào)學(xué)生的自覺性,學(xué)生缺乏自覺、還缺少環(huán)境,二者結(jié)合就不難解釋為什么學(xué)生練習(xí)得少了。其次,要求學(xué)生記住語法。但是,在缺乏練習(xí)的情況下去背熟語法是沒有意義的,缺少了必要的練習(xí),學(xué)生會(huì)覺得學(xué)習(xí)語法沒有用處。即便是有興趣去練習(xí)的學(xué)生,也會(huì)因?yàn)橐淮未蔚倪\(yùn)行失敗磨光了信心與興趣。所以,為什么不少的學(xué)生在開始學(xué)C語言的時(shí)候都興致滿滿,而慢慢的最終都沉寂下來,這就是原因所在。再次,要學(xué)生理解程序,而不是背熟程序。問題是如何去理解,許多時(shí)候,教師在上課的時(shí)候?qū)W生是聽得懂的,可是布置的作業(yè)又不會(huì)變通的編寫程序了。不能只去強(qiáng)調(diào)學(xué)生課后不學(xué)習(xí),也應(yīng)該想一下學(xué)生為什么課后不去學(xué)習(xí),如果學(xué)生已經(jīng)比其他一些較好學(xué)的課程努力不少,但卻沒有收效,許多學(xué)生都會(huì)放棄。最后,要學(xué)生懂得總結(jié)程序類型,可是不能高估了學(xué)生的總結(jié)能力,尤其是學(xué)生在練習(xí)都已經(jīng)開始抗拒的情況下,再空泛的要求學(xué)生去總結(jié)已經(jīng)毫無意義。
另外,教學(xué)內(nèi)容也是影響學(xué)生的一個(gè)重要方面。一般高職院校的教學(xué)任務(wù),通過C語言課程的學(xué)習(xí)可以使學(xué)生掌握結(jié)構(gòu)化程序設(shè)計(jì)的方法,確立程序設(shè)計(jì)的思維方式,培養(yǎng)和提高學(xué)生的應(yīng)用程序開發(fā)能力,并為數(shù)據(jù)結(jié)構(gòu)等后續(xù)課程的學(xué)習(xí)打下基礎(chǔ)。問題是,學(xué)生可以做到嗎?即便是教師,在當(dāng)初學(xué)習(xí)C語言的第一個(gè)學(xué)期就可以做到這樣的呢?許多知識(shí),學(xué)生卻在短期內(nèi)根本用不到,這不單是浪費(fèi)學(xué)生寶貴的課堂時(shí)間,更多的是讓學(xué)生混亂。將常用的知識(shí)點(diǎn)組織起來已經(jīng)困難的,還要加上一大堆不知道什么時(shí)候能用上的知識(shí)。所以,不合理的教學(xué)內(nèi)容的安排對(duì)嚴(yán)重影響了學(xué)生學(xué)習(xí)興趣的提高。
3 解決方法
3.1排除學(xué)生畏懼情緒
在授課之初,應(yīng)該給學(xué)生講明C語言與數(shù)學(xué)和英語的關(guān)系,告訴學(xué)生C語言或者一般編程語言與數(shù)學(xué)或英語的聯(lián)系并不像同學(xué)們想象的那么大,即使數(shù)學(xué)和英語水平不高,也可以學(xué)好編程語言。這樣可以幫助那些還沒有開始學(xué)就感到害怕的學(xué)生排除畏難情緒。
3.2加強(qiáng)學(xué)生的上機(jī)操作時(shí)間
一般高職院校,C語言課程是6-8節(jié),上一個(gè)學(xué)期。這樣的時(shí)間,教學(xué)是足夠了,但是學(xué)生練習(xí)則是嚴(yán)重不足。學(xué)生在編寫程序的時(shí)候一定要有連續(xù)的時(shí)間保證,一個(gè)星期7天,每天編程一個(gè)小時(shí),這樣的的效果遠(yuǎn)遠(yuǎn)比不上學(xué)生只編程兩天,但每天3個(gè)小時(shí)的效果。所以,除了課堂之外,機(jī)房應(yīng)當(dāng)每個(gè)星期為學(xué)生免費(fèi)開放2-3個(gè)晚上。同時(shí),其他的課程適當(dāng)?shù)臑楸WC學(xué)生的編程時(shí)間讓步,畢竟計(jì)算機(jī)專業(yè)的學(xué)生,如果最基本的C語編程都沒掌握好,那后繼編程課程的學(xué)習(xí)會(huì)更加困難,而如果C語言編程掌握好了,在后續(xù)編程方面學(xué)習(xí)的效率就自然后提高,從而可以更好的兼顧其他課程的學(xué)習(xí)。
3.3 加強(qiáng)教師能動(dòng)性,引導(dǎo)學(xué)生形成良好學(xué)習(xí)習(xí)慣
許多教師都強(qiáng)調(diào)學(xué)生要注意語法,也抱怨學(xué)生不努力,連最基本的語法都不愿意去背。是的,學(xué)生或許比較懶,但是即便如此也應(yīng)當(dāng)想辦法如何能讓學(xué)生更舒服的學(xué)到知識(shí)。C語言的開發(fā)工具都有報(bào)錯(cuò)功能,有經(jīng)驗(yàn)的學(xué)生一看報(bào)錯(cuò)就知道是錯(cuò)在哪里,也有不少老師要求學(xué)生要學(xué)會(huì)看報(bào)錯(cuò)??蓡栴}是,依然有許多學(xué)生就是不去養(yǎng)成這個(gè)習(xí)慣。學(xué)生不主動(dòng),發(fā)揮教師能動(dòng)性,C語言常見的語法報(bào)錯(cuò)就那么幾種,教師把他們整理出來,翻譯成中英文對(duì)照,打印給學(xué)生,要求學(xué)生編程的時(shí)候就放在旁邊,出現(xiàn)了錯(cuò)誤就對(duì)著上面改錯(cuò)。自然而然,學(xué)生慢慢就會(huì)形成良好的習(xí)慣。
3.4 加強(qiáng)學(xué)生能動(dòng)性,發(fā)揮學(xué)生主動(dòng)性
學(xué)生學(xué)習(xí)C語言,最大的問題就是老師講過的聽得懂,沒講的看不懂,講過沒講過的編不出,出了錯(cuò)誤也不知道是怎么錯(cuò)的,可能編譯沒有錯(cuò)誤,可是運(yùn)行的結(jié)果與預(yù)期的有較大差距,但是始終認(rèn)為自己是正確的。面對(duì)同樣的錯(cuò)誤一錯(cuò)在錯(cuò)。學(xué)生為什么會(huì)這樣,為什么會(huì)對(duì)著錯(cuò)誤的程序發(fā)呆,覺得自己沒錯(cuò)。那是因?yàn)椋麄儧]有模擬電腦的運(yùn)行,把自己當(dāng)作電腦,從頭到尾,認(rèn)真的運(yùn)算三次。據(jù)筆者的教學(xué)經(jīng)驗(yàn),93%以上學(xué)生都可以在把自己當(dāng)作電腦運(yùn)算三次之后發(fā)現(xiàn)自己的問題,錯(cuò)在哪里。雖然可能依然編不出,但是能發(fā)現(xiàn)自己錯(cuò)在哪里這本身就是一個(gè)非常大的進(jìn)步,事實(shí)上這是也編程入門的起點(diǎn)。所以,應(yīng)當(dāng)培養(yǎng)學(xué)生把自己當(dāng)作電腦去運(yùn)行,從而發(fā)現(xiàn)自己錯(cuò)誤的習(xí)慣。而且,在C語言的入門階段,所學(xué)的例子也比較簡(jiǎn)單,要求學(xué)生這樣做,或者布置這類的作業(yè)也是完全切實(shí)可行的。
3.5 提高學(xué)生學(xué)習(xí)興趣
學(xué)生放棄,往往是因?yàn)闆]有看到希望,那么就應(yīng)該讓學(xué)生有成功喜悅感。在教學(xué)內(nèi)容的選擇與安排上,應(yīng)當(dāng)側(cè)重于教授盡快幫助學(xué)生編制出完整程序的知識(shí),由淺到深,把學(xué)生的編程感覺培養(yǎng)起來了,再回頭講解其他的知識(shí)。例如,可以只講一個(gè)整型、簡(jiǎn)單的輸入輸出、簡(jiǎn)單的判斷與循環(huán),之后便讓學(xué)生利用它們編出完整的程序,體驗(yàn)到成功地感覺。之后,再慢慢在編程的實(shí)例中補(bǔ)回所缺的知識(shí)。只有不斷的成功,學(xué)生才會(huì)慢慢的積累起學(xué)習(xí)的興趣。
4 總結(jié)
以上只是筆者在實(shí)際教學(xué)中的一點(diǎn)體會(huì),當(dāng)然,在實(shí)際教學(xué)中還應(yīng)該注意很多細(xì)節(jié)問題。一個(gè)C程序設(shè)計(jì)教師要想教學(xué)成功,其關(guān)鍵在于對(duì)教學(xué)內(nèi)容(教什么)和教學(xué)方法(如何教)進(jìn)行合理的組合,但現(xiàn)實(shí)中由于教學(xué)目的、教學(xué)內(nèi)容及學(xué)生情況等因素的千差萬別,沒有哪一種教學(xué)模式或方法是普遍適用的,惟一的原則就是根據(jù)實(shí)際情況采用合適的教學(xué)模式和教學(xué)方法。
參考文獻(xiàn)
[1] 譚浩強(qiáng).C語言程序設(shè)計(jì)教程(第三版)[M].北京:高等教育出版利,2005.
[2] 孫洪全.C語言程序設(shè)計(jì)課程教學(xué)方法的改革與實(shí)踐 [J]. 電腦知識(shí)與技術(shù),2008,(9).
[3] 楊其宇,張霞.“C語言程序設(shè)計(jì)”課程教學(xué)探討[J].廣東工業(yè)大學(xué)學(xué)報(bào)(社會(huì)科學(xué)版),2006,(S1).