李 麗 新
(吉林建筑大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,長春 130118)
高校非計(jì)算機(jī)專業(yè)C語言教學(xué)改革的探討
李 麗 新
(吉林建筑大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,長春 130118)
筆者根據(jù)從事多年非計(jì)算機(jī)專業(yè)C語言教學(xué)的經(jīng)驗(yàn),針對在教學(xué)中發(fā)現(xiàn)的一些問題,例如學(xué)生缺乏學(xué)習(xí)興趣、不夠重視實(shí)踐教學(xué)及教學(xué)方式方法不當(dāng)?shù)确矫?提出一些改進(jìn)的建議,以便能更好地提高C語言程序設(shè)計(jì)課程的教學(xué)質(zhì)量和效果.
C語言;非計(jì)算機(jī)業(yè)專業(yè);實(shí)踐環(huán)節(jié)
C語言程序設(shè)計(jì)課程是大部分非計(jì)算機(jī)專業(yè)本科生都開設(shè)的一門計(jì)算機(jī)基礎(chǔ)系列課程,屬于公共基礎(chǔ)課.這門課程主要讓學(xué)生較全面地理解和掌握高級語言程序設(shè)計(jì)的基本概念和方法,具備運(yùn)用C語言進(jìn)行基本的結(jié)構(gòu)化程序設(shè)計(jì)的能力.對于初學(xué)者來說,C語言不易被掌握,因其功能強(qiáng)大且復(fù)雜,結(jié)構(gòu)靈活多變.通過本課程的學(xué)習(xí),培養(yǎng)學(xué)生利用計(jì)算機(jī)處理問題的邏輯思維方式,啟發(fā)學(xué)生將計(jì)算機(jī)引入到其他專業(yè)課中,為今后在更廣泛的專業(yè)領(lǐng)域中應(yīng)用計(jì)算機(jī)奠定基礎(chǔ).其次,通過學(xué)習(xí)這門課程后考取國家計(jì)算機(jī)二級證書,為將來找工作創(chuàng)造有利條件.
1.1 學(xué)生的學(xué)習(xí)積極性不高
導(dǎo)致學(xué)生學(xué)習(xí)C語言積極性不高的原因有兩個方面:① 學(xué)習(xí)目的不明確.對于非計(jì)算機(jī)專業(yè)的學(xué)生來說,他們對C語言很陌生,認(rèn)為這門課程與所學(xué)的專業(yè)毫無聯(lián)系,學(xué)好專業(yè)課才是最重要的,而C語言學(xué)了將來工作中也沒有什么用;有的學(xué)生甚至?xí)J(rèn)為這門課程沒有開設(shè)的必要,從而失去了學(xué)習(xí)的動力和興趣.而對于在中學(xué)接觸過編程語言的部分學(xué)生也會認(rèn)為C語言是過時的語言,應(yīng)該學(xué)一些當(dāng)前主流的面向?qū)ο蟮恼Z言,例如C++,JAVA等;② 教學(xué)方法不恰當(dāng).C語言是一門知識點(diǎn)比較零散的語言,按照我們通常的教學(xué)方法一般先講解一些概念及術(shù)語,比如數(shù)據(jù)類型、運(yùn)算符等等,這些內(nèi)容對于沒有計(jì)算機(jī)編程基礎(chǔ)知識的初學(xué)者來說比較難懂,然后又介紹算法、程序的基本結(jié)構(gòu)、流程圖等一系列比較抽象的概念,最后介紹了函數(shù)、數(shù)組、編譯預(yù)處理、指針及位運(yùn)算等.這是一種很正常的講解順序,從基礎(chǔ)知識到綜合應(yīng)用,從易到難,整體來看這樣安排是比較合理的,但對于非計(jì)算機(jī)專業(yè)的學(xué)生來講,由于計(jì)算機(jī)專業(yè)知識比較薄弱,他們一接觸到這些抽象的概念、語法,就會感到難以理解,枯燥乏味,很容易就產(chǎn)生畏難情緒,幾堂課下來就覺得已經(jīng)聽不懂課了,學(xué)生學(xué)習(xí)這門課的積極性也就被影響,直到最后出現(xiàn)對這門課程厭學(xué)的情緒[1].
1.2 學(xué)生對實(shí)踐環(huán)節(jié)重視不夠
C語言程序設(shè)計(jì)是一門理論加實(shí)踐的課程,從學(xué)時的分配上我們可以看出,實(shí)踐課占總學(xué)時的二分之一,顯然實(shí)踐環(huán)節(jié)在課程中占的比重很大,但目前實(shí)踐課存在很多問題,上課效果不是很理想.例如學(xué)生上機(jī)前不做任何準(zhǔn)備,不知道上機(jī)實(shí)驗(yàn)?zāi)康暮蛢?nèi)容,導(dǎo)致上機(jī)后不知道要干什么,經(jīng)常出現(xiàn)相互抄襲程序的現(xiàn)象,不理解所編寫的程序,不會獨(dú)立調(diào)試,遇到問題立即求助老師和同學(xué),不能獨(dú)立思考,最終導(dǎo)致有的學(xué)生一學(xué)期結(jié)束后還不會完整地編輯、編譯、執(zhí)行一個程序.
1.3 課程考核體系不足
衡量一個學(xué)生的學(xué)習(xí)效果和質(zhì)量還是通過課程結(jié)業(yè)考試來體現(xiàn).因此,考試是教學(xué)過程的最后一個重要環(huán)節(jié).在一般高等院校里,C語言的考試總成績評定比例:理論考試占70%,平時成績占30%,缺少一個統(tǒng)一的上機(jī)編程考試,通常都是任課老師自行安排一些隨堂小考,然后將成績涵蓋在平時的30%里面.但像C語言這樣的課,理論考試的分?jǐn)?shù)高低并不能很好地反應(yīng)學(xué)生實(shí)際學(xué)習(xí)水平,有的學(xué)生平時用功不夠,單純地一味牢記復(fù)習(xí)題,根本就不具備動手編程能力,甚至連怎么進(jìn)入VC++的界面都不了解卻能及格;對于動手能力要求比較高的課程,應(yīng)考慮采用有針對性的靈活的考核方式.
2.1 培養(yǎng)學(xué)生學(xué)習(xí)興趣
培養(yǎng)學(xué)生的學(xué)習(xí)C語言興趣要從兩方面著手,一是明確學(xué)習(xí)目的,我們給學(xué)生上第一堂課的時候,不要急于講解C語言的具體內(nèi)容.首先要向?qū)W生介紹C語言是做什么的,學(xué)習(xí)它的目的是什么,并向?qū)W生講解計(jì)算機(jī)語言的發(fā)展歷史,闡明當(dāng)今前沿的語言很多是衍生自C語言,如C++,Java,C#等,要想學(xué)習(xí)這些面向?qū)ο蟮恼Z言,那么,就先要掌握好C語言;其次,讓他們了解C語言也是國家計(jì)算機(jī)等級考試的一個重要內(nèi)容,學(xué)好這門課,努力考取合格證.對于非計(jì)算機(jī)專業(yè)的學(xué)生來說,多一個證件就能為找到一份更好的工作增加一份籌碼,通過對這些內(nèi)容的介紹,學(xué)生能夠更加了解C語言,這樣學(xué)生才能對這門課程的產(chǎn)生興趣,激發(fā)學(xué)習(xí)的積極性;二是改進(jìn)教學(xué)方式方法,我們可以在講正課之前通過給學(xué)生演示幾個有趣的C程序激發(fā)學(xué)生學(xué)習(xí)的興趣,比如“漢諾塔”,“撲克牌游戲”等,在這些程序中有圖形、動畫及智能效果,這些內(nèi)容能夠大大吸引學(xué)生的注意力以激發(fā)其學(xué)習(xí)欲望.同時,在講授時不要以語法知識為主線,應(yīng)積極推行以程序設(shè)計(jì)為主線,重點(diǎn)介紹程序設(shè)計(jì)的方法和思路,更多地列舉生動、實(shí)用的程序設(shè)計(jì)實(shí)例,把枯燥的語法知識分解到程序中去介紹,這樣學(xué)生掌握起來就更加容易,也能夠在程序設(shè)計(jì)中逐步熟悉并掌握各種語法規(guī)定和語句應(yīng)用.
2.2 加強(qiáng)實(shí)踐環(huán)節(jié)
C語言是一門實(shí)踐性較強(qiáng)的課程.在學(xué)習(xí)C語言過程中,僅理解理論課所講解的知識是不夠的,學(xué)生只有通過大量上機(jī)編程練習(xí)才能真正地理解消化.針對非計(jì)算機(jī)專業(yè)學(xué)生上機(jī)目的盲目、遇到疑難束手無策的問題提出一些解決途徑:教師準(zhǔn)備一本與教材匹配的上機(jī)指導(dǎo)書,在每次上機(jī)課之前給學(xué)生布置上機(jī)內(nèi)容,明確上機(jī)要求、目的、編程步驟;要求學(xué)生在上機(jī)之課前把程序的思路構(gòu)思好,并畫出相應(yīng)的程序流程圖,最好能在草紙上事先編寫出來,這樣上機(jī)時候能夠節(jié)省大量時間,大大提高上機(jī)課效率.對于調(diào)試程序的方法和技巧,教師首先要有針對性的講解,并且培養(yǎng)學(xué)生自己查看錯誤提示的能力,培養(yǎng)學(xué)生獨(dú)立編程的能力,教師為了能夠保護(hù)好學(xué)生上機(jī)興趣,對學(xué)生遇到的常見問題及時進(jìn)行講解和總結(jié),讓學(xué)生體會編程的成就感.上機(jī)練習(xí)編程的重要性在于加強(qiáng)學(xué)生對C語言的基本概念、語法的理解、鞏固和提升,將學(xué)習(xí)到的理論知識學(xué)以致用,這才是我們學(xué)習(xí)的真正目的.
2.3 采用靈活的考核體系
對于像C語言這樣的對實(shí)踐能力要求比較高的課程,我們應(yīng)該采取更為靈活恰當(dāng)?shù)目己朔绞?理論考試固然很重要,但上機(jī)考核的重要性也不容忽視.學(xué)校應(yīng)該有統(tǒng)一的上機(jī)編程考試安排,統(tǒng)一出題、閉卷考試.根據(jù)在國家計(jì)算機(jī)等級考試中理論分?jǐn)?shù)占60%,上機(jī)考核占40%的情況,我們也可以將期末考試的成績比例改為理論考試占50%,上機(jī)考試占40%,平時占10%,總成績中加強(qiáng)了實(shí)踐環(huán)節(jié)所占的比例,從而可以引起學(xué)生和老師對實(shí)踐環(huán)節(jié)的重視度[2].上機(jī)考試檢查學(xué)生的編程能力,試卷則考察學(xué)生語法基礎(chǔ)知識,兩者互為補(bǔ)充,相輔相成.如不注重上機(jī)編程,即使試卷考滿分也不能及格.通過這種考核方式的變化從而改變學(xué)生學(xué)習(xí)C語言的方式和態(tài)度.
C語言是一門比較復(fù)雜的高級語言,包含復(fù)雜的知識點(diǎn).因此,對于非計(jì)算機(jī)專業(yè)的學(xué)生來說,學(xué)習(xí)C語言有一定難度.要想讓這些非計(jì)算機(jī)專業(yè)的學(xué)生能夠更好地掌握這門課程,我們就必須不斷總結(jié)教學(xué)中出現(xiàn)的問題,嘗試各種新的教學(xué)方法,使學(xué)生學(xué)習(xí)起來感到輕松易懂,并且能夠加強(qiáng)學(xué)生分析問題和解決問題的邏輯思維能力,以達(dá)到真正的教學(xué)目的.
[1] 譚浩強(qiáng).C程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2006:103.
[2] 熊方敏,許爍娜.C語言課程教學(xué)探討[J].計(jì)算機(jī)教育,2010(13):105-106.
Discussion on C Language Education for Non-computer Science Major in Higher Education
LI Li-xin
(School of Computer Science and Engineering,Jilin Jianzhu University,Changchun,China 130118)
According to the author years of experience in C language teaching for non-computer science major students, for some of the problems found in teaching, such as lack of interest in learning, not enough emphasis on practical teaching, inappropriate teaching methods, etc., to make some suggestions for improvement, in order to improve teaching quality and effectiveness of C language programming courses.
C language programming;none-computer science major;practice
2014-07-15.
李麗新(1973~),女,吉林省長春市人,副教授,碩士.
TP 309.7
A
2095-8919(2015)01-0111-03