朱利民,侯志勇
(河南機電高等專科學校,河南 新鄉(xiāng)453002)
關于高?!禖語言程序設計》課程改革的探討
朱利民,侯志勇
(河南機電高等??茖W校,河南 新鄉(xiāng)453002)
本文論述了高等院校《C語言程序設計》課程教學方面存在的問題,從教學內容、教學方法、實踐環(huán)節(jié)等幾個方面提出了教學改革的辦法。通過教學改革,可以有效提高《C語言程序設計》課程的教學質量。
C語言;高校;教學改革
隨著計算機技術的日益發(fā)展,我國高校計算機專業(yè)普遍開設《C語言程序設計》這門課程?!禖語言程序設計》是一門計算機基礎課程,是計算機專業(yè)學生必須學習的重要課程之一,為后續(xù)專業(yè)課《數(shù)據(jù)結構》、《操作系統(tǒng)》、《編譯原理》等課程奠定了必要的基礎。
《C語言程序設計》這門課程通過向學生講解計算機程序設計的基本知識,著重培養(yǎng)學生使用計算機解決實際問題的基本能力。這門課程對理論和實踐聯(lián)系的要求很高,但是該課程學時少、內容多、重點和難點多,學生普遍反映比較難學,經(jīng)常出現(xiàn)學生學習此課程時老師上課能聽懂,給出現(xiàn)成的程序能讀懂,自己編程卻什么都不會的現(xiàn)象。因此,對該課程的教學內容、教學方法、實驗環(huán)節(jié)和考核方法的改革是必不可少的。通過課程改革,可以調動學生的學習積極性,鍛煉學生的思維能力和應用所學知識解決實際問題的能力。
2.1 教學內容改革
《C語言程序設計》課程的教學內容比較多,既有理論知識,又有實踐教學內容。在傳統(tǒng)的教學中,出現(xiàn)過只重理論,輕視實踐的情況,導致學生雖然學過《C語言程序設計》課程,但是,在現(xiàn)實工作中遇到編程問題,仍然束手無策。因此,對教學內容的改革,勢在必行。
由于我們教學的目的是為了使學生能夠自己動手解決計算機編程的實際問題,因此,對于理論方面的知識,如C語言概述,它是純理論的內容,我們可以適當減少課時,簡單介紹即可;對繁雜的教材內容,對于那些在實際編程中很少用到的語法、語句和其他過分深奧的程序示例,如共用體,進行舍棄或弱化;對于實踐教學方面的內容,如函數(shù)、指針等在實際編程過程中經(jīng)常用到的比較實用的內容,可以適量增加課時。這樣,學生可以在學習的過程中,多掌握一些實用的技能,提高學生解決實際問題的能力[1]。
另外,我們還要不拘泥于教材,結合編程技術的發(fā)展實際,在教學中適當穿插一些前沿性的內容,使學生對編程技術的發(fā)展方向有一個大致的了解,提高學生的學習興趣。
2.2 教學方法改革
在傳統(tǒng)的教學過程中,學生往往缺乏自主性,對教師安排的教學內容的目的也不明確,被教師牽著鼻子走,在這樣的情況下,學生的學習積極性不高,學習效果也不好。因此,我們不斷總結課堂教學經(jīng)驗,研究出了多種新式教學方法。
2.2.1 啟發(fā)引導式教學
通過這種教學方式,我們可以提高學生的學習自主性?;ヂ?lián)網(wǎng)技術的飛速發(fā)展以及網(wǎng)上教學資源的豐富為我們的啟發(fā)式教學提供了良好的環(huán)境。在C語言程序設計課的教學過程中,每進入一個新的章節(jié),我們可以首先向學生介紹與該章節(jié)相關的知識,然后啟發(fā)學生從互聯(lián)網(wǎng)上搜索相關教學資源,發(fā)現(xiàn)自己對相關知識點的興趣。這樣,學生的學習積極性就被調動了起來,變被動地接受知識為主動學習探索知識。
2.2.2 案例式教學
課堂授課時合理地使用案例進行教學可以達到事半功倍的效果。以往的C語言教學往往把教學重點放在學習語法上,學生雖然記住語法規(guī)則卻不
會運用,不能將學到的知識運用到實際的編程中來。通過案例式教學,我們可以把教學重點從語法轉移到對編程思想的培養(yǎng)上來。
教師在授課中可以利用一些簡單案例進行編程思維訓練,例如,“將十個數(shù)字按照從小到大的順序進行排列”,這個案例給出后,可以讓學生提出問題的求解方法,然后引導學生將他們提出的求解方法按照C語言的語法規(guī)則進行描述,從而完成這道題目。這樣的教學過程既讓學生了解了如何將自己的想法利用C語言表述出來,又讓學生產生這道題目是自己完成的成就感,從而更好地增強學習的自信心。
對于一些學生在學習C語言編程時因為忽略一些語法規(guī)則的細節(jié)而造成的錯誤,教師可以以一個案例的方式展現(xiàn),讓學生在其中查找問題,從而加深學生對這些語法細節(jié)的記憶。例如,在指針這章的學習過程中,學生往往會忘記將一個變量的地址賦值給一個指針變量,教師就可以將一個沒有此步驟而造成結果錯誤的案例在課堂上演示,程序錯誤的原因由學生自己來找,這樣可以讓學生加深印象,避免產生此類錯誤[2]。
2.2.3 任務驅動式教學
在課堂的微觀教學上教師可以采用任務驅動教學法,將學生的學習積極性調動起來。例如,我們在講函數(shù)時,教師可以先精心設計一個實例,給學生一個比較實際的切入點,通過教師演示使學生感覺可以入手,然后再通過對此實例的不斷修改、擴充,引導學生參與到程序的設計過程中來。在這個過程中,展示學生所編寫的程序,讓所有學生一起來評判各個程序的優(yōu)劣,吸收優(yōu)點,改進錯誤,達到對程序的優(yōu)化。在這樣的任務驅動教學過程中,因為有提出問題、解決問題、發(fā)現(xiàn)新問題、再解決新問題這樣一個螺旋式滾動前進的過程,使得學生成為課堂真正的主體,對知識的把握循序漸進,螺旋上升。
C語言程序設計這門課程實踐性很強,實踐環(huán)節(jié)的教學質量對學生的學習效果影響很大,因此,我們需要加強對實踐環(huán)節(jié)的改革。
實驗課大致可以分為兩種類型,一種是驗證性實驗,另一種是設計性實驗。學生通過驗證性實驗,可以培養(yǎng)對C語言語法掌握,同時,也對課堂教學內容有一個感性的認識。但是,驗證性實驗只是對課堂上所學知識的一種重復,它對培養(yǎng)學生的創(chuàng)新能力無能為力。因此,我們開設了設計性實驗,通過設計性實驗,讓學生對實驗內容進行自主設計,發(fā)揮學生的創(chuàng)新精神,進一步提高學生的應用能力[3]。
在開設設計性實驗前,我們會提前公布編程要求,學生可自由結合,組成學習小組,探討如何編寫程序以及是否可以對所編寫的C語言程序進行一定程度的改良或改善。另外,學生也可以根據(jù)自己在理論學習中遇到的問題,自行設計程序,并憑借自己的知識和能力自主完成編程。
傳統(tǒng)的課程考核一般是筆試,這種考核方式僅僅考核了學生對知識的記憶情況,而沒有考核學生對所學知識的掌握情況及實踐能力的發(fā)展情況。因此,這種考核方法下對學生的評價是不準確的,必須進行改革。
為了引導學生提高動手能力和創(chuàng)新能力,我們應該適當加大學生實驗課成績在期末成績中的比重。新的考核方法應綜合考慮學生期末考試成績與實驗課成績,其中,實驗課成績應包括驗證性實驗成績和創(chuàng)新性實驗成績。對于那些期末考試成績好而實驗課成績差的學生,不應給予好評,因為他們僅僅是記住了知識,卻沒有掌握技能。
通過這種新型的考核方法,我們可以激勵學生學以致用,把所學的知識靈活運用到實際中去,同時也培養(yǎng)了學生的創(chuàng)新能力,這樣,才能真正培養(yǎng)出計算機應用型人才。
綜上所述,在《C語言程序設計》課程教學中,傳統(tǒng)的教學模式在教學內容、教學方法、實踐環(huán)節(jié)和考核方法上都應該進行改革。新的教學模式應更注重學生動手能力和創(chuàng)新能力的培養(yǎng),這樣才能達到更好的教學效果,使學生在實驗的過程中,發(fā)揮創(chuàng)新精神,真正把所學的程序設計知識融會貫通,成為社會所需要的計算機應用型人才。
[1] 韓春成,邢鵬飛,燕揚.C語言程序設計教學改革實踐[J].長春師范學院學報(自然科學版),2010,29(5):127-129.
[2] 方少卿.《C語言程序設計》課程教學探索[J].安慶師范學院學報(自然科學版),2013,19(2):112-115.
[3] 俞明,趙勃.《C++語言程序設計》課程教學實踐研究[J].遼寧師專學報,2013,15(2):40-43.
G423.07