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