摘要:通過分析高職院校《C語言程序設計》課程學習的現狀,探索了一套提高該課程教學質量的教學方法。本文針對該課程教學方法的改革與研究,針對學生自身特點,幫助學生克服學習畏難心理,對此提出了強化基本算法,打好扎實基礎,從例題中提取精華,舉一反三,掌握一些有代表性的編程方法,構建“多樣式”的教學方法相結合,充分調動學生學習程序設計的自覺性和積極性,以提高《C語言程序設計》課程的教學質量。
關鍵詞:C語言程序設計;教學方法;教學質量
中圖分類號:G4
文獻標識碼:A
文章編號:1672-3198(2010)16-0246-01
0 引言
C語言程序設計作為一門基礎課程,是計算機專業學生的一門必修課程。該課程教學目標是使在掌握一種高級語言的基礎上,初步掌握程序設計的方法,訓練程序設計和邏輯思維的能力,培養學生學會分析問題和解決問題。但我們必須明確,《C語言程序設計》課程必然包含三方面的重要內容,即:一是高級語言知識;二是程序設計方法;三是具體的算法。這三方面的內容之間,即相有聯系又有區別,表現在:
(1)語言處于程序設計的最底層,是程序設計的工具語言和基礎,是掌握編程技術的關鍵。
(2)程序設計方法處于程序設計的中間環節,是在開發正確可靠軟件的前提下,縮短軟件開發周期,進而延長軟件使用壽命的重要手段。
(3)具體算法處于程序設計的最頂層,是分析和解決問題的規則,是程序設計的核心。當代著名計算機科學家D.E.Knuth定義:“一個算法,就是一個有窮規則的集合,其中之規則規定了一個解決某一特定類型的問題的運算序列”。即解決問題確定的方法和有限的步驟。
基于以上的認識,C語言程序設計課程要把語言知識作為一種技能來培養,把程序設計方法作為一個規則來遵循,把算法作為科學方法來傳授,這樣才能適應技術的發展,時代的需要。因此,我們要把算法貫穿于教學的始終,以啟發式方法引導學生,不同方面內容采用不同模式教學,培養學生程序設計和邏輯思維能力、分析和解決問題的基本能力以及自學能力。
1 加強語言內容的教學,打好扎實的基礎
大部分學生入學前沒有任何編程基礎,入學后掌握的計算機知識水平參差不齊,不敢用、不會用計算機的學生還是屢見不鮮。學習高級語言對于他們而言,免不了有畏難心理。其實計算機語言的學習,真正要記憶的知識并不多。針對C語言而言,有其特定的工具語言特點,只要是學好數據類型、標識符、運算符與表達式、順序、選擇、循環結構程序設計和基本算法結構,在此打下扎實的基礎,后面的學習就會容易許多。在實際教學中,我們可以通過講解例子,采用自問自答方式教學。
2 掌握規律,提高程序設計能力
所謂程序設計,就是用某類計算機語言對所要解決的問題中的數據及處理問題的方法和步驟所做的完整而準確的描述。但很多學生在學習程序設計時,有種畏難心理,這主要是因為他們在學習重點和學習方法上的偏差,只注重基礎知識而忽視邏輯思維,只掌握讀程序能力而忽視實際的編程能力。任何學科問題的解決都有其一定的方法,也有其特定的規律,就程序設計能力來說,其邏輯思維方法與數學邏輯思維方法有其很相似之處,但也有它獨特的地方。著名計算機科學家N.Niklaus Wirth教授對程序設計提出了著名公式:數據結構+算法,算法是程序設計的靈魂。這個公式說明了程序設計的主要任務。因此,在C語言程序設計教學過程中我們要堅持以程序設計為中心,掌握規律,可采取以下步驟引導學生在認識上逐步提高:
(1)分析問題,建立數學模型。使用計算機解決具體問題時,首先要對問題進行充分的分析,確定問題是什么,解決問題的步驟又是什么。針對所要解決的問題,打出已知的數據和條件,確定所需的輸入、處理及輸出對象,將解題過程歸建立起解決問題的數學模型。
(2)確定數據結構和算法。根據建立的數學模型,對指定的輸入數據和預期的輸出結果,確定存放數據的數據結構。針對所建立的數學模型和確定的數據結構,選擇合適的算法加以實現,以使學生逐步由形象思維過渡到抽象思維,同時在程序設計的實踐中進一步熟悉計算機語言知識。
(3)編制程序。根據確定的數據結構和算法,用自己所使用的C語言把這個解決方案嚴格地描述出來,即編寫出程序代碼,這階段主要采用抽象思維的教學方法。
(4)調試程序。在計算機上用實際的輸入數據對編好的程序進行調試,分析所得到的運行結果,進行程序的測試和調整,直至獲得預期的結果,使學生初具開發簡單實用系統的能力。
3 采用“多樣式”的教學方法相結合,充分調動學生學習程序設計的自覺性和積極性
(1)采用啟發式課堂教學,提高學生學習效率。
在教學過程中,教師應遵循啟發式教學原則,通過各種教學方式和手段激發學生的學習欲望,使其在學習活動中,積極思考,發現問題,提出問題,并逐步解決問題。例如,在講解程序設計舉例時,不是簡單地給出程序清單,而是從分析問題入手,繼而找出解決問題的方法,再給出算法,最后編寫出完整的程序,而在這一過程中,最關鍵的是每一步都采用與學生一起探討的方式,讓學生在啟發下思考,在思考中解決問題,從而掌握獨立分析問題、解決問題的方法。
(2)重視實踐教學,注重能力培養。
C語言程序設計課程的學習有其自身的特點,聽不會,也看不會,只能練會,所以在課程教學中必須強調程序設計訓練。學生只有通過大量的練習,才能真正掌握語言知識,培養程序設計能力,逐步理解和掌握程序設計的思想和方法,能利用計算機解決實際問題。通過大量反復的自測作業練習,使學生熟練掌握基本的語言知識,具備基本的編程能力。在此基礎上,通過完成一些難度稍大的作業,將語言知識和程序設計的內容串成兩條相互呼應的主線,加深對語言的全面理解和掌握,培養綜合應用語言能力,提高編程水平,
(3)采用網絡教學,培養學生的自學能力。
隨著計算機技術的迅速發展,網絡在我們的生活中起著舉足輕重的作用。當今社會是信息時代,網絡是我們實現信息傳遞,信息交換的最便捷工具,充分發揮網絡教學的優勢,教師可以將做好的課件放在網上,畢竟課時有限,課外輔導學生不多,學生必須學會自學和自我消化,對有疑難問題,可隨時從網上給予解答。另外還可將有代表性的實例和習題上傳網上,可以給學生課后提供更多的實踐機會,學生可以根據老師講課的進步,同步訓練,隨時消化和掌握老師的講課內容,充分調動學生的學習積極性。
(4)適當使用多媒體教學,提高教學效果。
直觀、形象、便捷的多媒體教學可以使學生在有限時間內迅速理解、掌握、獲取更多知識和信息。C語言不僅僅要教會學生語法知識,更要通過課程教學,培養學生抽象思維和邏輯推理能力,掌握程序設計的思想和方法。教學過程中,我們有選擇地使用多媒體教學,將C語言語法中非深奧理論和邏輯推理的內容(如數據類型、運算符、語句及部分語法規則),運用多媒體教學直觀、形象地講授給學生,加深其對問題的理解。這樣的多媒體教學,收到了將抽象問題形象化、枯燥問題生動化的效果。對于多媒體教學不易實施的程序設計方法的講解,我們采用傳統的教學方法,教會學生如何思考、推理,如何用語句實現算法,培養了學生的抽象思維、邏輯推理能力。這樣,將傳統的教學方法與多媒體教學相結合,大大提高了學生的綜合思維能力。
4 結語
要學好《C語言程序設計》課程,對學生而言,首先要克服畏難心理,在教學過程中,要使學生在學習中得到快樂,嘗試成功的喜悅,提高學習的積極性和學習動力是十分重要的。其次,課程的實踐性決定了學習方法,而不是死記硬背各種語法規則和語句格式,而是在解決實際問題的過程中掌握程序設計的方法并提高邏輯思維的能力。因此,教學方法在教學中起著重要的作用,不能脫離課程的教學內容和教學目標,不能脫離學生的知識水平,采用符合學生所能接受和理解的科學教學方法,必然會提高教學效率,取得事半功倍的效果。
參考文獻
[1]譚浩強.C程序設計[M].北京:清華大學出版社,2002,(6).
[2]張書云,姜淑菊.程序設計語言課程教學方法探析[J].計算機教育,2005,(5).
[3]沈軍.C程序設計語言課程的教學新思路[J].電氣電子教學學報,2000,(4).
[4]張敏霞,程序設計語言課程教學方法改革的探索與實踐[J].中國高教研究,2004,(2).
[5]滕剛.高職《程序設計語言》能力訓練的教學改革[J].職業教育研究,2009,(4).