基于动态排序的高校选课系统设计

2010-10-19 01:21龚兴美
大众科技 2010年4期
关键词:教务点数排序

龚兴美

(襄樊学院物电学院,湖北 襄樊 441053)

基于动态排序的高校选课系统设计

龚兴美

(襄樊学院物电学院,湖北 襄樊 441053)

教务管理是高校教学活动的重要组成部分,是统筹各种资源开展高校课程教育的活动。教务管理系统是充分利用网络和数据资源实现教务管理的信息化的管理信息系统,它有效提高了教务管理的效率并减少了教学管理的成本。选课系统是教务管理系统一个重要的子系统,针对传统的选课系统在选课效率和公平方面存在的问题,文章介绍一种优化的、基于动态排序的高校选课系统的设计方案。

教务管理系统;选课系统;优化;动态排序

(一)教务管理系统及选课子系统简介

教务管理系统是利用数据库和网络实现的对教学信息进行展示和维护的管理信息系统,其功能是对各类教学数据的存储和管理,其用户大致分为三类:教务管理人员、教师以及学生,这三类用户通过不同的系统模块操作着不同的数据,各类用户可以进入哪些模块能够操作哪些数据由权限管理模块来实现,除权限管理外,通常教务管理系统还具有如下功能,如图1所示:

图1 教务管理系统主要功能及使用流程

(1)培养方案制定:培养方案是高等学校培养人才和组织教学过程的依据和首要环节,教务管理人员通过制定培养方案使各专业教师、学生明确专业目标,学分要求等。(2)课程维护:管理各院系专业必修课、专业选修课和公共选修课,以及各门课程对应的教材。(3)教师、教室和学籍管理:各院系教师信息、全校教室信息和课程信息是制定课程表的基础,而学生学籍的录入和维护是选课和成绩管理的基础,同时,教师和学生又是两类用户,他们需要在教学的过程中多次使用教务管理系统。(4)课程表制定:即排课。高校课程通常分为专业必修、专业选修和公共选修课,课程表即课程、开课时间、教师、教室的关联关系,必修课的上课学生或班级可在制定课程表后确定,选修课的学生根据学生的选课情况确定。(5)考试和成绩管理:和课程表的制定类似,教务管理人员需要在比较集中的一段时间内,合理分配教室资源,使得各院系的各科考试能够合理进行,考试完成后,各门课的教师需要进入系统进行学生成绩的录入,便于学生查看。(6)教学评估:部分高校的教务管理系统通过此功能让学生反映对所学课程和授课教师的评价,学生通过回答若干封闭式和开放式提问完成评价,教师可以查看学生的评价改善授课质量,教务部和各学院可以根据学生对课程的评价调整课程计划。(7)选课:由于选修课对应的学生是通过学生选课情况确定,现在的高校大多为学分制,所以选课系统必然成为教务管理系统一个重要的子系统。学生在学期开始时进入选课系统在网上查看各院系开设的各门公共选修课的详细信息,然后选择自己感兴趣的课程进行选修,课程结束前参加考试,通过后获得相应的积分,对于学生人数较多的高校,选课系统通常有两方面的问题:第一个方面是性能的问题,选课一般在学期开始的一两周内集中进行,为竞争相对稀缺的公选课,选课开始时通常会有少则数百人多则数千人同时在线进行类似的查课、选课操作,高校的教务管理系统的服务器资源通常并不十分先进,太多用户同时操作经常会使得系统性能下降、查询课程信息超时或是多数人选课出错不能成功。第二个方面是公平性的问题,和高校图书馆里的图书不同,公选课对于选课学生来说是一种相对非常稀缺的资源,它不能使大多数学生都选到需要的课程,如果使用先来先得的规则进行选课,很容易形成部分学生想选的课程都能选上而部分学生没有合适的课程选修,差别可能只是后一部分学生的选课操作晚了几个小时,一个优秀的选课系统会尽量平衡所有学生最终的选课结果。

(二)选课系统的优化

先选先得的选课方式是造成选课系统性能问题和公平性问题的根本原因,在优化方法中,首先要做到就是要改变这种即时处理选课申请的做法,因此,规定一个选课的截止时间,所有在这个时间点之前提交的选课申请由选课系统统一处理,选课的结果和提交选课申请的时间没有任何关系,所有学生不会挤在选课开始的一两天内同时选课,错开他们的选课时间将大大提升系统的性能和可靠性。

并且,选课过程还应该分阶段进行,在第一个选课阶段结束后,有些课程申请选修的学生太多导致会出现很多学生不能选上足够的课程,另外有些课程却因选修人数太少而使得开课成本过高,或者达不到最少开课人数而取消导致选修了这门课的学生无法进行选修进而获得课程积分,如果增加一个选课阶段,则那些提交申请却没选上热门课程的学生可以继续申请选修那些人数未满的课程,既使得他们能选修到一定数量的课程,也增大了课程资源的使用率。学生选课的流程和系统进行选课处理的过程如下:1.学期开始后,各院系教务管理人员录入各自学院的公选课信息,系统发布选修通知;2.学生在规定的时间段内查看各公选课信息,并随意(即可选择任意课程)提交若干门选课申请;3.第一阶段结束后,系统后台集中处理所有学生的选课申请,并在处理完成后在系统中进行展示;4.学生根据选课结果在规定时间段内进行第二阶段选课,选课通过人数已达到最大选课人数的课程不再接收选课申请,其它课程均可随意申请;5.系统后台集中处理第二阶段提交的选课申请,然后将最终的选课结果进行显示。流程如图2所示:

图2 调整后的选课流程

重点关注的是第3步即后台处理选课申请的算法,对于那些有超过其最大选课人数的学生申请选修的课程,需要有合适的方法公平的处理所有申请,使得所有学生能够最终选上的课程数不至于偏差太大,因此,需要对每个参与选课的学生记录两个参数:(x,y),分别表示其提交选课申请的课程数、已经申请选修失败的课程数,并设定一个排序变量c=x-y。在处理每门课的选课申请的过程中,需要根据选修学生的这个排序变量进行筛选,并更新每个学生的这两个参数,整个选课处理的流程如图3所示:

图3 系统处理选课申请的流程

(1)系统统计出每个选课学生的申请选课数x、已经选修失败的课程数y(初始值为0);(2)对于每一门选修人数小于最大选课人数的课程,依次批准该课程的所有选修申请,直到把所有这样的课程处理完;(3)再依次处理每一门选修人数大于最大选课人数i的课程,这就需要一个规则来筛选出这i个学生:按选修学生的排序变量c(c=x-y)由小到大的顺序进行筛选,直到达到课程的最大选课人数(如果有并列的情况,可以采用高年级学生优先,或是申请选课数x较少的学生优先),将他们的该课程的选课申请置为通过状态,然后,将剩余学生的选课失败课程数y分别加1,然后再类似处理下一门这样的课程……直到所有课程都被处理完成。选课处理流程图如下,每个学生的选课排序变量c=x-y是一个动态变化的值,每选失败一门课该值就会减1,其值表明一个学生申请选修的课程越少,选修申请失败的课程越多,则他在下一门课程的竞争中排序就越靠前,以此来实现所有学生选课的公平。整个选课过程的第5步和第3步类似,只是初始参数y有所区别。选课的5个步骤完成(系统和学生交互进行)后,就会使得选课的结果朝着比较平均的态势发展,最终较好的实现学生选课。

(三)效果对比分析

高校选课系统除了传统的先来先得选课方式,还有一种已实现的投点制选课系统。这种选课系统也是集中处理选课申请,为了使选课结果尽量公平,采用投点的方式让学生进行选课:每个学生都拥有相同的投点数n,分别以任意比例投到感兴趣的若干门课程上,每门课程的投点数就是排序时的变量,按投点数由大到小的顺序筛选每门课程的选课学生,直到达到其最大选课人数。比如,若每个学生的投点数都为100,则某学生可以按60、10、10、10、10的比例申请选修A、B、C、D、E三门课程,投点数的高低反应了该学生对每门课程的期望程度。投点制选课系统中,所有学生在竞争每门课程的时的排序变量在一开始就确定了,即为各学生投到每门课程上的投点数,所以是一种静态排序的选课系统,最终的选课结果和系统先处理哪门课后处理哪门课没有关系;而动态排序的选课系统的选课结果则与处理的课程的顺序有关,由于其排序变量是将学生的选课数和选修申请失败的课程数的和,较之投点制选课系统有以下优势:1.投点制选课系统关注的是每个学生对选择每门课的意愿,但不排除有的学生在某门课程上分配了很多投点数却未能选上的情况,比如上面举出的以60、10、10、10、10的投点数选修3门课程A、B、C、D、E的例子,如果期望选上课程A的学生太多以至于很多学生在其上分配了80、90的投点数(尽管这样的情况有些极端)导致该学生不能选上课程A,其分配在课程B、C、D、E上的投点数又太少就会最终一门课也未能选上;而动态排序的选课系统则有可能避免这一困境,每当有课程选修失败,则该学生的排序变量c就会减1,竞争后面的课程时就会占优势,从而向着较公平的选课结果发展。2.投点制选课系统有可能会浪费投点数,还是上面的例子,某学生非常期望选修课程A因此分配了投点数为70,但他可能并不了解其它学生对这门课的兴趣指数,如果只有不超过最大选修人数的同学申请选修这门课,那么该同学分配的过多的投点数就造成了浪费,他本可以减少这门课的投点数而多分配到其它课程上;动态排序则不会出现这种情况。从上面的分析可以看出,动态排序的选课系统学生的排序变量c=其提交选课申请的课程数x –已经选修失败的课程数y,竞争课程时排序变量的值越小越有优势,其中x表明了申请选修越少的学生越优先,因为选课多的学生机会也相应多一些;-y则表明了一种补偿机制,某门课程未选上,系统会调整其排序变量的值,则其会在竞争下一门课程时增加竞争力,使得选课过程向着公平的方向进行。动态排序的选课系统也有需要进一步改进的地方,主要体现在:(1)如刚才提到的,对竞争课程的处理顺序不同,会导致最终的选课结果不一致,也就是选课结果依赖于对课程的处理顺序,这是由于每个学生的排序变量的值是动态变化的,以怎样的课程处理顺序能够导致最优的选课结果还需要再探索。(2)排序变量的设定本身是一件困难的工作,以怎样的排序变量才是最公平的排序、包括怎样的选课结果是达到最公平都是需要仔细定义的,排序变量c(c=x-y)的含义是,申请选修的课程数越少、已经选修失败的课程数越多,则在后面的课程竞争中就应该越靠前。

[1] 丁国勇,徐军.学分制背景下高校投点制选课系统的设计与优化[J].南京审计学院学报,2006(03).

[2] 贺敏佳.基于web技术的高校教务管理系统的构建[J].管理观察,2009(08).

[3] 丁明珠.加强高校公选课建设与管理[J].推进学分制改革教育与考试,2009(02).

G473

A

1008-1151(2010)04-0168-02

2010-01-06

龚兴美(1954-),男,襄樊学院物电学院讲师,研究方向为物理教学研究。

猜你喜欢
教务点数排序
排序不等式
教务排课对高等院校教学运行的作用分析
恐怖排序
浅析高校教务管理存在的问题及对策
节日排序
看不到的总点数
画点数
浅谈新形势下高校教务管理人员的素质与培养
多核并行的大点数FFT、IFFT设计
以培养方案为核心的教务管理系统开发的探索与实践