摘要:本文論述了職業(yè)中學(xué)計(jì)算機(jī)專業(yè)的專業(yè)課程:C語(yǔ)言教材中存在的若干問(wèn)題,并提出了相應(yīng)的對(duì)策。 關(guān)鍵詞:權(quán)威教材,錯(cuò)誤,用C語(yǔ)言的方法去教C語(yǔ)言,講義。 C語(yǔ)言是職業(yè)中學(xué)計(jì)算機(jī)專業(yè)學(xué)生必修的一門課程,筆者在教學(xué)中感到中專等專業(yè)學(xué)校所用的C語(yǔ)言教材存在多問(wèn)題。目前,市場(chǎng)上的C語(yǔ)言的教材非常多,其中專門的中等專業(yè)學(xué)校教材的也不少,筆者在教學(xué)中使用過(guò)兩種教材,作為參考,筆者幾乎翻遍了書店的所有的入門教材,包括學(xué)校教材,發(fā)現(xiàn)學(xué)校用教材水平普遍較低,具體表現(xiàn)如下。 第一,在中專和職業(yè)中學(xué)這一層次上沒(méi)有一本權(quán)威的教科書。一本權(quán)威的教科書是很有必要的,客觀地說(shuō),教書的教師應(yīng)當(dāng)沒(méi)有編書的學(xué)者水平高,教師上課時(shí),教材本身應(yīng)當(dāng)是一本很好的參考書,教師往往按教材組織教學(xué),中專或職中尤其如此。因此尋找一本適用教材至關(guān)重要,然而中等專業(yè)(包括職業(yè)中學(xué)這一塊)的C語(yǔ)言教材的出版,似乎仍處于戰(zhàn)國(guó)時(shí)代,眾多的教材讓教師無(wú)所適從。 第二,各出版社出版的C語(yǔ)言教材很多,但大部份是低水平上的重復(fù),各教材的抄襲痕跡明顯,無(wú)論是教材形式的編排還是教學(xué)內(nèi)容,大多雷同,內(nèi)容陳舊,書中錯(cuò)誤很多。例如,中國(guó)財(cái)政經(jīng)濟(jì)經(jīng)出版社出版的某教材中,依然使用非ANSI標(biāo)準(zhǔn)的C語(yǔ)言作為教學(xué)內(nèi)容。(注:ANSI C標(biāo)準(zhǔn)早在1983年即已制定)。而書中的錯(cuò)誤也很多,有一些可能是印刷錯(cuò)誤,如將枚舉類型當(dāng)成基本類型,有一些則明顯是編寫錯(cuò)誤,如將c=(double)2/3 等價(jià)于c=(double)(2/3) 。此外例題中有很多錯(cuò)誤,有些例子上機(jī)執(zhí)行根本得不到正確結(jié)果。有一些例子還犯了的常識(shí)性錯(cuò)誤,如‘野指針’問(wèn)題,這本來(lái)是初學(xué)C語(yǔ)言時(shí)常易犯的錯(cuò)誤,編程時(shí)如不注意會(huì)帶來(lái)死機(jī)等嚴(yán)重后果,教材本應(yīng)指出并提醒學(xué)生注意,但教材中的一些例子本身卻使用了‘野指針’,并且未對(duì)此作任何說(shuō)明,這樣的例子比錯(cuò)誤的例子更可惡,如教師不能注意到,教給學(xué)生將會(huì)給學(xué)生帶來(lái)嚴(yán)重的負(fù)面影響。 第三,不從C語(yǔ)言實(shí)際出發(fā),不用C語(yǔ)言的方法去教C語(yǔ)言,而是沿用BASIC語(yǔ)言的一套,或者說(shuō),很多C語(yǔ)言教材是BASIC語(yǔ)言教材的C語(yǔ)言化。事實(shí)上每一門學(xué)課都有自身的適用特點(diǎn)、場(chǎng)合,不能生搬硬套。由于BASIC語(yǔ)言是入門教學(xué),很多非計(jì)算機(jī)專業(yè)學(xué)生學(xué)完BASIC后不再學(xué)習(xí)其它計(jì)算機(jī)專業(yè)課程,所以BASIC的教學(xué)上不僅要教學(xué)生BASIC語(yǔ)言本身,而且還承擔(dān)著部份算法及數(shù)據(jù)結(jié)構(gòu)等學(xué)課的內(nèi)容,是一門綜合的學(xué)科,因此,BASIC教材中的例題、作業(yè)體現(xiàn)了這個(gè)特點(diǎn),有較多的數(shù)學(xué)問(wèn)題,如成績(jī)統(tǒng)計(jì)、九九乘法表、階乘、裴波拉齊數(shù)列等等。而目前很多C教材也沿用了這些例題或習(xí)題,用C語(yǔ)言改寫一番。筆者以為這是不合適的。學(xué)習(xí)C語(yǔ)言課程之前,學(xué)生已學(xué)過(guò)BASIC語(yǔ)言,如果沒(méi)有學(xué)過(guò),那么就應(yīng)當(dāng)學(xué)過(guò)數(shù)據(jù)結(jié)構(gòu)、算法等課程,這些問(wèn)題在前面的課程中已解決,用C語(yǔ)言再來(lái)解決一遍意義不大,C語(yǔ)言所長(zhǎng)并不這里,現(xiàn)實(shí)中恐怕也很少有人會(huì)用C語(yǔ)言去編寫這些程序,尤其是中等專業(yè)學(xué)校畢業(yè)的學(xué)生。C語(yǔ)言是一門實(shí)用性很強(qiáng)的學(xué)課,在教材編制中應(yīng)當(dāng)體現(xiàn)出以能力為本位和以實(shí)用為目標(biāo)的綜合性原則,即學(xué)生在掌握C語(yǔ)言的基本語(yǔ)法的基礎(chǔ)上,能夠編寫一些實(shí)用的小程序,或則在教師的指導(dǎo)下,參與一個(gè)大程序的部份子程序的編寫工作, 因而在內(nèi)容安排上應(yīng)當(dāng)多一些C語(yǔ)言編程可能遇到的現(xiàn)實(shí)問(wèn)題的例子,比如,在教while語(yǔ)句時(shí),例1的實(shí)際問(wèn)題就要比例2的數(shù)學(xué)問(wèn)題生動(dòng)得多。當(dāng)例1介紹后,還可以告訴學(xué)生,很多軟件中用ESC鍵退出,就可以用這種方法實(shí)現(xiàn),如果將本例子略作改寫,如增加一個(gè)退出函數(shù)QUIT(),就可以在退出時(shí)給出一些問(wèn)候語(yǔ)或版權(quán)信息等內(nèi)容。就如某某常見(jiàn)軟件一樣。這樣,可以提高學(xué)生學(xué)習(xí)的興趣,更重要的是可以減少學(xué)生的神密感,覺(jué)得編程其實(shí)并不是想象中那么高不可攀的。這一點(diǎn)很重要,筆者發(fā)覺(jué)很多學(xué)生對(duì)編程有一種恐懼感,而且很嚴(yán)重,覺(jué)得編程是深不可測(cè)的事,不是自已的能做到的,很多人害怕上語(yǔ)言課,就是成績(jī)較好的同學(xué)也只是想怎樣學(xué)好本門課程,多考分?jǐn)?shù),而不去(不敢)想怎么提高自已的編程能力,影響了他們主動(dòng)探索的精神;蛟S有人認(rèn)為學(xué)會(huì)了數(shù)學(xué)問(wèn)題,再解決實(shí)際問(wèn)題,不就是再多轉(zhuǎn)一個(gè)彎嗎?有什么困難?對(duì)于學(xué)通了的人來(lái)說(shuō),或許的確沒(méi)有什么因難的,但對(duì)于初學(xué)者,尤其對(duì)于中;蚵殬I(yè)學(xué)生而言,這個(gè)彎他們可能永遠(yuǎn)也轉(zhuǎn)不過(guò)來(lái),而且還會(huì)產(chǎn)生‘這東西學(xué)了有什么用?’的焦慮與困惑。 判斷鍵值,并根據(jù)鍵值做相應(yīng)動(dòng)作 main() { int i=0; char c; while(1) /*設(shè)置循環(huán)*/ { c='\0'; /*變量賦初值*/ while(c!=13&&c!=27) /*鍵盤接收字符直到按回車或Esc鍵*/ { c=getch(); printf("%c\n", c); } if(c==27) break; /*若按Esc鍵則退出*/ i++; printf("The No. is %d\n", i); } printf("The end"); } 例 1 計(jì)算40位同學(xué)的平均成績(jī)。 Main() { int score,I,sum; sum=0; I=1; While(I<=40) { printf("input the %dth score:",I); scanf("%d",&score); sum+=score; I++; } printf("\n The average of class is %3.1f"sum/40.0); } 例2 以上問(wèn)題,雖是以C語(yǔ)言教材為例來(lái)談,其實(shí)許多其它中等業(yè)學(xué)校教材存在著同樣的問(wèn)題,那么如何來(lái)解決這問(wèn)題呢?筆者認(rèn)為可以從以下幾個(gè)方面著手。 一、模仿高校教材建設(shè)模式,實(shí)行全國(guó)范圍公開(kāi)征稿。許多高校教材編寫在全國(guó)范圍內(nèi) 征稿,由各大專院校及社會(huì)各界能人投標(biāo),經(jīng)由專家組成的評(píng)審組審定后再編寫,這樣可以杜絕教材編寫中的功利主義及防止粗制濫造。 二、教師不能被現(xiàn)有教材所束縛,從目前情況來(lái)看,許多教材名不符實(shí),如果在教學(xué)中發(fā)現(xiàn)教材不能滿足要求,就應(yīng)當(dāng)毫不猶豫地讓教材‘降格’,降為‘參考教材’,教學(xué)中以講稿為主。甚至如果認(rèn)為教學(xué)大綱的部份內(nèi)容不合適,也可以不遵從這部份內(nèi)容。一切以讓學(xué)生真正學(xué)到知識(shí)和真正培養(yǎng)學(xué)生能力為準(zhǔn)。當(dāng)然,不遵從教學(xué)大綱應(yīng)當(dāng)慎重考慮,請(qǐng)教專家,并得到學(xué)校的同意。 三、學(xué)校應(yīng)當(dāng)放開(kāi)手腳,不要將教師完全束縛于大綱,鼓勵(lì)教師編寫講稿詳案,并盡量讓一位教師多次上本門課程,一份講稿在多次修改后、完善后,就成了一本書,且它各部份內(nèi)容的安排較為妥當(dāng),各部份的重點(diǎn)、難點(diǎn)都能較為突出,教法上也會(huì)有一定的體現(xiàn),這樣的教材,肯定好于那些東拼西湊、相互抄襲的書。在一定的時(shí)候,學(xué)?捎枰詫彾,校內(nèi)出版,如果確實(shí)好,還可以向有關(guān)出版社推薦。事實(shí)上許多高校的教材就是如此編寫出來(lái)的,使用效果較好。 參考資料: 1.《C語(yǔ)言大全》 [美]Herbert Schildt 著 郭興社 戴建鵬 編譯 電子工業(yè)出版社 2.《職教課程編制原則探索》雷正光 《職教通訊》97/6。 |