韓建民,王麗俠,葉榮華
(1.浙江師范大學(xué) 計算機科學(xué)與技術(shù)系,浙江 金華 321004;2.浙江師范大學(xué) 行知學(xué)院,浙江 金華 321004)
“教學(xué)—訓(xùn)練—競賽一體化”程序設(shè)計能力培養(yǎng)體系的構(gòu)建
韓建民1,王麗俠2,葉榮華1
(1.浙江師范大學(xué) 計算機科學(xué)與技術(shù)系,浙江 金華 321004;2.浙江師范大學(xué) 行知學(xué)院,浙江 金華 321004)
分析當前大學(xué)生程序設(shè)計能力培養(yǎng)存在的問題,提出“教學(xué)—訓(xùn)練—競賽一體化”程序設(shè)計能力培養(yǎng)體系,闡述該培養(yǎng)體系的總體框架及模塊間的關(guān)系,并說明該培養(yǎng)方案的優(yōu)勢。
程序設(shè)計能力;教學(xué)—訓(xùn)練—競賽一體化;在線自動評測
程序設(shè)計能力就是利用計算機解決實際問題的能力,是計算機相關(guān)專業(yè)學(xué)生需要具備的最為重要的能力。程序設(shè)計能力的培養(yǎng)也是高校實現(xiàn)計算機專業(yè)培養(yǎng)目標的重要組成部分,因此,計算機專業(yè)的教師在大學(xué)生程序設(shè)計能力培養(yǎng)方面做了大量的研究工作。文獻[1—3]探索將ACM競賽模式引入程序設(shè)計能力培養(yǎng)的實踐教學(xué)中,以提升學(xué)生的實踐能力和學(xué)習(xí)興趣,取得了較好的成效;文獻[4]將大學(xué)生程序設(shè)計能力的培養(yǎng)分為4個層次,提出了大學(xué)生程序設(shè)計能力的層次化培養(yǎng)模式;文獻[5]提出了大學(xué)生程序設(shè)計能力立體化培養(yǎng)模式。
盡管在大學(xué)生程序設(shè)計能力培養(yǎng)方面高校和教師做出了很多探索,也取得了一定的成效,但目前多數(shù)高校的教學(xué)方式以課堂教學(xué)為中心,以實驗和課后作業(yè)為支撐,這種培養(yǎng)模式存在以下不足。
(1)課堂教學(xué)偏向理論內(nèi)容,而實驗實踐教學(xué)受學(xué)時和空間的限制,學(xué)生的實踐能力無法得到充分的鍛煉和提升。
(2)固定的課堂教學(xué)和實驗教學(xué)使教學(xué)內(nèi)容統(tǒng)一化,難以實現(xiàn)因材施教和個性化培養(yǎng)。
(3)教學(xué)體系不完善,以課程教學(xué)大綱為依據(jù)的課程教學(xué),使學(xué)生的解題能力和思維方式難以得到系統(tǒng)化的鍛煉和提升。
為了更好地提升教學(xué)質(zhì)量,實現(xiàn)創(chuàng)新型人才培養(yǎng)目標,我們將ACM競賽實訓(xùn)模式引入大學(xué)生程序設(shè)計相關(guān)課程的教學(xué)中,建立“教學(xué)—訓(xùn)練—競賽一體化”程序設(shè)計能力培養(yǎng)模式,并在計算機專業(yè)、軟件工程專業(yè)、網(wǎng)絡(luò)工程專業(yè)學(xué)生的程序設(shè)計能力培養(yǎng)中實施,有效提高大學(xué)生的程序設(shè)計實踐能力和創(chuàng)新能力,為社會培養(yǎng)高素質(zhì)的人才。
針對目前創(chuàng)新型人才培養(yǎng)的需要,我們認真研究和探索大學(xué)生程序設(shè)計能力培養(yǎng)的模式,提出一套“教學(xué)—訓(xùn)練—競賽一體化”人才培養(yǎng)方案。該方案將ACM競賽模式引入程序設(shè)計能力的教學(xué)及訓(xùn)練過程中,面向程序設(shè)計能力培養(yǎng)的主要課程高級程序設(shè)計語言與數(shù)據(jù)結(jié)構(gòu)分別建立了配套的實訓(xùn)系統(tǒng)。該實訓(xùn)系統(tǒng)將教學(xué)和實訓(xùn)緊密集合,構(gòu)架講練結(jié)合、“教學(xué)—實訓(xùn)一體化”第一個層次的程序設(shè)計能力培養(yǎng)模式。在這個層次的基礎(chǔ)上,以算法綜合訓(xùn)練為基礎(chǔ),以程序設(shè)計競賽為目標驅(qū)動,構(gòu)建“訓(xùn)練—競賽一體化”的教學(xué)模式,進而構(gòu)建“教學(xué)—訓(xùn)練—競賽一體化”多層次的培養(yǎng)體系。該培養(yǎng)體系在學(xué)校人才培養(yǎng)中發(fā)揮重要的作用,具體體系結(jié)構(gòu)見圖1。
圖1 “教學(xué)—訓(xùn)練—競賽一體化”的人才培養(yǎng)方案
為實現(xiàn)“教學(xué)—訓(xùn)練—競賽一體化”的人才培養(yǎng)方案,需要建立5套題庫及相應(yīng)的程序設(shè)計實訓(xùn)系統(tǒng)。實訓(xùn)系統(tǒng)的基本功能類似,只是面向不同訓(xùn)練的題庫不同。實訓(xùn)系統(tǒng)的用戶角色可分為非注冊用戶、學(xué)生、教師和管理員。管理員的功能包括登錄、管理題庫、管理競賽、管理評測、查看源碼、查看排名等;非注冊用戶的功能包括登錄、查看題目、查看排名等;注冊學(xué)生的功能包括登錄、查看代碼、提交代碼、參加比賽、查看排名等;教師的功能包括登錄、查看代碼、查看排名等。系統(tǒng)的用例圖見圖2。
圖2 系統(tǒng)用例圖
圖3 程序在線評測流程圖
實訓(xùn)系統(tǒng)的實現(xiàn)核心是程序設(shè)計在線評測。程序的自動評測流程見圖3,學(xué)生向評測系統(tǒng)提交程序源代碼,系統(tǒng)依據(jù)提交的先后順序?qū)⒋u測的源代碼插入待評測隊列,評測內(nèi)核程序從評測隊列中依次獲取評測源代碼,對其進行編譯、運行、結(jié)果比較等操作,并根據(jù)操作結(jié)果返回相應(yīng)的信息。具體的出錯信息有:如果源碼編譯錯誤,直接返回編譯錯誤(CE, Compile Error);如果運行超時,直接返回超時錯誤(TLE, Time Limit Error);評測程序?qū)⒃摮绦虻倪\行結(jié)果與測試數(shù)據(jù)進行比較,如果完全一致則返回程序運行正確信息(AC, Accept),否則返回運行不正確信息(WA, Wrong Answer)。
在基于“教學(xué)—訓(xùn)練—競賽一體化”的大學(xué)生程序設(shè)計能力培養(yǎng)的實踐中,我們建立了C語言層次化實訓(xùn)系統(tǒng)、數(shù)據(jù)結(jié)構(gòu)實訓(xùn)系統(tǒng)、程序設(shè)計綜合訓(xùn)練實訓(xùn)題庫、算法實訓(xùn)題庫等。
通過實踐,“教學(xué)—訓(xùn)練—競賽一體化”培養(yǎng)方案具有以下優(yōu)勢。
(1) 將程序設(shè)計能力的培養(yǎng)構(gòu)建在一個統(tǒng)一的框架下,使學(xué)生的程序設(shè)計能力得到系統(tǒng)化、全方位的培養(yǎng)。
(2) 實訓(xùn)系統(tǒng)的建立基于ACM競賽實訓(xùn)模式,針對不同層次的學(xué)生分層次地組織實訓(xùn)內(nèi)容,有利于實現(xiàn)因材施教。
(3) 實訓(xùn)的訓(xùn)練內(nèi)容在有限的實驗教學(xué)中是無法完成的,而實訓(xùn)系統(tǒng)24小時對外提供服務(wù),學(xué)生可以在任何時候、任何地點查看訓(xùn)練內(nèi)容、提交代碼,系統(tǒng)實時給予評測。
(4) 實訓(xùn)內(nèi)容和實訓(xùn)模式遵循ACM競賽快樂學(xué)習(xí)的理念,通過排名機制,極大地激發(fā)了學(xué)生的刷題熱情。
(5) 實訓(xùn)代碼的提交,完全實現(xiàn)了計算機自動實時的評測和反饋,極大地減輕了教師評閱程序的負擔(dān)。
實踐表明,該培養(yǎng)方案使學(xué)生的程序設(shè)計能力、解體思路得到了有效的訓(xùn)練,教學(xué)效果明顯提高。
當然,程序設(shè)計能力是計算機專業(yè)學(xué)生的基本能力,而優(yōu)秀的計算機人才只具有程序設(shè)計能力是不夠的。如何將程序設(shè)計能力的培養(yǎng)與后續(xù)的計算機專業(yè)綜合素質(zhì)的培養(yǎng)相結(jié)合,為社會培養(yǎng)出高水平高素質(zhì)的優(yōu)秀計算機技術(shù)人才,還需要進一步的探索與實踐。
[1] 常子楠. 基于ACM模式的程序設(shè)計類課程實踐教學(xué)探索[J]. 計算機教育, 2010(16): 144-146.
[2] 穆寶良, 李晉, 韓雪峰. 基于ACM平臺的程序設(shè)計課程教學(xué)改革[J].軟件工程師, 2013(4): 40-43.
[3] 劉海霞, 冉宇瑤. 基于ACM競賽模式的程序設(shè)計類課程實踐教學(xué)改革的探討[J]. 工業(yè)控制計算機, 2016(29): 39-40.
[4] 韓建民, 王麗俠,賈泂. 大學(xué)生程序設(shè)計能力的層次化培養(yǎng)模式[J].計算機教育, 2012(3): 15-18.
[5] 周健, 鄭誠. 立體化程序設(shè)計能力培養(yǎng)方法[J]. 計算機教育, 2014(4): 56-59.
(編輯:孫怡銘)
1672-5913(2017)03-0061-04
G642
浙江師范大學(xué)校級重點教改項目。
韓建民,男,教授,研究方向為信息安全,hanjm@zjnu.cn。