摘 要:C語言程序設計是普通高校開設的一門實踐性強,學生普遍反映比較難學的一門課程,此外,C語言的NCRE考試通過率也比其他二級科目通過率低。通過分析C語言教學和全國計算機等級考試的現狀,提出了依托NCRE平臺對C語言進行改革,以證促學,提高學生計算機應用能力的教學理念,詳細闡述了以計算機等級考試為載體提升C語言教學質量的方法和過程。
關鍵詞:NCRE;C語言教學;模塊
中圖分類號:C45 文獻標識碼:B
1 引言(Conclusion)
(1)C語言教學現狀
C語言是高級程序設計語言的一種,既具有匯編語言可以直接對硬件進行操作的特點,又具有高級語言高效、靈活、可移植性好等特點,是高效理科專業學生的程序設計入門語言,對學生變成思想的培養,編程風格的建立,及在實際問題中使用計算機進行解決的能力的培養有著非常重要的作用。但是,在C語言的教學中[1],由于課本知識過于抽象,實力過于繁瑣,實驗內容又相對簡單,實驗課時量過少,使學生對C語言望而生畏,學習興趣及熱情逐漸失去,教學效果不理想。如何對C語言教學進行改進,從而提高教學效果,是廣大教師急需解決的問題。
(2)NCRE現狀
NCRE(全國計算機等級考試),是由教育部考試中心主辦的、經教育部批準的、對考生的計算機知識及實踐技能進行考核的具有權威性的考試[2,3],由于它的權威性,在激烈的就業競爭形勢下,全國計算機等級考試證書已成為體現大學生自身能力的一個重要標志。
從2013年上半年開始,教育部考試中心為了規范全國計算機等級考試,NCRE考試開始逐步實現無紙化,現在NCRE的所有科目均實現了無紙化考試。就C預言而言,考生要在規定時間內完成40到單選題,一道程序填空題,一道程序改錯題,一道編程題,并且不能不靠。顯而易見,對應試者而言,無紙化考試要求更高。就內容來看,無紙化考試著重對考生的實際操作能力進行考察,其通過率是對教學效果進行衡量的重要標志。然而,縱觀各高校及培訓機構,C預言二級考試通過率一直低于二級VF[4]。
分析C預言課程教學及二級C考試實際情況,兩者應該是相輔相成的,如果能結合NCRE考試進行教學,將有效提高教學質量。
2 依托NCRE平臺,提高、改善C預言教學效果
(To improve the teaching effect,improve the C
prediction)
(1)理論和實踐相結合,以證促學,提高學生計算機應用能力。
用人單位在衡量學生計算機綜合水平時,將全國計算機等級考試證書作為重要依據,隨著NCRE考試要求的提高,對知識面的考查越來越廣,這就要求高校在提高NCRE過關率的同時,完善教學大綱,使學生不僅可以完成課程學習,提高實踐操作能力,又能獲得NCRE證書,從而促進學生學習的積極性。
(2)模塊化,案例化教學,提高學生的學習效率。
根據教學大綱及人才培養方案,將C語言課程分成幾個模塊,有針對性地對每個模塊內容進行講授、聯系,每個模塊都需要進行考核,最終構成這門課的總成績。在教學中,多講解實例,還可以融入模板教學法,以提高學生學習效果。
(3)依托NCRE,以提升學生實踐能力為目的,制定以應用為主的教材改革方案。
激發學生學習興趣是因材施教的基本原則,要在保證完成理論內容講授的前提下,進行教材改革,增加最近最前沿的知識,一方面可以提高學生的學習效果,激發學生的學習興趣,加強實踐操作能力。另一方面,又可以取得NCRE證書,以適應社會考核人才的需要。
3 熟練解題技巧,提高學生編程能力(Proficient
in problem solving skills,improve programming
ability)
二級C語言考試時間是120分鐘,題量較大。
值得研究的是,在規定時間內,考生如何保質保量完成試題[5],事實上許多C語言考題都有解題捷徑,想要在答題時做到事半功倍,就要迅速找到問題的突破口。為達到最佳教學效果,教師需要講解不同題型的規律和答題技巧。
比如教師可以總結一些模板供學生使用。例如m*n二維數組的模板是
for(i=0;i for(j=0;j {……} 這個模板的作用對M行N列二維數組中的元素進行遍歷,它可以使用在對二維數組平均值、最大最小值、轉置、對角線元素求和等多種題目的求解上。具體二級考題,例如:請編寫一個函數fun,它的功能是:求出3×3整型二維數組中對角線元素的和,并將此值返回調用函數。 解題思路:對題目進行分析后會發現,這是一個對3行3列二維數組進行遍歷的題目,在對初始變量進行定義后,可以馬上輸入二維數組模板,再在模板中用IF 判斷語句找到對角線元素,并將其相加,即可輕松解完此題。完整參考代碼如下。 fun (int a[M][M]) { inti,j, s=0; for(i=0;i for(j=0;j { if(i==j) /*尋找對角線元素*/ s=s+a[i][j]; } return s; /*返回對角線元素的和*/ } 還有一些考題是具有迷惑性的,它考查學生對知識的掌握及答題細心程度。 例如: inti=0; while(i++<4);printf(“#”); 程序段的輸出結果是( ) A) # B) ### C)#### D) ##### 解題思路:這道題很多學生會把printf(“#”);當成是循環體,但是循環while(i++<4)后面跟的是空語句”;”所以在循環內部不做何操作。循環結束后執行打印語句.即打印了一個#。 程序修改題的規律在于:所有錯誤都分布在”*******found******”的下一行;程序填空題可以根據源程序的邏輯思路、語法等方面填充給出的空缺,并刪除下劃線等。 4 結論(Conclusion) 通過C語言教學改革,徹底改變了C語言的教學方式,豐富了學生的課堂學習和上機實踐過程,極大的調動學生的學習積極性。通過合理設置教學內容,適應不同層次不同要求的學生,使之不僅符合高校大學生計算機教學的基本要求,又適應社會需求,使學生學到知識也拿到NCRE證書,真正做到學以致用。 參考文獻(References) [1] 程向前.論計算機等級考試對大學計算機基礎課的影響[J].計 算機教育,2011(19):l12-1l6. [2] 全國計算機等級考試二級公共基礎知識考試大綱[M].北 京:高等教育出版社,2013. [3] 李聯寧.計算機等級考試的研究與思考[J].計算機教育,2011 (19):106-111. [4] 張桂杰.淺析全國計算機等級考試改革及應對策略[J].商場現 代化,2012(6):270-271. [5] 全國計算機等級考試二級C教程[M].北京:人民郵電出版社, 20l4. 作者簡介: 李永華(1979-),女,碩士,高級工程師.研究領域:圖像處 理,信息隱藏,數字水印,計算機基礎教育. 張 林(1968-),男,本科,教授.研究領域:網絡安全,信息 安全.