張吉玲
摘要:《C語(yǔ)言程序設(shè)計(jì)》是高校計(jì)算機(jī)專業(yè)的一門(mén)基礎(chǔ)課程。這門(mén)課程的教學(xué)目的在于讓學(xué)生掌握C語(yǔ)言,并且能應(yīng)用所學(xué)的相關(guān)知識(shí)編寫(xiě)程序,成為學(xué)生今后學(xué)習(xí)其他專業(yè)課程的基礎(chǔ)工具。該文就教學(xué)中存在的問(wèn)題進(jìn)行了分析,并對(duì)教學(xué)方法提出了幾點(diǎn)建議。
關(guān)鍵詞:C語(yǔ)言程序設(shè)計(jì);教學(xué)方法;任務(wù)驅(qū)動(dòng);案例驅(qū)動(dòng)
中圖分類號(hào):G424文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2012)30-7300-02
C語(yǔ)言是一種面向過(guò)程的計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,它是目前眾多計(jì)算機(jī)語(yǔ)言中舉世公認(rèn)的優(yōu)秀的結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言之一。C語(yǔ)言既適合于編寫(xiě)系統(tǒng)軟件,也適合于編寫(xiě)應(yīng)用程序。它把高級(jí)語(yǔ)言面向過(guò)程和低級(jí)語(yǔ)言與硬件關(guān)系密切的優(yōu)點(diǎn)有機(jī)地結(jié)合起來(lái),因此,它具有許多顯著特點(diǎn)。如:語(yǔ)言簡(jiǎn)練、使用方便靈活;運(yùn)算符豐富;數(shù)據(jù)類型豐富;允許直接訪問(wèn)物理地址,能進(jìn)行位運(yùn)算,能實(shí)現(xiàn)匯編語(yǔ)言的大部分功能,可以直接對(duì)硬件進(jìn)行操作,這是其他高級(jí)語(yǔ)言所不可比擬的。在教學(xué)過(guò)程中發(fā)現(xiàn)對(duì)于大學(xué)一年級(jí)學(xué)生而言,第一次接觸C語(yǔ)言,對(duì)其中的一些知識(shí)點(diǎn)很難以理解。如:運(yùn)算符中的自增、自減運(yùn)算符;程序設(shè)計(jì)基本結(jié)構(gòu)中的選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)的執(zhí)行過(guò)程;數(shù)組的應(yīng)用以及指針的應(yīng)用等問(wèn)題都是讓很多學(xué)生難以掌握的問(wèn)題,從而失去了學(xué)習(xí)這門(mén)課程的興趣。為了讓學(xué)生能更容易接受這門(mén)課,教師必須改善教學(xué)方法,以提高學(xué)生的學(xué)習(xí)興趣,達(dá)到學(xué)以致用的目的。
1 《C語(yǔ)言程序設(shè)計(jì)》教學(xué)現(xiàn)狀與存在問(wèn)題
1.1 學(xué)生的學(xué)習(xí)方法不科學(xué)
對(duì)于大部分學(xué)生而言,這門(mén)課的學(xué)習(xí)方法存在很大問(wèn)題。首先是學(xué)生自制力差,課前不預(yù)習(xí)本節(jié)課的知識(shí);其次,在課堂上,學(xué)生只是一味的聽(tīng)老師講解,沒(méi)有養(yǎng)成記筆記的習(xí)慣,即使有同學(xué)記筆記,也是機(jī)械性記錄講授內(nèi)容,沒(méi)有從根本上理解具體內(nèi)容;再次,課后不復(fù)習(xí)課堂上學(xué)到的相關(guān)知識(shí)。這樣就造成對(duì)C語(yǔ)言基本知識(shí)不理解,C語(yǔ)言課程難學(xué)的局面。
1.2 教學(xué)方法存在問(wèn)題
在整個(gè)教學(xué)活動(dòng)中,教師處于中心位置,學(xué)生的主體性被忽略,在學(xué)習(xí)過(guò)程中被動(dòng)的接受知識(shí),所以經(jīng)常出現(xiàn)“學(xué)完忘完”的現(xiàn)象。由于沒(méi)有從根本上理解講授內(nèi)容,難以跟上教師的教學(xué)節(jié)奏,長(zhǎng)此以往,難以發(fā)揮學(xué)習(xí)的積極性和主動(dòng)性,降低了學(xué)習(xí)的興趣。
2 教學(xué)方法的改進(jìn)與研究
2.1 課堂互動(dòng)
傳統(tǒng)的教學(xué)主要以教師的講授為主,學(xué)生只是被動(dòng)的接受,這樣導(dǎo)致部分學(xué)生注意力不集中,不能主動(dòng)的分析問(wèn)題,解決問(wèn)題。因此,在授課的同時(shí),要通過(guò)提問(wèn)-回答的方式集中學(xué)生的注意力,活躍課堂氣氛。隨著對(duì)學(xué)生情況的了解,讓基礎(chǔ)弱的學(xué)生上臺(tái)互動(dòng),可以提高這部分學(xué)生的學(xué)習(xí)主動(dòng)性。
2.2 使用典型案例,激發(fā)學(xué)生的學(xué)習(xí)興趣
俄國(guó)文學(xué)家托爾斯泰說(shuō)過(guò):“成功的教學(xué)所需的不是強(qiáng)制,而是激發(fā)學(xué)生的學(xué)習(xí)興趣?!奔ぐl(fā)學(xué)生的學(xué)習(xí)興趣,調(diào)動(dòng)學(xué)生的學(xué)習(xí)積極性是C語(yǔ)言教學(xué)過(guò)程中不可缺少的重要環(huán)節(jié)。因此,在講授過(guò)程中要列舉出生活中碰到的典型問(wèn)題,引導(dǎo)學(xué)生用C語(yǔ)言知識(shí)解決問(wèn)題,可以激發(fā)學(xué)生學(xué)習(xí)C語(yǔ)言的興趣。例如:在講授選擇結(jié)構(gòu)時(shí),可以列舉十字路口方向選擇的例子;在講授循環(huán)結(jié)構(gòu)時(shí),可以列舉學(xué)生一學(xué)期課表的例子。這些問(wèn)題都是發(fā)生在學(xué)生身邊的問(wèn)題,如何利用所學(xué)知識(shí)解決問(wèn)題是教師在課堂上講授的重中之重。通過(guò)對(duì)這些問(wèn)題的分析講解,學(xué)生更容易將學(xué)到的知識(shí)加以運(yùn)用。另一方面,為了激發(fā)學(xué)生的興趣,可以穿插一些游戲的程序設(shè)計(jì),如貪吃蛇等,這樣學(xué)生在學(xué)習(xí)知識(shí)的同時(shí),還可以享受知識(shí)帶來(lái)的樂(lè)趣。
2.3 算法為主,淡化語(yǔ)法
C語(yǔ)言是面向過(guò)程的程序設(shè)計(jì)語(yǔ)言,程序設(shè)計(jì)主要包含兩重任務(wù),首先是把要用計(jì)算機(jī)處理的實(shí)際問(wèn)題抽象為數(shù)學(xué)模型,設(shè)計(jì)出解題步驟即算法,然后對(duì)所設(shè)計(jì)的算法進(jìn)行編碼,這就是編程,即所謂實(shí)現(xiàn)算法。由此可見(jiàn),學(xué)習(xí)C語(yǔ)言的重點(diǎn),就是掌握分析、分解、最終整理出算法的方法。與之相對(duì)應(yīng),C語(yǔ)言的語(yǔ)法是工具,是算法的一個(gè)具體實(shí)現(xiàn)。因此,在C語(yǔ)言的學(xué)習(xí)中,一方面要熟練掌握基本的語(yǔ)法,因?yàn)樗撬惴▽?shí)現(xiàn)的基礎(chǔ),另一方面必須認(rèn)識(shí)到算法的重要性,學(xué)好這門(mén)課的最佳途徑是編寫(xiě)程序,只有自己動(dòng)手不斷的編寫(xiě)程序,調(diào)試程序,才能提高編程水平,進(jìn)而才能學(xué)好這門(mén)課程。
2.4 培養(yǎng)良好的閱讀和分析程序的能力
閱讀和分析程序的過(guò)程也是為程序設(shè)計(jì)奠定基礎(chǔ)的過(guò)程。在分析程序結(jié)果的過(guò)程中,不但可以掌握整個(gè)程序的執(zhí)行流程,更能分析出具體結(jié)構(gòu)的組成、語(yǔ)法及實(shí)現(xiàn)的功能,如:程序中的選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu),在分析的基礎(chǔ)上,學(xué)生更容易掌握它們的結(jié)構(gòu)組成和執(zhí)行過(guò)程,可以為以后的編程中獨(dú)立使用這些結(jié)構(gòu)奠定基礎(chǔ)。教師在講授中也應(yīng)該有意識(shí)的向?qū)W生滲透程序設(shè)計(jì)的思想和方法,引導(dǎo)學(xué)生從分析程序開(kāi)始,逐步過(guò)渡到獨(dú)立進(jìn)行程序編寫(xiě)。
2.5 采用“任務(wù)驅(qū)動(dòng)”和“案例驅(qū)動(dòng)”相結(jié)合的教學(xué)方法
任務(wù)驅(qū)動(dòng)教學(xué)方法是以建構(gòu)主意的認(rèn)知靈活性理論為基礎(chǔ)的一種教學(xué)方法,將教學(xué)內(nèi)容設(shè)計(jì)成學(xué)生感興趣的具體任務(wù),整個(gè)教學(xué)過(guò)程中,以完成任務(wù)為主旨,把相應(yīng)的語(yǔ)法和知識(shí)點(diǎn)貫穿在整個(gè)任務(wù)中,讓學(xué)生自己提出問(wèn)題,借助教師的引導(dǎo),自己解決問(wèn)題。如:在講授循環(huán)結(jié)構(gòu)時(shí),先把循環(huán)結(jié)構(gòu)的三種形式涉及到的相關(guān)知識(shí)簡(jiǎn)單講授,然后讓學(xué)生完成任務(wù):采用while循環(huán)、do-while循環(huán)和for循環(huán)分別來(lái)完成求1~10這10個(gè)整數(shù)的和。在整個(gè)過(guò)程中,學(xué)生不僅會(huì)學(xué)到三種循環(huán)結(jié)構(gòu)的使用方法,還能通過(guò)具體任務(wù)了解到while循環(huán)、do-while循環(huán)在初始條件不滿足的情況下,二者的循環(huán)過(guò)程的差別。通過(guò)任務(wù)驅(qū)動(dòng)教學(xué)法,不僅激發(fā)了學(xué)生的求知欲,也培養(yǎng)了學(xué)生的自學(xué)能力。
案例驅(qū)動(dòng)教學(xué)法是一種在教師的指導(dǎo)下,先通過(guò)對(duì)典型案例的分析,組織學(xué)生進(jìn)行學(xué)習(xí)、探索與研討,得到解決問(wèn)題的方法。
這兩種方法的結(jié)合,不但讓學(xué)生更扎實(shí)地掌握基本的知識(shí)點(diǎn),還能使學(xué)生舉一反三,進(jìn)一步了解和掌握相同案例的解決方法和思路,從而完成學(xué)習(xí)過(guò)程的方法。
2.6 針對(duì)不同水平的學(xué)生分層次教學(xué)
由于目前各大高校面向全國(guó)招生,不同區(qū)域的經(jīng)濟(jì)發(fā)展水平存在一定的差異,導(dǎo)致教學(xué)設(shè)施和教學(xué)方法也不盡相同,因此學(xué)生的生源質(zhì)量也有很大的差異。這個(gè)問(wèn)題是教學(xué)過(guò)程中必須面對(duì)的一個(gè)難點(diǎn)。解決這個(gè)問(wèn)題,個(gè)人感覺(jué)可以從以下兩點(diǎn)入手:
1)互幫互交。讓基礎(chǔ)比較好的學(xué)生來(lái)幫助基礎(chǔ)弱的學(xué)生。教師要對(duì)幫教者進(jìn)行一定的鼓勵(lì),充分調(diào)動(dòng)幫教者的積極性。同時(shí)也要督促受幫助者虛心學(xué)習(xí),力求上進(jìn)。這樣不但可以提高雙方的學(xué)習(xí)水平,還可以增強(qiáng)同學(xué)間的友誼。
2)教師要根據(jù)課堂氣氛、學(xué)生反映能力,適當(dāng)調(diào)整教學(xué)進(jìn)度。對(duì)于一些難以理解的問(wèn)題,要放慢速度,精細(xì)講解。對(duì)于某些知識(shí)點(diǎn),可以先跳過(guò),以后再講,不一定按照教材章節(jié)順序講解。對(duì)于教材里涉及到的一些比較深?yuàn)W的程序示例以及一些在實(shí)際編程中很少用到的語(yǔ)法語(yǔ)句,可以少講或不講。這樣可以減輕學(xué)生學(xué)習(xí)的難度,激發(fā)學(xué)生的學(xué)習(xí)興趣。
2.7 理論與實(shí)踐相結(jié)合
《C語(yǔ)言程序設(shè)計(jì)》這門(mén)課是實(shí)踐性比較強(qiáng)的基礎(chǔ)性課程。學(xué)習(xí)這門(mén)課,不僅是對(duì)語(yǔ)法知識(shí)的掌握,更重要的是要學(xué)以致用,利用所學(xué)到的知識(shí)編寫(xiě)程序解決實(shí)際問(wèn)題。因此,學(xué)生在學(xué)習(xí)的過(guò)程中,要合理安排上機(jī)時(shí)間。在上機(jī)的過(guò)程中,首先要熟悉C語(yǔ)言的編譯環(huán)境,如:Turboc 2.0或者Visual C++ 6.0等,掌握程序的編寫(xiě)、調(diào)試、運(yùn)行的具體操作和命令。其次對(duì)于同一個(gè)問(wèn)題,要讓學(xué)生練習(xí)使用多種不同的編程方法來(lái)解決,并且能夠成功運(yùn)行,在編程過(guò)程中,對(duì)于出現(xiàn)的問(wèn)題,教師盡量給予提示,啟發(fā)學(xué)生自己思考解決問(wèn)題。這樣不但能培養(yǎng)學(xué)生的動(dòng)手能力,還能培養(yǎng)學(xué)生獨(dú)立思考的能力,把理論課上學(xué)到的知識(shí)成功應(yīng)用于實(shí)踐,提高學(xué)習(xí)的質(zhì)量和效率。
3 結(jié)束語(yǔ)
《C語(yǔ)言程序設(shè)計(jì)》這門(mén)課的教學(xué)涉及到多方面的因素,需要教師在教學(xué)的過(guò)程中不斷探索新的教學(xué)方法。只有選擇合適的教學(xué)方法,才能激發(fā)學(xué)生的學(xué)習(xí)興趣,使學(xué)生不但掌握編程語(yǔ)言的基本理論知識(shí)、編程技術(shù)和基本算法的實(shí)現(xiàn),更重要的是讓學(xué)生掌握程序設(shè)計(jì)的思想和方法,具備利用計(jì)算機(jī)來(lái)求解實(shí)際問(wèn)題的能力,為以后學(xué)習(xí)更專業(yè)的程序設(shè)計(jì)語(yǔ)言奠定基礎(chǔ)。
參考文獻(xiàn):
[1] 譚浩強(qiáng).C程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2000.
[2] 曲俊華,林碧英.計(jì)算機(jī)基礎(chǔ)與程序設(shè)計(jì)[M]. 北京:中國(guó)電力出版社,2000.
[3] 馬骕.關(guān)于我校非計(jì)算機(jī)專業(yè)C語(yǔ)言教學(xué)改革的探討[J].科技向?qū)В?011(3).
[4] 趙阿可,劉世江.《C語(yǔ)言程序設(shè)計(jì)》教學(xué)方法的探討[J].價(jià)值工程,2011(16).
[5] 康振.關(guān)于C語(yǔ)言程序設(shè)計(jì)教學(xué)方法的探討[J].遼寧教育行政學(xué)院學(xué)報(bào),2010(2).