梁志劍
摘要:針對程序設(shè)計類課程教學(xué)效果不佳的教學(xué)實際,以C語言程序設(shè)計課程為例,通過分析歷年試卷,提出加強中間實踐教學(xué)過程考核及以程序設(shè)計題為主的無紙化期末考核,并從試題庫建設(shè)、系統(tǒng)設(shè)計思想、軟件功能結(jié)構(gòu)、運行效果等方面介紹無紙化考試平臺。
關(guān)鍵詞:動手編程能力;教學(xué)質(zhì)量;無紙化考核方式
引言
C語言程序設(shè)計是理工科類專業(yè)的一門必修課程。就當(dāng)前嚴(yán)峻的就業(yè)形勢及社會對計算機操作能力越來越高的要求而言,學(xué)校在培養(yǎng)學(xué)生程序設(shè)計能力方面還有待提高。針對當(dāng)前的教學(xué)現(xiàn)狀,進行本門課程的考試方法改革,即以無紙化考試方式驅(qū)動學(xué)生加強平時動手能力的訓(xùn)練,以提高C語言程序設(shè)計課程的教學(xué)質(zhì)量。與傳統(tǒng)紙質(zhì)考試模式比較,無紙化機試考試模式可以很好地考查學(xué)生的程序設(shè)計能力,同時也能很好地排除考試各環(huán)節(jié)中人為因素的影響,比如評分標(biāo)準(zhǔn)不一致等現(xiàn)象。此外,機試考試也減輕了教師的出題、評閱、統(tǒng)計、分析等工作任務(wù),提高了工作效率。
1教學(xué)現(xiàn)狀分析
1.1學(xué)生的程序設(shè)計能力水平普遍較低
通過對近3年3100份試卷的分析發(fā)現(xiàn),能夠編寫出完整正確程序的學(xué)生人數(shù)不足40%,而卷面分?jǐn)?shù)達到合格的人數(shù)卻超過了75%,如圖1所示;此外,近3年全國計算機等級考試(二級C)的合格率不超過28%,如圖2所示。這些數(shù)據(jù)說明學(xué)生的程序設(shè)計能力與社會對人才的要求還存在一定差距。
1.2傳統(tǒng)紙質(zhì)考試方式弱化了對學(xué)生程序設(shè)計能力水平的考查
程序設(shè)計語言類課程的考試應(yīng)著重考查學(xué)生的動手編程能力。目前,該類課程的學(xué)習(xí)效果評價手段多以傳統(tǒng)紙質(zhì)試卷為主,其中程序設(shè)計題僅占20%,弱化了對學(xué)生程序設(shè)計能力的考查,因此普遍存在卷面合格的學(xué)生不能編寫完整正確程序的現(xiàn)象。
一個完整正確的程序往往不能一次就編寫成功,需要不斷地調(diào)試,從中發(fā)現(xiàn)錯誤并加以改正,學(xué)生在調(diào)試過程中不斷鞏固所學(xué)內(nèi)容。傳統(tǒng)紙質(zhì)試卷考試方式在考查學(xué)生調(diào)試程序能力方面也存在弱勢。
1.3傳統(tǒng)紙質(zhì)考試方式不符合全國計算機等級考試改革方向
教育部規(guī)定自2013年開始全國計算機等級考試所有科目均采用無紙化考試方式,學(xué)生是否具有計算機語言程序設(shè)計能力,是否具有解決實際問題的能力,都不再是紙上談兵。無紙化考試教學(xué)改革可提高學(xué)生學(xué)習(xí)的積極性和主動性,培養(yǎng)其實際動手編程能力,提高教學(xué)質(zhì)量。
2改革舉措
針對C語言程序設(shè)計課程建立一套5000道試題的試題庫,涵蓋教學(xué)大綱規(guī)定的所有知識點,且重點、難點突出,開發(fā)與之對應(yīng)的無紙化考試平臺,并制定科學(xué)合理、切實可行的無紙化考試管理辦法及平時考核機制。
2.1以教學(xué)大綱為藍(lán)本建設(shè)試題庫
根據(jù)C語言程序設(shè)計課程教學(xué)大綱,組織該課程的一線授課教師共同建設(shè)試題庫,確保試題內(nèi)容設(shè)置具有科學(xué)合理、難度適宜、重點突出、結(jié)合實際等特點,能夠全面評價學(xué)生的程序設(shè)計能力。該試題庫建立過程中,參與教師達到17名,試題類型包括程序填空、程序改錯和程序設(shè)計3類,試題數(shù)量分別為1000道、1000道、3000道,覆蓋知識點69個,涉及算法26種。
2.2結(jié)合軟件工程思想開發(fā)無紙化考試平臺
無紙化考試平臺以提高教學(xué)質(zhì)量及學(xué)生的動手編程能力、全面考核學(xué)生的程序設(shè)計能力、減輕教師出題和評閱等繁瑣工作任務(wù)為主要目標(biāo),功能主要包括服務(wù)器端與客戶端兩部分。服務(wù)器端完成試題庫維護、考試參數(shù)設(shè)置、考試數(shù)據(jù)文件生成與打印等功能,客戶端完成隨機抽題、考生作答、自動評閱等功能,具體功能如圖3所示。
該平臺的關(guān)鍵功能是隨機抽題和成績評定:隨機抽題模塊確保所抽試題覆蓋知識點廣、涉及算法不重復(fù);同時對于程序設(shè)計題的成績評定,建立科學(xué)合理的評分準(zhǔn)則。此外,該平臺注重考
2.3加強平時實踐教學(xué)環(huán)節(jié)的考核
考試模式改革的目的不是用機試考試方式簡單地代替紙質(zhì)考試方式,而是通過考核方式的轉(zhuǎn)變,扭轉(zhuǎn)學(xué)生對C語言學(xué)習(xí)的認(rèn)識,強調(diào)利用計算機語言解決實際問題的學(xué)習(xí)目的,加強動手編程能力的培養(yǎng)。全面考核學(xué)生的程序設(shè)計能力不能僅依賴于期末考核,還要側(cè)重于平時實踐環(huán)節(jié)的考核,只有這樣,學(xué)生才能在實踐中不斷積累經(jīng)驗,牢固掌握知識。
學(xué)校已將C語言程序設(shè)計課程平時實踐考核成績作為最終成績的重要部分,比例為50%。平時成績的具體考核形式主要有兩種:一是針對每一章設(shè)置獨立知識點的試題,各章學(xué)習(xí)結(jié)束后,利用該考試平臺進行章節(jié)測試,隨機抽取一道試題,讓學(xué)生利用25~30分鐘作答;第二種形式是以2~3人的組為單位,課下完成一個復(fù)合知識點的題目,這類題目考核的知識點既包含學(xué)過的,也包含沒學(xué)過的,需要學(xué)生課下主動查閱資料,尋找解決方法,最終以答辯形式向其他同學(xué)匯報,成績由其他同學(xué)打分確定。
核學(xué)生利用計算機語言解決實際問題的能力,即以程序設(shè)計題為主,輔以程序填空及程序改錯題。平臺的建立利用面向?qū)ο蟪绦蛟O(shè)計方法并結(jié)合軟件項目開發(fā)思想,其部分運行界面如圖4所示。
2.4加強程序設(shè)計能力的考核
無紙化考試系統(tǒng)既能考核學(xué)生閱讀程序的能力,又能考核學(xué)生編程調(diào)試程序的能力,采用該系統(tǒng)進行期末考試,每份試卷包含3道試題,均為程序設(shè)計題,它們所屬章節(jié)不同。本系統(tǒng)將章節(jié)分為3部分:順序結(jié)構(gòu)與選擇結(jié)構(gòu)為第1部分,循環(huán)結(jié)構(gòu)與數(shù)組為第2部分,函數(shù)、指針及結(jié)構(gòu)體為第3部分。此外,3道試題所涉及的算法均不同,各試題分值分別為30分、30分、40分,試題難度由易到難。這樣既能保證考核知識面廣,又能公正地評價每位學(xué)生的程序設(shè)計能力。
2.5人性化的考核模式
C語言程序設(shè)計課程的教學(xué)任務(wù)分兩個學(xué)期完成,其中第1學(xué)期任務(wù)量在4400人左右,第2學(xué)期任務(wù)量在2200人左右。面對眾多的考生,無紙化考試需分批分階段完成,根據(jù)制定的科學(xué)有效的無紙化考試管理辦法,結(jié)合網(wǎng)上預(yù)約考試平臺,學(xué)生可在規(guī)定的時間段內(nèi)合理選擇考試時間,實現(xiàn)人性化的考試。具體實施步驟為:課程結(jié)束前兩周由教務(wù)處發(fā)布考試通知,考試時間一般定于課程結(jié)束后的第2周,從周一至周五全天工作時間均可進行考試,考場數(shù)量根據(jù)本學(xué)期考生數(shù)量適當(dāng)增加或減少。學(xué)生自收到通知之日起,就可通過預(yù)約系統(tǒng)進行考試預(yù)約,教務(wù)工作人員隨時查看預(yù)約情況,合理安排監(jiān)考教師,學(xué)生根據(jù)預(yù)約結(jié)果合理安排考前準(zhǔn)備進度。
3改革效果
3.1激發(fā)了學(xué)生學(xué)習(xí)的主動性
考試方式的轉(zhuǎn)變,加強了學(xué)生動手編程能力的訓(xùn)練,學(xué)生不再每天紙上談兵,靠死記硬背獲取知識,而是通過上機編寫程序、調(diào)試程序,靈活掌握課堂中學(xué)到的知識,并舉一反三,收到了事半功倍的效果。學(xué)生對本門課程的相互討論增多了,對獲取更多知識的欲望增強了,課堂教學(xué)過程中學(xué)生主動與教師的交流也增多了。
3.2提高了學(xué)生的編程能力
經(jīng)過近兩年的實踐,本門課程的考試成績有了明顯的提高,全國計算機等級考試(二級C)的通過率增長了約9個百分點。由于C語言程序設(shè)計課程是大一階段的必修課,學(xué)生通過實踐鍛煉,掌握了程序設(shè)計語言類課程的學(xué)習(xí)方法,在學(xué)習(xí)后續(xù)的其他類似課程時入門快、效率高,增強了自信心。如數(shù)據(jù)結(jié)構(gòu)課程,絕大多數(shù)學(xué)生不會再因為程序設(shè)計語言不過關(guān)而學(xué)不好,可完全將學(xué)習(xí)重點放在數(shù)據(jù)的邏輯結(jié)構(gòu)學(xué)習(xí)中。
3.3減輕了教師的工作量
無紙化考試方式減少了教師考前出題、試后評閱、分?jǐn)?shù)統(tǒng)計等繁雜的工作,同時也避免了由于工作失誤而造成的分?jǐn)?shù)統(tǒng)計錯誤等現(xiàn)象,教師的工作重點完全轉(zhuǎn)向如何改進教學(xué)方法、提高學(xué)生的實際動手編程能力和提高教育教學(xué)質(zhì)量。
4結(jié)語
加強實踐教學(xué)環(huán)節(jié)是學(xué)好計算機語言的關(guān)鍵所在,機試考核方式驅(qū)動了學(xué)生對計算機語言的學(xué)以致用。下一步的工作是借鑒C語言程序設(shè)計課程取得的改革經(jīng)驗,結(jié)合其他各門計算機語言課程的特點,逐步完成Java語言、c++語言等課程的教學(xué)改革。