陈锦富,葛志强,陈 静,贺 祺,赵珍华
(江苏大学计算机科学与通信工程学院,江苏 镇江 212013)
学生希望自己选择的课题能够与自身能力相当,教师希望选课题的学生均能够胜任,系统管理员希望每个学生都能选到题,每个课题都能够顺利结题。满足上面几个要求的话,才能真正算是一个合格的毕业设计选题系统[3-5]。
现行毕业设计选题系统的选题算法,虽然每个课题都能够被任意一个学生所选择,但很容易发生抢选课题现象,甚至出现基础比较差的学生选择到较难课题,导致其能力和选题没有得到合理匹配。
选题算法的主要流程如图1所示。图中的PD为教师评定的课题难度值,PT为课题的类型值,PG为课题的权重值,SA为学生自我评定值,G为学生平均成绩的两倍,SG为学生的权重值。以上的所有参数取值范围都是 1.0 ~10.0。
图1 算法的主要流程图
本毕业设计选题算法首先从教务系统中取出学生的专业课学习成绩,再在学生兴趣方向的基础上自动筛选出适合该学生选择的课题,然后学生在列出的课题中进行选择。
教师在进行学生选题之前已经把所有的课题都放进了系统,系统根据教师给的课题难度以及相应的课题类型生成该课题的权重值PG;学生选题时,系统会根据学生专业课的成绩、学生的兴趣方向以及具备的能力生成该学生的权重值SG;系统根据学生的SG在所有的课题中利用程序中的匹配函数匹配相对应的可选课题,输出供给学生选择。学生选题后,教师审批和通过该生选得的课题;如果教师审批有意见的话,在学生退选该课题之前教师能够修改审批结果。这样能比较好地实现学生与教师之间的双向选择。
输入:数据库课题表中的课题号PN;
输出:课题经过权重计算后得到的权重值PG。
①大写字母表示形状、特征、性质,如:U-tube U形管;I-beam工字钢;T-ruler丁字尺;Y-section三通接头管。
输入:学生学号SN;
输出:适合学生选择的课题。
(1)由学号查出学生的专业课的成绩;
(2)根据专业课成绩计算学生的G值;
(3)从数据库中查出学生自我评定值SA;
(4)计算学生权重SG=G*80%+SA*20%;
(5)从数据库中选出课题权重值PG取值范围在[SG-1,SG+1]的课题。
(6)根据学生的爱好、能力、课题的描述及要求进行匹配,最后确定筛选课题。
假设刚开始系统初始化时,教师已经向系统中录入了n个课题,那么在计算n个课题的各自权重时,其时间复杂度为O(n)。此后主要时间开销在查找所有课题找到适合该生的课题。此时如果系统中将所有课题已经按照权重值PG的大小排好了序,采用二分搜索算法先找到与SG-1最近的一个PG,然后从该PG到PG+2都是该学生能够选择的课题。算法最好时,时间复杂度能达到O(log2n),最坏的情况下,时间复杂度O(n)。这样的话,此选题算法的执行效率很高,执行时间为毫秒级。
在智能算法的数据库中,有两张核心的表,一张是学生表,另一张是课题表,分别存储各个毕业生和课题的相关信息。
学生表中的各数据项包括:hobbies(学生的爱好),havedSkills(学生已会的技巧),Gvalue(学生在大学期间的专业课考试成绩G值,转化成1-10间的值),Ability(学生自己评价的能力值)和SG(最后计算出来的学生权重值)。
课题表中的数据项包括:introduce(课题的介绍),require(课题的要求),type(课题的类型),pay(课题的花费),difficulty(教师进行设置的课题难度值)和PG(最终计算出来的课题的权重值)。
实验中选择了学院的一个行政毕业班级,对选题系统进行测试,班级人数为30人,测试的课题数也是30。用智能选题算法来对这个班的学生进行选题工作,最终很好地达到了预期的选题效果。
我院毕业设计选题系统每年都在改进与完善。2007级系统采用的是随机选题以及先到先得的思想,即学院的所有课题该届毕业生都能选,并且课题的审定按照学生的选定顺序,先选的学生先得课题。2008级毕业生使用的选题系统在07级选题系统的基础上增加了专业的限制,即每个专业的学生只能选择系统为该专业所限定的课题,几个学生对于同一个课题的选择按照选择的先后顺序生成相应的优先级,先选择的学生优先级高。教师在对课题的审核时,可以从系统中调出选择该课题学生的学习成绩信息,从主观上选择一个教师认为适合的学生。如果教师不进行主观选择,系统会自动选择优先级最高的学生得到该课题。
上述的三个选题算法(2007级、2008级及本算法)都选择一个30人的行政班进行算法的效果分析。分析角度是从学生、教师和系统管理员展开,分别对30个学生、相应的课题教师以及系统管理员展开满意度调查。对学生和教师的调查结果如图2和图3所示。
图2 学生满意度
图3 教师满意度
(1)从图2学生满意度调查结果可以看出,采用本选题算法得到的结果显示,很满意的学生已经超过了半数,不满意的学生仅为10%。
(2)从图3中的教师满意度可以看出,在采用了本选题算法之后,教师对于选题系统评价很满意的人数明显增加。说明学生可以选到自己能够胜任的课题,这样教师的工作就会顺利许多。
(3)调查发现,系统管理员对于毕业设计选题系统的满意度达到90%。说明了本选题系统在管理员层面的实用性,管理员不必费很多的功夫去解决学生选不到课题,也不须催促学生结题等工作。
本选题算法的执行效率要比传统选题算法更高。采用本选题算法进行毕业设计选题时,系统首先会根据学生在校专业课成绩、个人能力和兴趣爱好从系统中筛选出适合该学生选择的课题。学生从系统筛选的课题中选题的话就比较简单了,因为这些课题都是在自身能力范围内并且是有兴趣的课题,这相对于把所有的课题都阅读分析一遍而言,效率会更高。
此外,由于本选题算法限定了学生在比较适合自己的范围内进行选题,一些相对比较好做或比较抢手的题目就不易发生抢选现象,也不会导致专业能力比较差的学生选不上课题。可见,本选题算法在整个毕业设计的选题工作中有效地缩短整个毕业设计选题工作所用的时间,为高校毕业设计选题工作开拓了一种新思路。
[1]陈明军,何通能,胡轶.毕业设计存在的问题及对策[J].南京:电气电子教学学报,2005(27):108-110
[2]徐志江,王燕,孟利民.本科毕业设计管理及问题分析[J].北京:计算机教育,2011(17):16-18
[3]李幼立.基于ASP.NET的毕业设计选题系统构建[J].太原:科技情报开发与经济,2004(20):88-89
[4]黄家骏,郭兵.抓好毕业设计环节提高毕业设计质量[J].太原:华北工学院学报,2011(28):383-384
[5]杨帆.本科毕业设计教学模式创新研究[J].北京:计算机教育,2010(22):78-81