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