陳錦富,葛志強,陳 靜,賀 祺,趙珍華
(江蘇大學計算機科學與通信工程學院,江蘇 鎮(zhèn)江 212013)
學生希望自己選擇的課題能夠與自身能力相當,教師希望選課題的學生均能夠勝任,系統(tǒng)管理員希望每個學生都能選到題,每個課題都能夠順利結(jié)題。滿足上面幾個要求的話,才能真正算是一個合格的畢業(yè)設(shè)計選題系統(tǒng)[3-5]。
現(xiàn)行畢業(yè)設(shè)計選題系統(tǒng)的選題算法,雖然每個課題都能夠被任意一個學生所選擇,但很容易發(fā)生搶選課題現(xiàn)象,甚至出現(xiàn)基礎(chǔ)比較差的學生選擇到較難課題,導致其能力和選題沒有得到合理匹配。
選題算法的主要流程如圖1所示。圖中的PD為教師評定的課題難度值,PT為課題的類型值,PG為課題的權(quán)重值,SA為學生自我評定值,G為學生平均成績的兩倍,SG為學生的權(quán)重值。以上的所有參數(shù)取值范圍都是 1.0 ~10.0。

圖1 算法的主要流程圖
本畢業(yè)設(shè)計選題算法首先從教務系統(tǒng)中取出學生的專業(yè)課學習成績,再在學生興趣方向的基礎(chǔ)上自動篩選出適合該學生選擇的課題,然后學生在列出的課題中進行選擇。
教師在進行學生選題之前已經(jīng)把所有的課題都放進了系統(tǒng),系統(tǒng)根據(jù)教師給的課題難度以及相應的課題類型生成該課題的權(quán)重值PG;學生選題時,系統(tǒng)會根據(jù)學生專業(yè)課的成績、學生的興趣方向以及具備的能力生成該學生的權(quán)重值SG;系統(tǒng)根據(jù)學生的SG在所有的課題中利用程序中的匹配函數(shù)匹配相對應的可選課題,輸出供給學生選擇。學生選題后,教師審批和通過該生選得的課題;如果教師審批有意見的話,在學生退選該課題之前教師能夠修改審批結(jié)果。這樣能比較好地實現(xiàn)學生與教師之間的雙向選擇。
輸入:數(shù)據(jù)庫課題表中的課題號PN;
輸出:課題經(jīng)過權(quán)重計算后得到的權(quán)重值PG。
①大寫字母表示形狀、特征、性質(zhì),如:U-tube U形管;I-beam工字鋼;T-ruler丁字尺;Y-section三通接頭管。
輸入:學生學號SN;
輸出:適合學生選擇的課題。
(1)由學號查出學生的專業(yè)課的成績;
(2)根據(jù)專業(yè)課成績計算學生的G值;
(3)從數(shù)據(jù)庫中查出學生自我評定值SA;
(4)計算學生權(quán)重SG=G*80%+SA*20%;
(5)從數(shù)據(jù)庫中選出課題權(quán)重值PG取值范圍在[SG-1,SG+1]的課題。
(6)根據(jù)學生的愛好、能力、課題的描述及要求進行匹配,最后確定篩選課題。
假設(shè)剛開始系統(tǒng)初始化時,教師已經(jīng)向系統(tǒng)中錄入了n個課題,那么在計算n個課題的各自權(quán)重時,其時間復雜度為O(n)。此后主要時間開銷在查找所有課題找到適合該生的課題。此時如果系統(tǒng)中將所有課題已經(jīng)按照權(quán)重值PG的大小排好了序,采用二分搜索算法先找到與SG-1最近的一個PG,然后從該PG到PG+2都是該學生能夠選擇的課題。算法最好時,時間復雜度能達到O(log2n),最壞的情況下,時間復雜度O(n)。這樣的話,此選題算法的執(zhí)行效率很高,執(zhí)行時間為毫秒級。
在智能算法的數(shù)據(jù)庫中,有兩張核心的表,一張是學生表,另一張是課題表,分別存儲各個畢業(yè)生和課題的相關(guān)信息。
學生表中的各數(shù)據(jù)項包括:hobbies(學生的愛好),havedSkills(學生已會的技巧),Gvalue(學生在大學期間的專業(yè)課考試成績G值,轉(zhuǎn)化成1-10間的值),Ability(學生自己評價的能力值)和SG(最后計算出來的學生權(quán)重值)。
課題表中的數(shù)據(jù)項包括:introduce(課題的介紹),require(課題的要求),type(課題的類型),pay(課題的花費),difficulty(教師進行設(shè)置的課題難度值)和PG(最終計算出來的課題的權(quán)重值)。
實驗中選擇了學院的一個行政畢業(yè)班級,對選題系統(tǒng)進行測試,班級人數(shù)為30人,測試的課題數(shù)也是30。用智能選題算法來對這個班的學生進行選題工作,最終很好地達到了預期的選題效果。
我院畢業(yè)設(shè)計選題系統(tǒng)每年都在改進與完善。2007級系統(tǒng)采用的是隨機選題以及先到先得的思想,即學院的所有課題該屆畢業(yè)生都能選,并且課題的審定按照學生的選定順序,先選的學生先得課題。2008級畢業(yè)生使用的選題系統(tǒng)在07級選題系統(tǒng)的基礎(chǔ)上增加了專業(yè)的限制,即每個專業(yè)的學生只能選擇系統(tǒng)為該專業(yè)所限定的課題,幾個學生對于同一個課題的選擇按照選擇的先后順序生成相應的優(yōu)先級,先選擇的學生優(yōu)先級高。教師在對課題的審核時,可以從系統(tǒng)中調(diào)出選擇該課題學生的學習成績信息,從主觀上選擇一個教師認為適合的學生。如果教師不進行主觀選擇,系統(tǒng)會自動選擇優(yōu)先級最高的學生得到該課題。
上述的三個選題算法(2007級、2008級及本算法)都選擇一個30人的行政班進行算法的效果分析。分析角度是從學生、教師和系統(tǒng)管理員展開,分別對30個學生、相應的課題教師以及系統(tǒng)管理員展開滿意度調(diào)查。對學生和教師的調(diào)查結(jié)果如圖2和圖3所示。

圖2 學生滿意度

圖3 教師滿意度
(1)從圖2學生滿意度調(diào)查結(jié)果可以看出,采用本選題算法得到的結(jié)果顯示,很滿意的學生已經(jīng)超過了半數(shù),不滿意的學生僅為10%。
(2)從圖3中的教師滿意度可以看出,在采用了本選題算法之后,教師對于選題系統(tǒng)評價很滿意的人數(shù)明顯增加。說明學生可以選到自己能夠勝任的課題,這樣教師的工作就會順利許多。
(3)調(diào)查發(fā)現(xiàn),系統(tǒng)管理員對于畢業(yè)設(shè)計選題系統(tǒng)的滿意度達到90%。說明了本選題系統(tǒng)在管理員層面的實用性,管理員不必費很多的功夫去解決學生選不到課題,也不須催促學生結(jié)題等工作。
本選題算法的執(zhí)行效率要比傳統(tǒng)選題算法更高。采用本選題算法進行畢業(yè)設(shè)計選題時,系統(tǒng)首先會根據(jù)學生在校專業(yè)課成績、個人能力和興趣愛好從系統(tǒng)中篩選出適合該學生選擇的課題。學生從系統(tǒng)篩選的課題中選題的話就比較簡單了,因為這些課題都是在自身能力范圍內(nèi)并且是有興趣的課題,這相對于把所有的課題都閱讀分析一遍而言,效率會更高。
此外,由于本選題算法限定了學生在比較適合自己的范圍內(nèi)進行選題,一些相對比較好做或比較搶手的題目就不易發(fā)生搶選現(xiàn)象,也不會導致專業(yè)能力比較差的學生選不上課題。可見,本選題算法在整個畢業(yè)設(shè)計的選題工作中有效地縮短整個畢業(yè)設(shè)計選題工作所用的時間,為高校畢業(yè)設(shè)計選題工作開拓了一種新思路。
[1]陳明軍,何通能,胡軼.畢業(yè)設(shè)計存在的問題及對策[J].南京:電氣電子教學學報,2005(27):108-110
[2]徐志江,王燕,孟利民.本科畢業(yè)設(shè)計管理及問題分析[J].北京:計算機教育,2011(17):16-18
[3]李幼立.基于ASP.NET的畢業(yè)設(shè)計選題系統(tǒng)構(gòu)建[J].太原:科技情報開發(fā)與經(jīng)濟,2004(20):88-89
[4]黃家駿,郭兵.抓好畢業(yè)設(shè)計環(huán)節(jié)提高畢業(yè)設(shè)計質(zhì)量[J].太原:華北工學院學報,2011(28):383-384
[5]楊帆.本科畢業(yè)設(shè)計教學模式創(chuàng)新研究[J].北京:計算機教育,2010(22):78-81