摘 要:在我國,針對程序設(shè)計的課程在高校教學(xué)中占有重要地位,它不僅是計算機專業(yè)中最為關(guān)鍵的課程,也是其他專業(yè)的必修課程,因此足見其在高校教育中的重要地位。這類課程的學(xué)習(xí)效果與實踐有著緊密的聯(lián)系,但是這個目標(biāo)的實現(xiàn)仍然存在許多困難,因為其在發(fā)展過程中出現(xiàn)很多難題。為了應(yīng)對這些問題,本文在.NET的基礎(chǔ)上實現(xiàn)了與其在線評測有關(guān)的分布式程序設(shè)計的教學(xué)平臺。介紹了高校程序設(shè)計教學(xué)現(xiàn)狀,解讀了高校程序設(shè)計教學(xué)實驗平臺的設(shè)計,闡述了高校程序設(shè)計教學(xué)實驗平臺的應(yīng)用。
關(guān)鍵詞:在線評測;程序設(shè)計教學(xué);教學(xué)實驗平臺
中圖分類號:TP311.1-4;G652
高校方面的程序設(shè)計類課程主要包括數(shù)據(jù)結(jié)構(gòu)和算法設(shè)計等,它們都有一個較為重要的特點:側(cè)重于實踐。學(xué)生如果想要很好地掌握程序設(shè)計技能,就要在大量設(shè)計實踐中實現(xiàn)目的。當(dāng)前,我國針對這類課程所采用的教學(xué)模式通常是課堂與實驗相結(jié)合。如此的課程布局雖然具有流程簡單的特點,但是仍然出現(xiàn)一些需要解決的問題,會影響到教學(xué)質(zhì)量的提高。
1 高校程序設(shè)計教學(xué)現(xiàn)狀
當(dāng)前,高校針對程序設(shè)計的教學(xué)都是沿用教學(xué)和實驗相結(jié)合的方式,將兩者進(jìn)行分離教學(xué)。如此的做法使得教學(xué)流程的操作變得簡便,教師能夠?qū)虒W(xué)進(jìn)度實現(xiàn)較為良好地掌控,但是教學(xué)持續(xù)的過程中也會出現(xiàn)一些不可忽視的問題[1]。
在現(xiàn)實教學(xué)中,教師的教學(xué)側(cè)重點在于理論知識的傳授,對于實驗部分則采取輕視的態(tài)度;如此的教學(xué)方式也使得教學(xué)的內(nèi)容無法和實踐進(jìn)行有效的連接,使得學(xué)生的學(xué)習(xí)內(nèi)容無法和實踐的內(nèi)容達(dá)到同步;學(xué)生在設(shè)計出程序之后,針對性的評測出現(xiàn)了空白的狀況。教師在教學(xué)的過程中已經(jīng)花費了較多的時間,因此再難抽出多余時間對作業(yè)進(jìn)行仔細(xì)地檢閱,針對學(xué)生的作弊行為也很難做出相應(yīng)的監(jiān)察,這種情況導(dǎo)致教學(xué)結(jié)果難以得到客觀的評測結(jié)果[2]。
2 高校程序設(shè)計教學(xué)實驗平臺設(shè)計
2.1 系統(tǒng)架構(gòu)
(1)客戶端與服務(wù)器。這兩個部分的程序的主要作用是用來輔助用戶之間的交互,并針對這個過程中產(chǎn)生的交互信息進(jìn)行整理。這個部分在架構(gòu)方面通常是B/S和C/S兩種架構(gòu),其中的C/S的使用需要在客戶安裝具有特殊功能的程序之后才能夠?qū)崿F(xiàn),而B/S則是較為普及的,因為當(dāng)前的操作終端幾乎都有自備的瀏覽器,可以輕松地實現(xiàn)瀏覽功能,使得用戶的使用效率得到提高,節(jié)省了學(xué)習(xí)用時[3]。
就目前而言,許多在線評測系統(tǒng)建立的平臺基礎(chǔ)都是LAMP,常用的PC背景系統(tǒng)是Windows,而Linux需要付出較高時間和安排成本,因此將IIS、Access/SQL Server以及.NET CLR相結(jié)合,設(shè)計出相應(yīng)的平臺[4]。
(2)評測模塊。這個部分的功能是實現(xiàn)對使用者上交的代碼和程序代碼進(jìn)行解析,在參照預(yù)設(shè)的數(shù)據(jù)信息和限定因素實現(xiàn)評測的過程。這類模塊和服務(wù)器之間的信息往來一般是利用Web Service或者Socket等。其中的Socket在進(jìn)行信息傳遞的過程中不必打開固定的端口,在某些方面也表現(xiàn)出較為良好的性能,因此信息傳遞方式可以選用Web Service。
在線評系統(tǒng)的開發(fā)是C++輔助之下完成的,使其能夠在Linux的條件下實現(xiàn)運作。但是C++只能夠在既定的平臺中發(fā)揮作用,因此不能夠在Windows環(huán)境中實現(xiàn)處理的目的,為了應(yīng)對這種狀況,必須將平臺定位為.NET,以確保評測模塊研發(fā)工作的順利進(jìn)行。
(3)數(shù)據(jù)庫。它的功能是用來保存在線評測系統(tǒng)產(chǎn)生的各種數(shù)據(jù)信息。在進(jìn)行設(shè)計的過程中,需要考慮那些沒有對在線評測系統(tǒng)有過了解的高校的情況,對于它們在數(shù)據(jù)庫上的布局工作就顯得較為復(fù)雜。在應(yīng)用.NET實現(xiàn)系統(tǒng)研發(fā)的過程中,想要實現(xiàn)對數(shù)據(jù)庫的瀏覽只能在服務(wù)器的輔助之下完成。針對數(shù)據(jù)庫和服務(wù)之間的連接媒介是微軟企業(yè)庫,針對SQL語句的差別進(jìn)行針對性的應(yīng)對,讓不同種類的數(shù)據(jù)庫實現(xiàn)緊密連接[5]。
目前,很多個體以及高校的電腦設(shè)備并沒有配備數(shù)據(jù)庫,當(dāng)能夠使用的數(shù)據(jù)只有一個的時候,則各種類型的測試都會變得較為棘手。而Windows自備了JET Database Engine,處于32位的環(huán)境中就可以在無任何外在支持的情況下實現(xiàn)對Access 數(shù)據(jù)庫的進(jìn)入,加之Access的保養(yǎng)工作較為便捷,所以其具有較強的應(yīng)用性,如果能夠兼容SQL Server,那么就會為未來系統(tǒng)的升級工作以及平臺的轉(zhuǎn)移預(yù)留下伏筆[6]。
2.2 分布式系統(tǒng)設(shè)計
當(dāng)系統(tǒng)需要處理的業(yè)務(wù)較少的情況下,可以將程序服務(wù)器、評測模塊以及數(shù)據(jù)庫安置到單一的服務(wù)器里,如此的安排使得用戶可以登錄程序服務(wù)器進(jìn)入系統(tǒng),程序服務(wù)器則會與數(shù)據(jù)庫之間產(chǎn)生聯(lián)通,評測模塊則在程序服務(wù)器的輔助下實現(xiàn)對評測表格的獲取,然后通過一系列環(huán)節(jié)將終極結(jié)果回流到程序服務(wù)器之中。
在進(jìn)行評測的過程中,可能會出現(xiàn)多臺服務(wù)器同時發(fā)出請求的狀況,為了防止出現(xiàn)擁堵的問題,因此應(yīng)該將服務(wù)項目分布在不同的服務(wù)器之中,實現(xiàn)負(fù)荷的分擔(dān),在一些特殊的情況還可以增加服務(wù)器的數(shù)量。
針對這個部分的模塊,當(dāng)用戶發(fā)出過多指令的時候,如果評測模塊不能夠?qū)崿F(xiàn)較多的指令處理,就會導(dǎo)致評測延遲的出現(xiàn)。模塊對程序的調(diào)動是通過Web Service實現(xiàn)的,因此模塊的指令只需要能夠通過網(wǎng)絡(luò)進(jìn)行傳送即可發(fā)揮作用。
3 高校程序設(shè)計教學(xué)實驗平臺應(yīng)用
實驗平臺最為重要的方面就是其現(xiàn)實應(yīng)用,使其能夠在教學(xué)和實驗中發(fā)揮出應(yīng)有的效能。因此在賦予其功能的過程中,不但要注意評測方面,還要關(guān)注其功能的拓展,實現(xiàn)使用者對于教學(xué)題目的修改增刪。
功能模塊的內(nèi)容為評測、聯(lián)系、比試以及使用者面板等四個部分。針對其進(jìn)行應(yīng)用,教師可以布置題目,為考試的隨時布置提供便利性,也可以準(zhǔn)備與實驗相關(guān)的內(nèi)容。從學(xué)生角度而言,他僅需要通過一臺PC就可以實現(xiàn)對平臺資源的使用,并且突破了時空的限制。
系統(tǒng)的管理權(quán)限的界定較為重要。系統(tǒng)管理員擁有固定的管理頁面,可以實現(xiàn)對系統(tǒng)的全方位管控,比如題目、考試、用戶準(zhǔn)入等。而且這個頁面實現(xiàn)了分類管理的功能,能夠?qū)ο到y(tǒng)中的存在差別性的各個課程實施有效的管理,并將試題也按照一定的規(guī)范進(jìn)行存放。
4 結(jié)束語
當(dāng)前,我國高校的程序設(shè)計類課程呈現(xiàn)出較多的新情況,使得教學(xué)工作的發(fā)展受到了阻礙,為了應(yīng)對這些問題,提高教學(xué)效率,開發(fā)新的模式成為十分必要的舉措。在這種情況下,教師如果不能針對各種情況做出相應(yīng)的調(diào)整,便難以適應(yīng)教學(xué)的現(xiàn)實要求。
參考文獻(xiàn):
[1]楊春明,杜炯,王磊.分布式程序設(shè)計實驗平臺的設(shè)計與應(yīng)用[J].實驗室研究與探索,2012(08):141-145.
[2]尤楓,史晟輝,趙瑞蓮.編譯程序在線評測系統(tǒng)的實現(xiàn)[J].實驗室研究與探索,2010(12):156-158.
[3]何欽銘,顏暉,蘇小紅,葉乃文.“程序設(shè)計基礎(chǔ)”課程教學(xué)實施方案[J].中國大學(xué)教學(xué),2010(05):118-119.
[4]耿國華.程序設(shè)計能力培養(yǎng)模式的探索與實踐[J].中國大學(xué)教學(xué),2009(03):116-118.
[5]萬臣,謝芳,胡泉.計算機專業(yè)程序設(shè)計課程群的建設(shè)與研究[J].合肥工業(yè)大學(xué)學(xué)報(社會科學(xué)版),2009(01):112-114.
[6]謝迪,李文新,郭煒.“百練”:一個程序設(shè)計技能訓(xùn)練與水平測試平臺[J].合肥工業(yè)大學(xué)學(xué)報(社會科學(xué)版),2008(04):178-179.
作者簡介:孫偉(1980.12-),男,山東新泰人,系副主任,講師,碩士,研究方向:計算機。
作者單位:盤錦職業(yè)技術(shù)學(xué)院,遼寧盤錦 124000