摘要:該文提出了一些高?!癈語(yǔ)言”實(shí)驗(yàn)課教學(xué)中存在的幾個(gè)問(wèn)題,然后結(jié)合筆者的教學(xué)實(shí)踐,探討了對(duì)應(yīng)的教學(xué)改革思路。首先要保證有充足的教學(xué)時(shí)間,指出很多高校具體教學(xué)中過(guò)分壓縮了實(shí)驗(yàn)教學(xué)在總學(xué)時(shí)數(shù)中所占比例,并按要求實(shí)驗(yàn)教師嚴(yán)格設(shè)置實(shí)驗(yàn)內(nèi)容,從而達(dá)到將那些枯燥的理論知識(shí)轉(zhuǎn)化為自己的思想,成為學(xué)生自己的職業(yè)技能。在課堂教學(xué)運(yùn)用“任務(wù)驅(qū)動(dòng)”教學(xué)機(jī)制。提出加強(qiáng)綜合實(shí)驗(yàn),思維培養(yǎng)和能力培養(yǎng)并重,達(dá)到提高學(xué)生的軟件開(kāi)發(fā)能力的最終目的。
關(guān)鍵詞:C語(yǔ)言;知識(shí)結(jié)構(gòu);任務(wù)驅(qū)動(dòng);思維能力;綜合實(shí)驗(yàn)
中圖分類號(hào):TP424文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2008)33-1424-02
On the C Language of Teaching Reform
WANG Jiang-tao
(Yangen University, Quanzhou 362014, China)
Abstract: This paper presents a number of colleges and universities \"C Language\" experimental teaching in a few issues, and the author of the teaching practice and teaching of the corresponding reform ideas. First of all to ensure that adequate teaching time, pointed out that many colleges and universities in over-specific teaching compressed experimental teaching in the total number of units in the proportion of teachers as required strict set of content to meet those boring theoretical knowledge into their own The idea of becoming students themselves vocational skills. In the classroom teaching use of \"mission-driven\" teaching mechanism. To strengthen the integrated test, training and capacity-building of thinking both to improve their work ability of the ultimate goal.
Key words: C Language Programming; the knowledge structure; mission-driven; thinking ability; experiment
1 引言
C語(yǔ)言因其豐富的功能、具有良好使用的靈活性,可移植性好,特別在嵌入式系統(tǒng)開(kāi)發(fā)方面,C語(yǔ)言體現(xiàn)了自身的優(yōu)勢(shì)。本人認(rèn)為將“C語(yǔ)言”作為計(jì)算機(jī)專業(yè)學(xué)生學(xué)習(xí)程序設(shè)計(jì)的人門(mén)課程,旨在讓學(xué)生掌握基本的程序設(shè)計(jì)方法,培養(yǎng)學(xué)生邏輯思維能力,最終達(dá)到他們能夠利用C語(yǔ)言來(lái)解決一些問(wèn)題。傳統(tǒng)教學(xué)過(guò)程中卻存在很多問(wèn)題,比如概念不能充分理解;知識(shí)結(jié)構(gòu)不完善;動(dòng)手能力差,寫(xiě)出的程序多數(shù)是從課本例題模仿而來(lái),代碼中無(wú)法體現(xiàn)個(gè)性化的思想,更別說(shuō)涉及到軟件開(kāi)發(fā);以上問(wèn)題是筆者從事幾年的C語(yǔ)言教學(xué)總結(jié)而來(lái),特別是結(jié)合自己在實(shí)驗(yàn)教學(xué)方面的實(shí)踐經(jīng)驗(yàn),提出了一些解決的方法和建議。
2 C語(yǔ)言實(shí)驗(yàn)教學(xué)中存在的幾個(gè)問(wèn)題
1) 對(duì)實(shí)驗(yàn)教學(xué)認(rèn)識(shí)有誤區(qū)。很多學(xué)校把實(shí)驗(yàn)課視為理論課的附屬,沒(méi)有將實(shí)驗(yàn)教學(xué)單獨(dú)開(kāi)課,沒(méi)有單獨(dú)配備相應(yīng)的硬件資源(實(shí)驗(yàn)室)和軟件資源(實(shí)驗(yàn)教師),甚至實(shí)驗(yàn)課的課時(shí)只有理論課課時(shí)的一半。C語(yǔ)言是一門(mén)應(yīng)用性非常強(qiáng)的課程,歸根到底要培養(yǎng)學(xué)生的綜合編程能力!試想,作為入門(mén)語(yǔ)言,編程語(yǔ)言對(duì)于學(xué)生來(lái)說(shuō)是陌生的,2課時(shí)的理論課,可以給學(xué)生講授3-4個(gè)比較重要的知識(shí)點(diǎn),而實(shí)驗(yàn)教學(xué)如果只配備1個(gè)學(xué)時(shí),單單是4個(gè)重要的知識(shí)點(diǎn)的驗(yàn)證恐怕時(shí)間都不夠,更別說(shuō)讓學(xué)生去設(shè)計(jì)實(shí)驗(yàn),來(lái)進(jìn)一步理解所學(xué)的知識(shí),能夠真正地將課本上的知識(shí)轉(zhuǎn)化為自己掌握的一種技能。
2) 實(shí)驗(yàn)教學(xué)的課堂內(nèi)容設(shè)置不合理,無(wú)法達(dá)到實(shí)驗(yàn)教學(xué)的真正目的。由于某些教師精力有限,沒(méi)有專門(mén)針對(duì)理論教學(xué)的進(jìn)度以及內(nèi)容,對(duì)實(shí)驗(yàn)課的內(nèi)容進(jìn)行認(rèn)真的設(shè)計(jì)和反復(fù)的修改。導(dǎo)致學(xué)生在實(shí)驗(yàn)課上試驗(yàn)內(nèi)容與理論課內(nèi)容錯(cuò)位,使得學(xué)生茫然不知所措,不能消化理論課的內(nèi)容,對(duì)實(shí)驗(yàn)課乃至整門(mén)課程失去信心和興趣。如果失去信心和興趣,就會(huì)對(duì)課程產(chǎn)生逆反心理,產(chǎn)生逆反心理后又直接影響到學(xué)習(xí)的興趣,造成惡性循環(huán)。
3) 綜合性實(shí)驗(yàn)(課程設(shè)計(jì))沒(méi)有開(kāi)展,或者說(shuō)效果不好。綜合性實(shí)驗(yàn)(課程設(shè)計(jì))是檢驗(yàn)課程開(kāi)設(shè)效果的最有力的手段,也是提高學(xué)生自身編程技能的一個(gè)非常好的契機(jī)。但是,如果實(shí)驗(yàn)課普通實(shí)驗(yàn)效果都不好,這樣的綜合性實(shí)驗(yàn)對(duì)于學(xué)生來(lái)說(shuō),簡(jiǎn)直是遙遠(yuǎn)的、不可觸及的。對(duì)于以后續(xù)專業(yè)課的進(jìn)一步學(xué)習(xí),埋下了隱患。
3 實(shí)驗(yàn)教學(xué)方教學(xué)方法的改革和探討
針對(duì)以上提出的實(shí)驗(yàn)課程教學(xué)中存在的問(wèn)題,我對(duì)C語(yǔ)言課程教學(xué)做了一些嘗試,應(yīng)該說(shuō)還是受到了比較明顯的效果。
1) 將實(shí)驗(yàn)教學(xué)做好定位,明確實(shí)驗(yàn)教學(xué)的任務(wù),將實(shí)驗(yàn)教學(xué)學(xué)時(shí)應(yīng)該是理論教學(xué)學(xué)時(shí)的1倍或者1.5倍。我們先看看實(shí)驗(yàn)教學(xué)的目的:一是讓學(xué)生掌握基本的程序設(shè)計(jì)算法,能夠編程實(shí)現(xiàn)我們課后練習(xí)的一些題目,當(dāng)然這是對(duì)學(xué)生的最基本要求,也是最低要求;二是,讓學(xué)生真正掌握C語(yǔ)言這樣的一個(gè)軟件開(kāi)發(fā)的工具,為學(xué)生以后走向工作崗位,奠定良好的基礎(chǔ)。因?yàn)閷?duì)于計(jì)算機(jī)專業(yè)的學(xué)生,通過(guò)課程設(shè)計(jì)或者綜合性實(shí)驗(yàn)?zāi)軌蛴肅語(yǔ)言開(kāi)發(fā)一個(gè)小的軟件(哪怕只有2個(gè)或者3個(gè)功能),對(duì)于他們來(lái)講,會(huì)有一種成就感,能夠給他們學(xué)習(xí)的信心和興趣,或許一名優(yōu)秀的軟件設(shè)計(jì)人員會(huì)因此而產(chǎn)生。
通過(guò)上面我們不難看出,實(shí)驗(yàn)教學(xué),不僅要引導(dǎo)同學(xué)更好理解理論課中的一些算法、語(yǔ)法、設(shè)計(jì)思想,更重要的是,通過(guò)實(shí)驗(yàn)課,我們將那些枯燥的理論轉(zhuǎn)化為自己的思想,成為自己編程的利器。由此可見(jiàn),增加實(shí)驗(yàn)教學(xué)的學(xué)時(shí)數(shù),是提高C語(yǔ)言教學(xué)效果的一個(gè)前提保障,沒(méi)有充足的學(xué)時(shí)數(shù),其他的改革措施無(wú)從談起。
2) 在具體教學(xué)過(guò)程中始終貫徹任務(wù)驅(qū)動(dòng)的教學(xué)機(jī)制(如圖1所示)。把整個(gè)學(xué)期的實(shí)驗(yàn)教學(xué)活動(dòng)看成完成綜合性實(shí)驗(yàn)的一個(gè)過(guò)程,學(xué)期期末有綜合性實(shí)驗(yàn)這樣的最終的任務(wù);對(duì)于每次課程,都有具體、明確的習(xí)題配套練習(xí),可以看成最終任務(wù)的分割。也就是,這門(mén)課程的目的就是讓學(xué)生在完成一個(gè)一個(gè)的任務(wù)中潛移默化地提高編程能力和技巧。做到這樣要求,教學(xué)任務(wù)明確了,學(xué)生的學(xué)習(xí)目標(biāo)自然也就明確了。任務(wù)驅(qū)動(dòng)的教學(xué)機(jī)制給實(shí)驗(yàn)教師提出了相對(duì)比較高的要求,因而教學(xué)任務(wù)的設(shè)置變成一項(xiàng)非常重要的工作。表現(xiàn)在:
① 實(shí)驗(yàn)教師要具有完整的C語(yǔ)言的知識(shí)結(jié)構(gòu)體系,把教學(xué)大綱中的重要知識(shí)點(diǎn)串起來(lái),再具體分配到每個(gè)具體的學(xué)時(shí)里,讓學(xué)生掌握。最后達(dá)到讓學(xué)生掌握和建立C語(yǔ)言的知識(shí)體系結(jié)構(gòu)。
② 實(shí)驗(yàn)教師要加強(qiáng)與理論教師之間的聯(lián)系。因?yàn)閷W(xué)生的學(xué)習(xí)進(jìn)度、基本概念、基本算法的思想都是在理論課上學(xué)習(xí)的,而實(shí)驗(yàn)課要鞏固他們的知識(shí),要實(shí)現(xiàn)算法的代碼設(shè)計(jì),要提高變成技巧,可以說(shuō)任務(wù)很繁重。如果實(shí)驗(yàn)教學(xué)在此環(huán)節(jié)上和理論教學(xué)聯(lián)系不能很緊密,會(huì)造成兩個(gè)本該相輔相成的教學(xué)環(huán)節(jié)脫節(jié),學(xué)生既沒(méi)有達(dá)到實(shí)驗(yàn)教學(xué)的目標(biāo),理論教學(xué)的內(nèi)容又得不到實(shí)踐,最后我們的教學(xué)效果就難以保障了。
3) 思維能力和編程能力培養(yǎng)并重,相輔相成。
① 為了培養(yǎng)學(xué)生的良好的思維方式,我們?cè)谑谡n過(guò)程中應(yīng)該始終貫穿結(jié)構(gòu)化程序設(shè)計(jì)思想和自頂向下、逐步求精的思維方式。在分析典型問(wèn)題時(shí),要從構(gòu)造算法出發(fā),著重探討分析問(wèn)題和設(shè)計(jì)算法的思維過(guò)程,加強(qiáng)學(xué)生思維方式的培養(yǎng)。以解決閏年問(wèn)題為例,這個(gè)問(wèn)題本身非常經(jīng)典,是一般C語(yǔ)言課程學(xué)習(xí)完控制結(jié)構(gòu)后一般都要聯(lián)習(xí)的題目,我在具體的教學(xué)過(guò)程中是這樣執(zhí)行的:

圖1 基于任務(wù)驅(qū)動(dòng)的教學(xué)機(jī)制

圖2 解閏年問(wèn)題的算法流程
首先畫(huà)出流程圖,流程圖是最能體現(xiàn)學(xué)生解決問(wèn)題思路的方式之一。
如果學(xué)生能夠畫(huà)出圖2這樣的流程圖,基本上說(shuō)明他已經(jīng)解決了閏年問(wèn)題。剩下的部分就是將流程圖的思路轉(zhuǎn)化為具體的TurboC的可執(zhí)行代碼。可以讓學(xué)生將流程圖先轉(zhuǎn)化成一條條的漢語(yǔ)語(yǔ)句。
S1:測(cè)試數(shù)據(jù)Y是否能被4整除;
S2:如果S1不成立,輸出“不是閏年”;
S3:如果S1成立,繼續(xù)判斷是否被100整除;
S4:如果S3不成立,則是閏年;
S5:如果S3成立,繼續(xù)判斷是否被400整除;
S6:S5成立,則輸出“不是閏年”;
S7:S5不成立,則輸出“是閏年”;
有了清晰的思路,學(xué)生建立了解題的方法,剩下的內(nèi)容就是根據(jù)C語(yǔ)言的語(yǔ)法規(guī)則將上述語(yǔ)句轉(zhuǎn)化為C的代碼即可。
② C語(yǔ)言教材中的課后習(xí)題非常豐富,許多題目的針對(duì)性也很強(qiáng),教師應(yīng)該對(duì)其進(jìn)行歸納、整理和分類。針對(duì)同一類問(wèn)題時(shí)不要逐題練習(xí),應(yīng)該在重點(diǎn)練習(xí)典型題目的基礎(chǔ)上,拓展學(xué)生思路,引導(dǎo)學(xué)生歸納和總結(jié)求解一類間
題的基本算法,達(dá)到舉一反三的效果。
4 結(jié)束語(yǔ)
針對(duì)“C語(yǔ)言”教學(xué)相關(guān)的若干問(wèn)題,我們提出了正確認(rèn)識(shí)實(shí)驗(yàn)教學(xué),擺正實(shí)驗(yàn)教學(xué)的位置。并將“任務(wù)驅(qū)動(dòng)”的教學(xué)法引人到實(shí)驗(yàn)教學(xué)的各個(gè)環(huán)節(jié)中。實(shí)踐證明這些教學(xué)方面的探索,在實(shí)驗(yàn)教學(xué)中取得了較好的教與學(xué)的雙向效果。幫助學(xué)生建立了完整的課程知識(shí)體系,激發(fā)了學(xué)生的學(xué)習(xí)積極性和主動(dòng)性,培養(yǎng)了他們的算法思維能力,提高了綜合編程能力,最終完全達(dá)到了預(yù)先的教學(xué)設(shè)想和效果。
參考文獻(xiàn):
[1] 譚浩強(qiáng).C程序設(shè)計(jì)[M].2版.北京:清華大學(xué)出版社,1999.
[2] 欒詠紅.C語(yǔ)言課程案例教學(xué)模式的探究與思索[J].內(nèi)江科技,2007(11):153.
[3] 方紅萍,陳和平.C語(yǔ)言課程改革與實(shí)踐[J].電氣電子教學(xué)學(xué)報(bào),2007(5):11-13.