張 樂
(運城學院 公共計算機教學部,山西 運城 044000)
C語言程序設計教學中存在的問題及改革措施
張 樂
(運城學院 公共計算機教學部,山西 運城 044000)
實驗教學是高校教學體系中的一個重要組成部分,實驗教學在培養(yǎng)學生創(chuàng)新能力、動手能力、獨立解決問題能力等方面有著不可替代的作用[1]。C語言程序設計是非計算機專業(yè)本科學生的基礎課程,實驗教學在C語言程序設計的教學中起著至關重要的作用,培養(yǎng)學生獨立思考和動手編寫程序的能力。文章根據(jù)C語言程序設計教學過程中的實驗教學流程,以運城學院非計算機專業(yè)的C語言程序設計教學為例,闡述了C語言程序設計實驗教學中存在的問題,并針對問題提出相應的改進措施。
C語言程序設計;實驗教學;存在問題;改進措施
隨著我國經(jīng)濟增長方式的轉變和產(chǎn)業(yè)結構的調(diào)整,社會對高素質技能人才的需求急劇增加,要求教育界也必須及時調(diào)整思路,跟上社會發(fā)展步伐,深入研究如何才能更好地培養(yǎng)出符合時代要求的高素質技能人才,而高等教育中的實驗教學則是達到這一要求的不可忽視的重要途徑之一[2]。實驗教學的主要作用是對理論知識點的復習和鞏固,是連接理論知識和實際操作的橋梁,能夠鍛煉學生的動手能力、創(chuàng)新能力、自主解決問題的能力。然而,就目前情況來看,實驗教學體系存在諸多問題,本文結合C語言程序設計實驗教學具體流程,發(fā)現(xiàn)其中存在的問題,并針對問題提出相應的改進措施。
C語言程序設計是程序設計類課程的基礎,既具有高級程序設計語言的功能,又具有低級語言的許多特點[3],是本校理工科類全體學生的公共必修課,每周安排一次理論和一次實驗課,一共64個課時。C語言程序設計課程主要是提高學生的計算機能力和程序編程能力,為學生計算機二級考試打基礎,其中實驗教學環(huán)節(jié)在整個C語言程序設計教學中起著至關重要的作用。
2.1 實驗流程安排
C語言程序設計實驗課程一共100分鐘,每一小節(jié)課程時間50分鐘。實驗課程安排分為四個階段:
(1)理論內(nèi)容回顧。實驗課程開始前15分鐘左右,通過控制屏幕的方式,引導學生一起回顧理論課程上的知識重難點。
(2)實驗內(nèi)容預習。在回顧理論知識后,針對當次課實驗題目,引導學生分析每一道題目的知識點以及做題過程中的注意事項。
(3)實驗練習。學生自主練習,教師輔導。
(4)實驗小結。
第一小節(jié)(40分鐘左右)控制屏幕,將前一半題目中學生爭議比較大,問題比較多的題目以及知識點作為重點講解,將稍微簡單的題目答案公布給大家以便核對。
第二小節(jié)(80分鐘左右)控制屏幕,將后一半題目中學生爭議比較大,問題比較多的題目以及知識點作為重點講解,將稍微簡單的題目答案公布給大家以便核對。
2.2 實驗題目難易安排
實驗題目安排主要分四個難度層次:
(1)主要是程序閱讀題目。學生先自己分析程序的輸出結果,在vc++6.0軟件環(huán)境中運行后驗證輸出結果是否正確,并回答題目中涉及的問題,從而鞏固知識點(本層次設計1-2個題目)。
(2)主要是程序編程題目,難易程度適中,主要針對理論課中的重點和難點,讓學生自己回顧知識點并編寫程序,從而鞏固理論課的知識,將理論與實驗結合起來(本層次設計2-3個題目)。
(3)主要是拓展題目,題目難度加大,提倡實驗課程中完成,若未完成建議課下自主完成。這個層次的題目一般安排在下一次理論課新知識之前作為重點知識復習講解(本層次設計1個題目)。
(4)第四層次:主要是程序運行題目,設計好程序讓學生編譯運行,觀察運行結果并分析原因,該層次題目主要是作為下一節(jié)理論課新知識的引入知識(本層次設計1個題目)。
2.3 實驗報告題目安排
每次的實驗課內(nèi)容都安排學生須寫出實驗報告,但不是所有實驗題目都要安排實驗報告,主要安排實驗題目中的重難點作為實驗報告內(nèi)容(實驗題目中的第二層次和第三層次題目),從而再次鞏固理論知識點。
在C語言實驗教學中,實驗教學和理論教學同一周時間啟動,各任課老師設計每次實驗的內(nèi)容,每一個實驗都是針對某個或某些相關知識點設計的,由多種類型不同的程序設計題構成,循序漸進,由淺入深,非常有利于學生掌握C語言編程技巧[3]。但是,在實際的教學過程中,問題仍然存在。
3.1 學生專業(yè)不同,題目設計缺乏針對性
C語言程序設計課程是全校理工科的公共必修課,每一個實驗題目的設計對不同專業(yè)的學生都是統(tǒng)一的,整齊劃一的實驗要求不能適應不同專業(yè)學生的個體差異。同樣的題目對于個別專業(yè)的學生來說容易,對于個別專業(yè)的學生來說過難。實驗題目沒有針對學生的不同專業(yè)進行設計,無法將C語言程序設計課程與學生的專業(yè)課程結合起來,從而為專業(yè)課程服務。
3.2 理論與實驗教學脫節(jié),不利于知識鞏固
理論教學和實驗教學分開進行,導致在理論教學過程中不能讓學生充分體驗到vc++6.0環(huán)境的操作,學生不能及時驗證并鞏固課堂知識。而在實驗教學時,學生反映對理論知識感覺陌生,理論講授沒有和實驗操作緊密連接起來,使學生在實驗課程中完全不理解實驗內(nèi)容,不明白程序語句的含義,對于獨立的編程題更不知道如何動手,對需掌握的知識點印象模糊[3]。實驗操作和理論知識脫節(jié),不能及時鞏固知識、提高學生的編程能力。
3.3 學生能力參差不齊,不能顧及所有學生
高校教育已從“精英教育”階段轉向“大眾化教育”階段,學生的個體差異擴大[4],在C語言實驗教學中,學生對知識的理解能力不同、掌握程度不同,因而實驗進度就有所不同。而教師在實驗教學中,每一節(jié)課結束前都要針對做題過程中發(fā)現(xiàn)的問題、重難點進行集中講解,但是實驗進度慢的學生卻還沒有做到講解的題目,這樣教師就無法顧及全體學生,無法統(tǒng)一控制進度。
3.4 學生自主能力提高,但教師輔助作用弱化
在做題過程中,教師的主要任務是及時發(fā)現(xiàn)問題,回答學生的疑難問題。但是,在實驗練習的過程中,學生主要依靠自己討論或者上網(wǎng)尋求思路來解決問題。這是一個值得鼓勵的好現(xiàn)象,能夠充分體現(xiàn)學生獨立自主學習的能力,在課堂教學中應當鼓勵學生互相討論,互相交換思想共同解決問題。但是,在教學中教師的作用體現(xiàn)不夠充分,不愿意尋求幫助的學生會因為一道題目沒有解決而無法正常進行實驗練習,教師的作用應該是在學生自主解決問題的同時,能夠及時提供幫助,盡量統(tǒng)一實驗進度。
針對以上這些實驗教學中存在的問題,在平時的實驗課教學中,筆者努力提高對學生實驗教學的效果,從以下幾個方面進行探索和改革。
4.1 針對不同專業(yè)設計專業(yè)性題目,將專業(yè)課和公共課結合起來
因學生專業(yè)的特殊性,在設計實驗題目時應該針對不同專業(yè)的特點,設計專業(yè)性的題目,將專業(yè)課知識與C語言程序設計知識結合起來,在鞏固專業(yè)課知識的同時,能夠提高學生學習C語言程序設計的興趣,設計出感興趣的項目,運用編程的方法來解決問題。例如:可以讓學生根據(jù)自己的專業(yè)設計C程序項目,編寫不同的模塊來實現(xiàn)項目[5]。
4.2 合理安排課程,將理論教學和實驗教學緊密結合
在理論教學結束2-3天內(nèi)完成實驗教學,效果最佳。在安排課程時,可以將理論教學和實驗教學安排緊湊,學生可以有效地利用所學知識進行實驗操作,在迅速深度掌握知識點的同時,提高編程能力。若間隔時間過長,學生對理論知識點越陌生,實驗教學進行越困難,復習的力度越大,實驗教學時間越短,不能充分利用實驗課堂時間。也可以將理論教學和實驗教學融合起來,將所有內(nèi)容安排在實驗機房進行,先講解理論內(nèi)容,在設計題目進行實驗練習,更能加深學生對知識的理解,同時還能有效利用課堂時間,提高動手編程能力[6]。
4.3 分組實驗,學習代表發(fā)揮積極作用
在實驗過程中,因個人理解能力不同,對知識點的掌握水平不同,因此實驗進度也會有所不同[7]。有的同學知識點掌握得好,實驗進度快,教師在實驗教學時應及時發(fā)現(xiàn)這樣的學生作為代表,將班級分組安排學生代表負責每組學生的實驗學習,優(yōu)秀的學生可以充分運用自己學到的知識來幫助其他同學,同時也能增進學生之間的感情,提高學生合作學習的能力。在合作過程中,若遇到疑難問題可以尋求教師的幫助。
但是,并不是每節(jié)課都安排同一批學生作為小組代表,因為每節(jié)課的知識點不同,學生的掌握程度也不同,所以每節(jié)實驗課教師都應及時發(fā)現(xiàn)不同的學習代表,爭取讓每個學生都有機會作為代表來幫助其他學生,從而體現(xiàn)每一個學生在班級中的作用。
4.4 充分發(fā)揮教師輔助教學的作用,及時解決問題
在教學過程中,有些學生比較活躍,喜歡主動提出問題來尋求教師幫助。但是,也有些學生比較獨立,喜歡通過自己的能力來解決問題。但是,為了統(tǒng)一全班學生的實驗進度,在實驗教學過程中,教師應主動提供一些幫助。
(1)及時觀察發(fā)現(xiàn)進度慢的學生,有問題卻找不到的學生,主動上前提供幫助,解決問題。
(2)在發(fā)揮教師輔導作用的同時,也積極發(fā)揮學生之間的配合能力,鼓勵周圍的學生互相幫助,共同發(fā)現(xiàn)問題解決問題[8]。
實驗教學是C語言程序設計教學工作的重要組成部分,因此,應該從課程安排、教師和學生等方面加強管理,以培養(yǎng)學生的動手能力和創(chuàng)新能力為宗旨,確立以學生為本的教學理念,建立以學生為中心的實驗模式,提高學生獨立發(fā)現(xiàn)、分析和解決問題的能力,增強學生的競爭與合作意識[1]52。同時,加強教師的指導作用,充分體現(xiàn)教學中學生主體,教師主導的作用。
在C語言程序設計實驗教學中,教師還應加強各方面知識的學習,學習不同專業(yè)知識,從而針對不同專業(yè)特點設計不同實驗題目,這就對教師自身學習能力提出的很高的要求,教師應該在學好自己的所教課程知識的同時,從不同的專業(yè)方向全面提高教學能力。
[1] 李明元.高校實驗教學存在的問題和改進措施[J].高等教育研究,2009(4).
[2] 張曉燕.高職國際貿(mào)易實務專業(yè)校企合作的探討[J].安徽職業(yè)技術學院學報,2010(1).
[3] 潘麗麗,鐘少宏,樊瑜.非計算機專業(yè)C語言程序設計實驗教學模式[J].計算機教育,2011(18).
[4] 董永權.C語言程序設計實驗教學中的問題及改革措施[J].科技視界,2011(26).
[5] 陳靜.C語言程序設計實驗教學改革初探——以阜陽師范學院為例[J].阜陽師范學院學報(自然科學版),2008(4).
[6] 張建平,閻波,李海明.淺談高校實驗教學存在的問題及改進措施[J].中國科教創(chuàng)新導刊,2013(17).
[7] 趙秀芬,劉樹堂.高校本科實驗教學現(xiàn)狀分析及改進措施[J].考試周刊,2009(28).
[8] 郝惠馨,李秀坤,夏清泉.C語言程序設計實驗教學探索[J].計算機教育,2010(17).
【責任編輯 馬太來】
2015-02-16
運城學院教學改革項目(JG201324)
張樂(1987-),女,山西臨猗人,運城學院公共計算機教學部助教,碩士,研究方向為計算機教育。
G642
A
1008-8008(2015)03-0010-03