高軍,馬鐵民,高云麗
(黑龍江八一農(nóng)墾大學(xué)信息技術(shù)學(xué)院,大慶 163319)
在科技高度發(fā)展的今天,計算機(jī)及計算機(jī)技術(shù)已被廣泛應(yīng)用于社會各個行業(yè)和領(lǐng)域。排課管理是高校教務(wù)管理中一項很重要的內(nèi)容,我校應(yīng)用技術(shù)學(xué)院以往都采用人工排課,效率低、工作量大、極易出錯,經(jīng)常會出現(xiàn)教師、教室、授課時間沖突等現(xiàn)象,且由于為應(yīng)用技術(shù)學(xué)院授課的教師,均來源于我校從事本科正常教學(xué)的教師,受此影響,加大了排課的難度,在一定程度上影響了教學(xué)工作的順利進(jìn)行。我校應(yīng)用技術(shù)學(xué)院排課管理系統(tǒng)的開發(fā)很好地解決了這一問題。該系統(tǒng)能將應(yīng)用技術(shù)學(xué)院的教學(xué)任務(wù)表及本科授課信息自動導(dǎo)入到數(shù)據(jù)庫中,并通過此系統(tǒng)進(jìn)行合班課程管理及課程安排,對授課時間沖突、教室沖突、本??剖谡n沖突等各類沖突由系統(tǒng)自動檢測,按要求生成班級課表、教師課表及教室課表,并最終生成教師工作量匯總。
排課問題是一個涉及多種因素的動態(tài)組合規(guī)劃問題,它要保證各種教學(xué)資源不產(chǎn)生沖突,并且要滿足教學(xué)資源各方面的約束條件。因此一個好的排課系統(tǒng)必須滿足實現(xiàn)排課的需求。經(jīng)到我校應(yīng)用技術(shù)學(xué)院調(diào)研,該系統(tǒng)的實際需求如下。
應(yīng)用技術(shù)學(xué)院本身并不獨立擁有任何教師資源,所有任課教師只能與進(jìn)行本科教學(xué)的教師資源共享,也就是說,應(yīng)用技術(shù)學(xué)院的排課必須所有本科教學(xué)任務(wù)排定后進(jìn)行,因此在排課時必須考慮教師與正常的本科授課沖突問題。
應(yīng)用技術(shù)學(xué)院的排課安排必須依據(jù)各院提交的教學(xué)任務(wù)表,因此系統(tǒng)必須先將各院提交的教學(xué)任務(wù)表信息導(dǎo)入到數(shù)據(jù)庫中。
排課時應(yīng)考慮各教學(xué)資源的沖突問題,教學(xué)資源主要包括課程、教師、教室、時間。排課問題的求解過程就是對任何課程、班級、教師、教室安排出一個相同的空閑時間,在安排時排課不能發(fā)生沖突,同時遵守一些約束條件。所謂沖突就是將上不同課程的兩個或多個班排成了同一時間或同一教室,或在同一時間為一個教師安排了多門課程等等。
合班授課是高校教學(xué)過程中常見問題,因此排課時必須考慮合班授課問題。
系統(tǒng)必須支持多學(xué)期、多年度排課,也就是歷史數(shù)據(jù)的存儲問題。
系統(tǒng)必須具有按教師進(jìn)行學(xué)期或年度的工作量統(tǒng)計功能。
系統(tǒng)能為班級、教師、教室按學(xué)期生成相應(yīng)的課程表。
根據(jù)系統(tǒng)的需求分析,設(shè)計系統(tǒng)的功能模塊圖如圖1所示[1]。
圖1 系統(tǒng)功能結(jié)構(gòu)圖Fig.1 Structure of system function
各模塊功能如下:
資源管理模塊:對教師、課程、教室、班級及本科授課信息等資源進(jìn)行導(dǎo)入及管理,并能進(jìn)行教師工作量的統(tǒng)計。
合班授排課管理模塊:通過“合班授課設(shè)置”模塊,教務(wù)管理人員可預(yù)先設(shè)置需要全班授課的班級并記錄到數(shù)據(jù)庫中,這樣在排課時,某課程的合班授課班級將統(tǒng)一排課[2]。
排課管理模塊:該模塊是系統(tǒng)的主體模塊,利用此功能,教務(wù)管理員可很方便的完成排課任務(wù)。排課管理模塊的界面如圖2所示。
圖2 排課模塊界面Fig.2 Interface of course scheduling module
生成課程表模塊:按指定格式生成教師課程表、班級課程表及教室課程表,并可將生成的課程表導(dǎo)出到Word中。圖3為生成的班級課程表樣式。
圖3 班級課程表樣式Fig.3 Style of class curriculum
系統(tǒng)管理模塊:主要用于將數(shù)據(jù)進(jìn)行歸零及數(shù)據(jù)的備份與恢復(fù)。
在排課過程中,經(jīng)常會出現(xiàn)授課時間沖突、教室沖突、本??剖谡n沖突等各類沖突,因此系統(tǒng)采用沖突檢測算法進(jìn)行沖突檢測[3],如果檢測到有沖突發(fā)生,系統(tǒng)便會給相應(yīng)的提示信息,通知排課人員改變排課策略。排課過程及沖突檢測算法描述如圖4所示(以某個班級的排課為例)。
圖4 沖突檢測算法流程圖Fig.4 Flow chart of Conflict detection algorithm
系統(tǒng)開發(fā)采用客戶—服務(wù)器模式,即C/S模式,基于功能強(qiáng)大的.NET平臺,前臺使用目前比較流行的C#語言作為開發(fā)工具[4],后臺使用SQL SERVER 2005進(jìn)行數(shù)據(jù)管理[5]。
系統(tǒng)針對以往人工排課存在的問題,開發(fā)了適用開黑龍江八一農(nóng)墾大學(xué)應(yīng)用技術(shù)學(xué)院的排課管理系統(tǒng),不僅大大提高了排課效率,同時也杜絕了各類沖突的出現(xiàn),滿足了應(yīng)用技術(shù)學(xué)院排課需求。但由于教師資源與本科共享,且本科排課優(yōu)先,故系統(tǒng)僅實現(xiàn)手動排課功能,這一點有待于改進(jìn)。
[1]朱景福,高軍.網(wǎng)絡(luò)選課與學(xué)分制管理系統(tǒng)的建立與應(yīng)用[J].黑龍江八一農(nóng)墾大學(xué)學(xué)報,2008(3):85-88.
[2]郭俊柏,邢永麗.高校排課中的合班問題[J].湘潭師范學(xué)院學(xué)報(自然科學(xué)版),2008.30(4):8-9.
[3]高武奇,康鳳舉.基于沖突檢測算法的二級排課系統(tǒng)[J].西安工業(yè)大學(xué)學(xué)報,2008.28(5):506-510.
[4]梁冰,呂雙,王小科.C#程序開發(fā)范例寶典[M].2版.北京:人民郵電出版社,2009.
[5]黃彬,蔡德利.黑龍江省區(qū)域土壤數(shù)據(jù)庫管理系統(tǒng)的設(shè)計與應(yīng)用[J].黑龍江八一農(nóng)墾大學(xué)學(xué)報,2009(5):17-20.