張 升 孔令德
摘要:本文首先分析了“C程序設(shè)計(jì)”在計(jì)算機(jī)專業(yè)課程中的重要性以及學(xué)生在學(xué)習(xí)過(guò)程中經(jīng)常容易出現(xiàn)的一些問(wèn)題,接著仔細(xì)剖析了譚浩強(qiáng)教授著《C 程序設(shè)計(jì)》一書(shū)的寫(xiě)作特點(diǎn),以及這些寫(xiě)作特點(diǎn)在實(shí)際教學(xué)過(guò)程中對(duì)學(xué)生編程能力的培養(yǎng)所起到的良好作用。
關(guān)鍵詞:C程序設(shè)計(jì);教學(xué)內(nèi)容;教學(xué)過(guò)程
中圖分類號(hào):G642文獻(xiàn)標(biāo)識(shí)碼:B
1引言
目前,在大多數(shù)高校的計(jì)算機(jī)專業(yè)中,“C程序設(shè)計(jì)”作為學(xué)生入校后的第一門(mén)程序設(shè)計(jì)課程,對(duì)后續(xù)“數(shù)據(jù)結(jié)構(gòu)”、“面向?qū)ο蟪绦蛟O(shè)計(jì)”、“編譯原理”、“操作系統(tǒng)”等專業(yè)課程的學(xué)習(xí)有著非常重要的作用。但在實(shí)際的教學(xué)過(guò)程中,發(fā)現(xiàn)一些教材寫(xiě)得不夠通俗易懂,不適合初學(xué)者使用,許多學(xué)生學(xué)習(xí)中感到困難,甚至逐漸喪失學(xué)習(xí)熱情。這就要求教師在教學(xué)過(guò)程中要選用合適的教材,采用有效的教學(xué)方法,突出重點(diǎn),攻破難點(diǎn)提高教學(xué)質(zhì)量,在這方面譚浩強(qiáng)教授的著作《C程序設(shè)計(jì)》起到了引領(lǐng)的作用。
2學(xué)生學(xué)習(xí)中容易出現(xiàn)的問(wèn)題
2.1實(shí)踐鍛煉不足
“C程序設(shè)計(jì)”是一門(mén)實(shí)踐性很強(qiáng)的課程,最終目的是要在計(jì)算機(jī)上編寫(xiě)優(yōu)質(zhì)的程序,有些學(xué)生不能充分認(rèn)識(shí)到這點(diǎn),無(wú)法轉(zhuǎn)變舊的學(xué)習(xí)習(xí)慣,不注重上機(jī)實(shí)踐鍛煉,只是進(jìn)行課本上的理論學(xué)習(xí)和習(xí)題的作答,上機(jī)操作能力不足。
2.2專業(yè)術(shù)語(yǔ)接受較慢
由于學(xué)生都是第一次接觸程序設(shè)計(jì)語(yǔ)言,一開(kāi)始對(duì)課程中出現(xiàn)的許多名詞概念接受起來(lái)比較慢,理解不夠準(zhǔn)確、全面、透徹。
2.3算法基礎(chǔ)欠缺
程序設(shè)計(jì)中涉及到許多算法,大一學(xué)生缺少相關(guān)訓(xùn)練,學(xué)習(xí)起來(lái)感覺(jué)困難。
2.4思維方式難以轉(zhuǎn)變
程序設(shè)計(jì)是通過(guò)語(yǔ)句控制機(jī)器執(zhí)行,有些學(xué)生容易犯主觀錯(cuò)誤,認(rèn)為我是這么想的,計(jì)算機(jī)就應(yīng)該這么執(zhí)行,而沒(méi)有認(rèn)識(shí)到是在和機(jī)器打交道,要嚴(yán)格按照規(guī)定的語(yǔ)法來(lái)進(jìn)行。
3 《C程序設(shè)計(jì)》的寫(xiě)作特點(diǎn)
由譚浩強(qiáng)教授著、清華大學(xué)出版社出版的《C 程序設(shè)計(jì)》(第3版)是一本很好的科技著作,受到廣大師生的好評(píng)。筆者認(rèn)為該書(shū)有以下幾個(gè)特點(diǎn)值得贊賞。
3.1注重上機(jī)實(shí)踐
在C語(yǔ)言的教學(xué)過(guò)程中,上機(jī)實(shí)踐是非常重要的一個(gè)環(huán)節(jié),上機(jī)實(shí)踐情況直接決定著C語(yǔ)言的學(xué)習(xí)情況,只有學(xué)生熟悉上機(jī)操作環(huán)境,熟練上機(jī)操作過(guò)程,教師才能更好的開(kāi)展C語(yǔ)言教學(xué),學(xué)生也才能提高C語(yǔ)言程序設(shè)計(jì)的水平,達(dá)到能夠使用C語(yǔ)言編寫(xiě)程序的最終教學(xué)目的?!禖程序設(shè)計(jì)》一書(shū)中,在第1章第4節(jié)就以Turbo C++3.0集成環(huán)境為例,重點(diǎn)介紹C程序的上機(jī)運(yùn)行步驟和方法,能夠使學(xué)生對(duì)整個(gè)上機(jī)過(guò)程有一個(gè)總體認(rèn)識(shí),為以后的上機(jī)實(shí)踐打下堅(jiān)實(shí)基礎(chǔ)。另外,在該書(shū)的最后一章,第14章還介紹上機(jī)過(guò)程中常見(jiàn)的錯(cuò)誤和簡(jiǎn)單的調(diào)試方法,這對(duì)學(xué)生上機(jī)實(shí)踐也有很大的幫助。在學(xué)習(xí)程序設(shè)計(jì)進(jìn)行上機(jī)實(shí)踐時(shí),調(diào)試過(guò)程中難免會(huì)出現(xiàn)各種錯(cuò)誤,而對(duì)于大一學(xué)生來(lái)說(shuō),由于英語(yǔ)水平和調(diào)試經(jīng)驗(yàn)的不足,許多同學(xué)遇到錯(cuò)誤感覺(jué)無(wú)所適從,不知道從何下手,不知道怎么查找錯(cuò)誤。增加了常見(jiàn)錯(cuò)誤和程序調(diào)試這一章后,一方面可以避免學(xué)生在上機(jī)的過(guò)程中出現(xiàn)這些錯(cuò)誤,另一方面,當(dāng)在上機(jī)過(guò)程中出現(xiàn)錯(cuò)誤的時(shí)候,通過(guò)介紹的程序調(diào)試方法的介紹可以很容易發(fā)現(xiàn)錯(cuò)誤,改正錯(cuò)誤。
3.2使用通俗易懂的語(yǔ)言介紹專業(yè)術(shù)語(yǔ),通過(guò)形象的事例講解抽象概念
“C程序設(shè)計(jì)”教學(xué)過(guò)程中,涉及很多專業(yè)術(shù)語(yǔ)和抽象概念,如:算法、數(shù)據(jù)類型、函數(shù)、指針等,對(duì)于程序設(shè)計(jì)語(yǔ)言的初學(xué)者來(lái)說(shuō),這些術(shù)語(yǔ)和概念理解起來(lái)有些困難,《C程序設(shè)計(jì)》一書(shū)中使用通俗易懂的語(yǔ)言和形象的事例講解這些內(nèi)容,使初學(xué)者很容易就能夠理解。比如:該書(shū)在講解算法的概念時(shí),為了說(shuō)明什么是算法,舉了從北京到天津開(kāi)會(huì)一步一步要怎么做,從這個(gè)事例中就很容易理解算法就是解決問(wèn)題的步驟。在講解指針時(shí),為了說(shuō)明地址和內(nèi)容的概念舉了旅館中的房間號(hào)和房間中居住的旅客例子。在講解多維數(shù)組與指針時(shí),為了說(shuō)明二維數(shù)組的行地址和元素地址的概念,舉了軍訓(xùn)中排隊(duì)點(diǎn)名的例子,用班長(zhǎng)點(diǎn)名和排長(zhǎng)點(diǎn)名來(lái)形象的舉例講解,使學(xué)生很容易就理解了。該書(shū)中類似的例子還有很多,通過(guò)這些例子使抽象的概念變得形象,專業(yè)的術(shù)語(yǔ)變得通俗,更容易使學(xué)生理解接受,并激發(fā)學(xué)生的學(xué)習(xí)興趣。
3.3算法的講解條理清晰,表示規(guī)范
編寫(xiě)一個(gè)完整高效的C程序,不僅要掌握語(yǔ)言的語(yǔ)法,還要有相應(yīng)的算法基礎(chǔ)?!禖程序設(shè)計(jì)》一書(shū)中不僅對(duì)C語(yǔ)言的相關(guān)內(nèi)容進(jìn)行了通俗易懂的講解,并且對(duì)算法的講解也十分詳盡。書(shū)中第2章對(duì)算法的相關(guān)內(nèi)容進(jìn)行了系統(tǒng)的介紹,通過(guò)幾個(gè)典型的例子,從算法的概念、算法的特性、算法的各種表示方法進(jìn)行了講解,雖然在本章內(nèi)容之前,學(xué)生并沒(méi)有任何的語(yǔ)言基礎(chǔ),但是通過(guò)算法的講解可以讓學(xué)生了解到使用計(jì)算機(jī)語(yǔ)言解決問(wèn)題的過(guò)程,并且通過(guò)典型例子的提出,引起學(xué)生進(jìn)一步了解以后如何使用具體的C程序代碼解決它們的興趣;除此之外,本章還介紹了各種流程圖表示算法的方法,使用流程圖表示程序流程對(duì)初學(xué)者來(lái)說(shuō)有很大的幫助,可以使設(shè)計(jì)思路更加清晰,避免由不熟練而引起的混亂。筆者認(rèn)為算法部分內(nèi)容的講解是該書(shū)的一大特點(diǎn),許多C程序設(shè)計(jì)教材中都沒(méi)有相關(guān)內(nèi)容,而是在后面例題時(shí),直接給出流程圖。
3.4例題選擇淺顯典型,習(xí)題豐富鍛煉能力
《C程序設(shè)計(jì)》一書(shū)中,各個(gè)章節(jié)例題的選擇上注重問(wèn)題的連貫性和典型性。如第2章介紹算法時(shí),舉了求階乘、判斷閏年、判斷素?cái)?shù)等例子,并提出了解決這些問(wèn)題的算法,畫(huà)出了流程圖,在后續(xù)控制結(jié)構(gòu)相應(yīng)章節(jié)中這些例子又出現(xiàn),給出了具體的代碼。通過(guò)這些前后呼應(yīng)的例子,可以使學(xué)生們帶著問(wèn)題去學(xué)習(xí),提高了學(xué)生對(duì)內(nèi)容的關(guān)注度,并能夠使前后內(nèi)容貫穿起來(lái),產(chǎn)生由點(diǎn)及面的效果。另外,各個(gè)章節(jié)例題的選擇也比較有代表性,難度不大,但能很好表達(dá)當(dāng)前要講解的內(nèi)容。對(duì)于初學(xué)者來(lái)說(shuō),要鞏固所學(xué)知識(shí),提高編程水平,最好的辦法就是通過(guò)大量的練習(xí)來(lái)進(jìn)行,《C程序設(shè)計(jì)》一書(shū)每一章后面都提供了豐富的習(xí)題,這些習(xí)題相對(duì)于例題來(lái)說(shuō)難度有一定提高,設(shè)計(jì)的算法更廣泛,對(duì)學(xué)生在課后應(yīng)用所學(xué)知識(shí),挺高分析能力和編程能力有很大的幫助。
以上是筆者所總結(jié)的由清華大學(xué)出版社出版的譚浩強(qiáng)教授著作《C 程序設(shè)計(jì)》(第3版)一書(shū)中的特點(diǎn),現(xiàn)在獲悉該書(shū)發(fā)行超越千萬(wàn)冊(cè),真是名至實(shí)歸。
4結(jié)束語(yǔ)
教材是課程之本,選擇一個(gè)好的教材,對(duì)于課程建設(shè)是非常重要的。由清華大學(xué)出版社出版的譚浩強(qiáng)教授的著作《C 程序設(shè)計(jì)》(第3版)內(nèi)容豐富,編排合理,通俗易懂,特點(diǎn)鮮明,在實(shí)際教學(xué)過(guò)程中深受廣大師生的喜愛(ài),是一本難得的精品教材。它能夠針對(duì)初學(xué)者在內(nèi)容組織,文字表達(dá)上做相應(yīng)變化,非常適合首次學(xué)習(xí)程序設(shè)計(jì)語(yǔ)言時(shí)使用。教師在教學(xué)過(guò)程中使用該書(shū),結(jié)合具體情況,采用不同的教學(xué)方法、方式,能夠取得更好的教學(xué)效果。
參考文獻(xiàn):
[1] 譚浩強(qiáng). C程序設(shè)計(jì)[M]. 3版. 北京:清華大學(xué)出版社,2005.
[2] 譚浩強(qiáng). C++程序設(shè)計(jì)[M]. 北京:清華大學(xué)出版社,2004.