張洪旗 鄧正杰
摘要:學校內(nèi)期末時考試科目繁多,手動排考耗時易錯。為解決高校排考需求,該文基于實地調(diào)研,采集各種數(shù)據(jù),設計出一套預先進行數(shù)據(jù)處理的高效簡潔,功能齊全的排考系統(tǒng)。在該文中進行了詳細的數(shù)據(jù)和需求分析,以及系統(tǒng)設計。系統(tǒng)運行結果顯示系統(tǒng)有效、可行。
關鍵詞:自動排考;教務管理;高校教育;管理信息系統(tǒng);多重約束
中圖分類號:TP311? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)13-0089-04
Abstract:There are many subjects in the final examination in the school, so it is time-consuming and error prone to arrange the examination manually. In order to meet the needs of college test scheduling, this paper designs a set of efficient, simple and fully functional test scheduling system based on field research and data collection. In this paper, the detailed data and requirements analysis, as well as the system design. The system running results show that the system is effective and feasible.
Key words:automatic exam scheduling; educational administration; higher education; management information systems; multiple constraints
1引言
排考工作是教務處常規(guī)性工作,并且由于大學的擴招,課程增多等原因,排考的工作難度也隨之增高,錯誤率也直線上升,諸多弊端[1]也浮現(xiàn)了出來。例如:1)教室空間利用率低,有時會把人數(shù)較少的班級分配到座位數(shù)較多的教室,然而人數(shù)較多班級分配到座位數(shù)較少的教室,導致一些教室空出大量座位,一些教室不夠坐的情況。2)同科目考試的學生未在同一時間進行考試,有導致題目泄露的風險,嚴重威脅著考試之公平性。3)各科考試時間緊湊,給學生增加考試壓力感,影響考生發(fā)揮。4)機考與筆試,錯分進非機房和機房。5)如果老師臨時有事,或者其他的調(diào)整,整個考試安排將會受到影響,就需要重新進行排考,重復巨大的工作量。為了解決如上問題,本文利用先將數(shù)據(jù)進行指定排序以增加教學資源的利用率和減少排考的錯誤率,模塊化,等概率分配等方法介紹了一套高效簡潔、易操作的排考系統(tǒng)。
2系統(tǒng)分析
2.1 約束條件分析
排考系統(tǒng)約束條件眾多[2-4],這就導致了排考系統(tǒng)開發(fā)的復雜度高。為了讓系統(tǒng)更加有條理,一般設計有幾項原則:1)將人數(shù)多的班級分配到座位數(shù)多的教室。2)同一科目在教室足夠的情況下,在同一時間進行考試(提高考試公平性)。3)每場考試之間都要些許時間間隔,給同學們一定的緩沖時間。4)該考試科目應該在規(guī)定的考試開放日期中完成考試。5)程序可判斷考場是否足以分配此次考試。6)筆試應安排在普通教室進行考試,機試應安排在機房進行考試。7)主監(jiān)考官為該考試科目學院的老師擔任,副監(jiān)考官為本學院老師擔任。針對排考系統(tǒng),國際上已經(jīng)有了諸多的解決思路,并將其劃分為線性優(yōu)化問題, NP完全問題等,國內(nèi)也已經(jīng)有了諸多學者,對此提出了解決方案,如徐尚進,袁利永,陳艮生等學者[5]。但是算法仍不夠靈活和簡單,對此本文提出了一個簡單且靈活的符合本校情況的排考系統(tǒng)。
2.2數(shù)據(jù)結構分析
排考系統(tǒng)的數(shù)據(jù)量較大,并且其數(shù)據(jù)結構也是較為復雜,要綜合考慮考場,考生,考試科目以及監(jiān)考老師之間的數(shù)據(jù)聯(lián)系,如圖1。
考場需要考慮座位數(shù)量是否夠考生入座,并且還要考慮是否為機房,則考場的數(shù)據(jù)結構包含:學院樓教室號,座位數(shù),是否為機房;針對現(xiàn)實的考試安排,考生基本是一個班在同一考場進行考試,并且為了滿足監(jiān)考教師的約束條件,則考試的數(shù)據(jù)結構包括:考生學號,姓名,班級,所屬學院;考試科目的限制就比較多,因此數(shù)據(jù)結構也是最為復雜的,需要考慮此科目是非為機考,并且為了配合學校的教學安排,要對該考試科目進行考試時間段的限制和滿足監(jiān)考教師的排考約束條件則考試科目的數(shù)據(jù)結構包含:科目名稱,考試人數(shù),是否為機考,考試時間,考試開始日期,考試終止日期,所屬學院。
為了宏觀把控監(jiān)考教師與考生考試之間的聯(lián)系,本文采取了先對考生進行排考,后再針對教師與整個班級之間進行匹配和排考,則監(jiān)考教師的數(shù)據(jù)結構包含:姓名,職工號,所屬學院。
2.3數(shù)據(jù)結構分析
2.3.1考場
設置一個標記(記為FlagClass)區(qū)分機房和非機房,用于針對性進行機考和筆試排考,并且大容量考場提供給班級人數(shù)較多的班級,以提高教室資源的利用率和空間的使用率,在系統(tǒng)中儲存考場信息時,利用FlagClass進行區(qū)分,分別存入ComputerRoomInfo隊列(機房隊列)和normalRoomInfo隊列(非機房隊列),可在空間復雜度不變的情況下,極大改善了刪、改、查的時間復雜度。
2.3.2科目
設置一個標記(記為FlagSubject)區(qū)分機考和非機考,用于與考場中的FlagClass進行匹配來到達,機考在機房,筆試在常規(guī)教室的排課目標。并且設置科目允許考試時間期限,規(guī)定該考試須在指定的時間段進行考試,便于后續(xù)教學安排的進行,可有效地提高教務處的工作效率。針對此限制,該系統(tǒng)還進行優(yōu)化:
ExaminationPeriod=EndTime- StartTime。
其中,ExaminationPeriod表示測試時限,EndTime表示終止時間,StartTime表示起始時間,然后將ExaminationPeriod進行由小到大進行排序,達到先將時間期限較短的科目進行先排,期限較長的科目后排,可極大地提高時間的利用率,并且可有效地解決該科目未能在指定時間內(nèi)進行考試的問題,與考場信息儲存相同,利用FlagSubject作為區(qū)分標準,分別將科目信息存入SuperiorTestInfo(機考)隊列和NormalTesrInfo(筆試)隊列中,極大改善了刪、改、查的時間復雜度。
2.3.3監(jiān)考教師
根據(jù)實踐調(diào)研,多數(shù)情況下,考試監(jiān)考官分為主監(jiān)考官和副監(jiān)考官,主監(jiān)考官為該考試科目學院的老師擔任,副監(jiān)考官為學生所在學院老師擔任,因此在教師信息讀取的時,就針對該目標進行了針對性處理,利用二重隊列的外層索引(index)來達到數(shù)據(jù)映射的目的[0,1,2……]=[“外語學院”“文學院”“信息學院”……],然后在處理教師信息時就可以將該教師加入指定的隊列中去,最后在學院中教師選取采用的方法是等概率挑選的方法,并且在挑選后會在進行時間段的標記,避免重復選擇和導致教師時間沖突等問題。
3算法設計
3.1總體思路
基于優(yōu)先數(shù)據(jù)處理的排考系統(tǒng)的實現(xiàn)算法基本如圖2所示。
基于Excel導入考生信息,將考生以班級分類儲存;將考生以班級為單位按照班級總人數(shù)由大到小的順序進行排序?;贓xcel導入考場信息,利用FlagClass(機房為true,普通教室為false)將考場進行分類儲存;將考場以容納量由大到小的順序進行排序?;贓xcel導入科目信息,利用FlagSubject(機考為true,筆試則為false)將科目信息進行分類儲存;將科目按照ExaminationPeriod(終止時間-起始時間)由小到大的順序進行排序?;贓xcel導入監(jiān)考教師信息,根據(jù)教師歸屬學院進行分類儲存。
進行部分排考(利用考生,考場,考試科目三者信息先行進行部分排考):查找所有學科中最早考試日期和最晚考試日期,得到日期差,記作n,并且創(chuàng)建n天的時間表(表中信息包括當天的日期,當天的教室及其占用情況和學科安排情況)。然后對非機考學科進行排考,首先遍歷所有需要考試的學科,從學科開始考試日期開始向后遍歷時間表,尋找可用的時間段,若早上時間足夠,則更新該天的日期表,并且break找下一個學科,進行下一個學科的排考,否則就對下午時間進行檢測,如果時間足夠考試則更新該天的日期表,并且break找下一個學科,否則對下一天的時間進行判斷,如此以往,直到找到可用的時間段,確定好考試時間后,對班級進行遍歷,將考該科目的班級放入該可用時間段中的空閑房間。同理對機考科目進行排考。完成部分排考后判斷是否所有班級都完成了所有科目的考試安排,如果為否,系統(tǒng)提示考場不足,并結束排考,否則系統(tǒng)提示部分排考成功。
緊接完成最后的排考工作:對監(jiān)考教師進行監(jiān)考安排,對每個教師創(chuàng)建一個時間安排表(監(jiān)考時間),對每門學科利用隨機數(shù)的方法從考試科目所屬學院中隨機選出一名教師,進行判斷,如該時間段該教師已經(jīng)有監(jiān)考安排,則重新隨機選擇,直到選出未有考試安排的教師,然后將其設置為本場考試的主監(jiān)考官,同理從考生所屬學院中選出教師擔任本場考試的副監(jiān)考官。
完成排考后,就對排考結果進行指定排序,最后導出最終考試安排Excel表。
3.2部分操作再優(yōu)化
在進行對該系統(tǒng)的測試中,我們發(fā)現(xiàn)了系統(tǒng)在實際操作中,仍然有許多可提升的空間,對此我們對系統(tǒng)進行了進一步的完善,如:每次完成排序后,后臺將清空系統(tǒng)中各部分的隊列,便于進行下一次排課;設置四個標記flag1,flag2,flag3,flag4分別作為考試信息,考場信息,科目信息和校區(qū)設置的監(jiān)控變量,true為成功導入,false為未導入,用于進行排考時,系統(tǒng)可在排考前就可進行先行判斷,給出提示,避免了后續(xù)因為數(shù)據(jù)不全和人員遺漏操作而發(fā)生的Bug和錯誤;對于已經(jīng)排好后的考試安排信息在輸出至Excel表之前,又進行了一次排序,使得數(shù)據(jù)展示更加的清晰,學生們以及教師們能更好地獲取考試安排信息(排序規(guī)則:第一標準:是否是機房考試(先非機房后機房)、第二標準:考試時間(考試開始時間的非遞減)、第三標準:班級名稱(遞增)、第四標準:學號的順序(遞增))
4排考數(shù)據(jù)展示
導入考生信息一般包括學號、姓名、班級和學院,如圖3。
導入考場信息一般包括教室號、座位數(shù)及教室類型,如圖4。
導入科目信息一般包括科目名稱、任課老師、考試人數(shù)、考試類型、考試時間、考試開始日期、考試終止日期和學院,如圖5。
導入監(jiān)考教師信息一般包括學工號,姓名和學院,如圖6。
考生排考結果展示一般包括課程名稱,任課老師,校區(qū),班級,考號,姓名,考試時間,座位號,教室,考試類型,主監(jiān)考官和副監(jiān)考官。
本系統(tǒng)還可以針對某些對象單獨輸出相關信息。比如:班級的考試安排表,如圖7。考生的考試安排表,如圖8。監(jiān)考老師的監(jiān)考安排表,如圖9。任課老師所任課程的考試列表,如圖10。
5結束語
隨著時代的發(fā)展,簡便化、自動化、高效化的工作越來越受到人們的歡迎。隨著高??忌鷶?shù)量的增加,學科的增多,人工排考的工作也就越來越煩瑣,于是自動高效的排考系統(tǒng)也就應運而生。可根據(jù)高校的實際情況,設計排考參數(shù),讓系統(tǒng)自動進行排考,極大地提高了高校教務人員的工作效率,以及工作的質(zhì)量,且推動了高校的現(xiàn)代化,自動化的發(fā)展。本系統(tǒng)經(jīng)過實際檢驗,具有較高的實踐性,能基本滿足高校排課需求,但仍需進一步的改善與優(yōu)化,以增加程序的健壯性和功能。但系統(tǒng)也還有一些不足的地方,比如:未考慮存在補考學生考試科目相互沖突的情況,以后將進一步改進。
參考文獻:
[1] 方琴.高校考務管理系統(tǒng)應用現(xiàn)狀及需求分析——以S大學考務管理系統(tǒng)為例[J].現(xiàn)代經(jīng)濟信息,2020(4):179-180,182.
[2] 舒清錄.基于C/S與B/S混合結構的高校智能排考系統(tǒng)設計與實現(xiàn)[J].信息技術與信息化,2020(4):16-19.
[3] 張培培,呂震宇,閆海波.基于高??荚嚬芾砑毣呐趴枷到y(tǒng)研究與設計[J].中國教育信息化,2019(9):77-81.
[4] 尹麗禎,張德政,詹欽潮.基于教務排考系統(tǒng)的研究與設計[J].內(nèi)江科技,2020,41(1):45-46.
[5] 王志剛.高校智能排考系統(tǒng)的構建[J].西安工程大學學報,2017,31(4):556-562.
【通聯(lián)編輯:王力】