C語言程序設(shè)計教學(xué)分析與探索論文
[摘要]C語言是高校計算機類專業(yè)開設(shè)的一門非常重要的專業(yè)課程,學(xué)校往往在教學(xué)上投入很多,卻收效甚微。學(xué)生普遍反映難學(xué)、難懂,理論與實踐脫節(jié),所以很難培養(yǎng)出滿足社會需求的計算機專業(yè)人才。本文從學(xué)校教學(xué)和學(xué)生學(xué)習(xí)兩個方面出發(fā),分析C語言教學(xué)過程中現(xiàn)存的問題,通過多年的教學(xué)經(jīng)驗,對教學(xué)方式和方法進行總結(jié),試圖探索出一種符合現(xiàn)代人才培養(yǎng)需求的教學(xué)模式。
[關(guān)鍵詞]C語言 程序設(shè)計 實踐教學(xué)
一、前言
上個世紀(jì)70年代以來,C語言在以其目標(biāo)代碼質(zhì)量高,使用靈活,數(shù)據(jù)類型豐富,可移植性好等特點而得到廣泛的普及和迅速發(fā)展,成為一種在系統(tǒng)軟件開發(fā)、科學(xué)計算、自動控制等各個領(lǐng)域廣泛應(yīng)用的程序設(shè)計語言。在眾多高級程序設(shè)計語言競顯風(fēng)流的當(dāng)今社會,C語言以其強大的功能仍在高級程序設(shè)計領(lǐng)域占據(jù)著重要的地位。
C語言作為計算機類專業(yè)的一門專業(yè)課,是學(xué)生學(xué)習(xí)程序設(shè)計的開端,學(xué)生分析問題、解決問題的能力和程序設(shè)計過程理念的形成都與C語言有著密切的聯(lián)系。C語言有著其它高級程序設(shè)計語言不可比擬的優(yōu)點,同時也有其較難學(xué)習(xí)的一面。由于現(xiàn)行教學(xué)過程中存在著一些弊端和學(xué)生自身因素的原因,所以在學(xué)習(xí)中普遍反映“難學(xué)”、“不懂“,這也是學(xué)生普遍遇到的問題。
二、現(xiàn)行教學(xué)和學(xué)習(xí)中存在的問題
1.現(xiàn)行教學(xué)中理論課與實踐課完全分離,不能相互促進。理論課中往往只注重對教材知識的分析和灌輸,在廣度上對知識沒有拓展和延伸,必定會影響對知識深度的剖析,也會造成學(xué)生理解的困難。而實踐課程通常被放到了次要的.地位,很多時候是在走形式:一方面,學(xué)生對知識一知半解、往往用上網(wǎng)來對付實踐課;另一方面,老師很難監(jiān)控到每個學(xué)生,了解他們是否都在認真編寫、調(diào)試程序。這就造成理論課沒有起到為實踐課打基礎(chǔ)的作用,實踐課也沒有起到鞏固、應(yīng)用理論課的作用。
2.學(xué)生對計算機基礎(chǔ)的學(xué)習(xí)不深入,嚴(yán)重影響了C語言的學(xué)習(xí)。因為C語言程序設(shè)計課程的延續(xù)性和拓展性非常的強,包含了算法、數(shù)據(jù)結(jié)構(gòu)、計算機基礎(chǔ)等相關(guān)專業(yè)課程和基礎(chǔ)課程的課程的知識。在C語言教學(xué)中涉及到進制轉(zhuǎn)換、取值范圍和順序存儲等基礎(chǔ)知識時,發(fā)現(xiàn)很多學(xué)生還沒掌握這些基礎(chǔ)知識,甚至根本不理解。在這樣薄弱的基礎(chǔ)上,C語言教學(xué)很難順利進行。
3.學(xué)生在學(xué)習(xí)中處于被動的接受知識的地位,沒有機會主動參與到學(xué)習(xí)中來,導(dǎo)致學(xué)習(xí)興趣不濃、學(xué)習(xí)停留在表面、對知識學(xué)的一知半解。由于接受的多是課本知識,所以動手能力差、應(yīng)用能力差,導(dǎo)致不能把自己所學(xué)的知識應(yīng)用到實踐中去。這樣培養(yǎng)出來的學(xué)生不能滿足社會的需要,也沒有達到教學(xué)的目的。
三、探索新的教學(xué)方法
在多年的教學(xué)過程中,嘗試多種教學(xué)方式,不斷總結(jié)教學(xué)經(jīng)驗,探索新的教學(xué)方法。
1.上好第一堂課,引起學(xué)生的學(xué)習(xí)興趣。第一堂課是最基礎(chǔ)的理論知識課,如介紹C語言的發(fā)展、特點、優(yōu)點等內(nèi)容,往往不被教師所重視,認為應(yīng)該把精力放到程序設(shè)計部分。其實恰恰相反,上好第一堂課至關(guān)重要,它關(guān)系著學(xué)生是否會對學(xué)習(xí)產(chǎn)生興趣,渴望進行后繼內(nèi)容的學(xué)習(xí)問題,所以絕對不能照本喧科。而對C語言的發(fā)展追本溯源,將C語言領(lǐng)域的開發(fā)投入、研發(fā)過程、遇到的問題進行詳細的分析,對C語言在現(xiàn)實中的應(yīng)用以及C++、VC++進行介紹,往往能夠引起學(xué)生學(xué)習(xí)C語言程序設(shè)計的興趣、推動后續(xù)知識的學(xué)習(xí)。
2.詳細講解基礎(chǔ)知識,深度剖析與后繼課程相關(guān)的內(nèi)容,激發(fā)學(xué)生學(xué)習(xí)動力。C語言程序設(shè)計教學(xué)中涉及的數(shù)據(jù)類型、取值范圍、運算符、優(yōu)先級、表達式等內(nèi)容雖是基礎(chǔ)知識,但對學(xué)生來說卻是邁入程序設(shè)計大門的第一步。沒有堅實的基礎(chǔ)知識,便無從談及程序設(shè)計,所以對基礎(chǔ)知識的講解一定要詳細。比如遇到整型數(shù)據(jù)的取值范圍問題時,可以適當(dāng)拓展一些原碼和反碼的知識,讓學(xué)生知其然,更知其所以然;鏈表知識是C語言的難點,這部分內(nèi)容和數(shù)據(jù)結(jié)構(gòu)聯(lián)系密切,所以要深度剖析,尤其是對帶表頭結(jié)點的單、雙鏈表更要講解的清晰、透徹,為數(shù)據(jù)結(jié)構(gòu)、JAVA語言等后繼課程打下堅實基礎(chǔ)。這樣繼往開來,不僅可以鞏固以前的計算機基礎(chǔ)知識,更能激發(fā)學(xué)生的學(xué)習(xí)動力。 3.重點分析程序設(shè)計過程,培養(yǎng)學(xué)生良好的編程習(xí)慣,逐步提高學(xué)生編程能力。很多學(xué)生認為,進行程序設(shè)計就是用計算機語言編寫源代碼,這其實是學(xué)習(xí)程序設(shè)計的一個誤區(qū),編寫源代碼僅僅是完成了程序的編碼,而程序設(shè)計從問題分析就開始了,它包括分析問題、選擇算法、繪制流程圖、編寫源代碼、調(diào)試并測試程序,直到取得正確結(jié)果這樣一個完整的過程。其中繪制流程圖能使程序員在編程時思路清晰,減少編程錯誤。利用流程圖來分析、查找、解決程序設(shè)計中的問題能夠一目了然。例如:下面這一簡單的while循環(huán)結(jié)構(gòu),用流程圖便可以輕易發(fā)現(xiàn)錯誤所在。圖1是錯誤代碼的流程圖,它使程序陷入了死循環(huán),圖2是正確的流程圖。所以繪制正確的流程圖,是減少代碼錯誤的有效手段。
Main(0
{int i,sum;
i=sum=0;
While(i<=100)
Sum+=i;
i++;
Printf(“1+2+3+…+100=%d’,sum);
}
在C語言程序設(shè)計教學(xué)過程中,即使對簡單的程序設(shè)計的講解也嚴(yán)格的按照程序設(shè)計的過程一步步的進行分析和引導(dǎo),培養(yǎng)學(xué)生良好的編程習(xí)慣。
4.通過實踐教學(xué),讓學(xué)生親自體會程序設(shè)計全過程,鞏固所學(xué)知識。學(xué)生通常在C語言的學(xué)習(xí)上投入了很多的精力與時間,但卻離實際要求相差很遠。因為缺乏了實踐經(jīng)驗和能力,不能滿足社會的需求,這也是計算機類學(xué)生的通病。為此,在教學(xué)中一定要注重理論與實踐相結(jié)合。案例實驗可以說是學(xué)習(xí)C程序設(shè)計最有效的方法之一,在教學(xué)過程中我們故意將賦值符號“=”和等號“= =”互換、漏寫分號“;”和大括號“{}“,設(shè)置一些待解決的錯誤,引導(dǎo)學(xué)生在編程和調(diào)試過程中逐一解決這些問題,不僅能夠鞏固理論知識、養(yǎng)成編程的好習(xí)慣,更能調(diào)動學(xué)生思考問題和解決問題的積極性。同時在解決問題的過程中使學(xué)生有一種成就感,這對學(xué)習(xí)能力的提高和積極性的培養(yǎng)有很好的作用。
5.多種教學(xué)手段相結(jié)合,提高教學(xué)效果。理論教學(xué)與實踐教學(xué)相結(jié)合,適當(dāng)減少理論課、增加實踐課,將理論教學(xué)融入實踐教學(xué)中來,逐漸模糊兩者之間的界限;傳統(tǒng)教學(xué)與豐富多彩的多媒體教學(xué)相結(jié)合、教師講解與學(xué)生課堂討論相結(jié)合,以便調(diào)動學(xué)習(xí)的主動性和積極性。
6.注重對知識的歸納和總結(jié),讓學(xué)生溫故而知新。在教學(xué)過程中,按章節(jié)、按階段對相關(guān)重點知識進行歸納總結(jié),讓學(xué)生把模塊化的知識連接起來,系統(tǒng)、全面的掌握所學(xué)內(nèi)容。
四、結(jié)束語
目前C語言程序設(shè)計教學(xué)中仍然有很多需要改進的地方,如何提高實踐教學(xué)質(zhì)量,使理論與實踐相結(jié)合,仍需要在教學(xué)過程中不斷的探索和改革。
參考文獻:
[1]楊路明等.C/C++程序設(shè)計教程.長沙:湖南科學(xué)技術(shù)出版社, 2003.
[2]譚浩強. C語言程序設(shè)計教程.北京:高等教育出版社,1997.
[3]王士元. C高級實用程序設(shè)計.北京:清華大學(xué)出版社,1996.
[4]徐孝凱.數(shù)據(jù)結(jié)構(gòu)實用教程(C/C++描述).北京:清華大學(xué)出版社,1999.
【C語言程序設(shè)計教學(xué)分析與探索論文】相關(guān)文章:
微課在C語言程序設(shè)計教學(xué)中的應(yīng)用論文10-15
《C語言程序設(shè)計》說課稿01-15
《C語言程序設(shè)計》說課稿12-09
C語言程序設(shè)計課件和教學(xué)網(wǎng)站設(shè)計論文08-09
大學(xué)工科C語言程序設(shè)計教學(xué)概述論文09-02