中国教育和科研计算机网 中国教育 高校科技 教育信息化 下一代互联网 CERNET 返回首页
北京大学:新算法凸显选课资源分配合理性
2013-10-10 中国教育网

  随着全球网络技术的飞速发展和不断普及,各高校信息化建设进程也随之不断加快和深入,高校校务管理进入了信息化和数字化的时代。在校务管理系统中,学生选课系统是在校学生日常管理的重要组成部分。据不完全统计,国内外高校的学生选课基本上都实现网上注册选课模式。

  传统选课方式忽视人的意愿

  在选课管理中,国内高校往往面临一个难题:与学生的选课需求相比,课程资源明显不足,学校不可能满足全部学生的选课需求。尤其是学分制改革后,学生可以根据自己的兴趣自由选课,从而创建个性的知识学习框架。如果没有合理引导,会导致学生选课的盲目性和从众心理,造成热门课程的资源更加紧张。

  为了解决这个问题,很多高校对学生选课的算法进行研究并提出各种解决方案,例如先到先得算法、随机抽签算法以及概率分布算法等,并且不断地在这些算法上进行优化和改良。这类算法解决了课程资源不足的问题,并保证选课的公平性。

  但是当前的算法大多忽略一个重要因素——人的因素。从学生的角度来说,不同的学生选课意愿不同。例如,两个学生选择同样一门课程,只能有一个人选课成功,按照公平的原则,两个学生选上这门课程的概率各占50%。然而现实情况是,一个学生非常喜欢这门课程,选课愿望迫切,而另一个学生对这门课程兴趣不高,在从众的心理下选择该课程,那么这两个学生选上课程的概率是否应该有所区别。从任课教师的角度来说,有些学生的专业基础适合选择其所讲授的课程,有些学生完全不适合,那么这两类学生选上这门课程的概率就应该有所区别。学分制改革后,学生可以自由选课。为了避免盲目性,学生需要在导师的指导下选课,在选课算法中如何体现导师的指导作用亟待解决。

  综上所述,本文力图通过分析和研究影响学生选课意愿值的各个因素,提出更为公平和合理的意愿值算法公式,克服当下选课系统的不足之处,为高校实施学分制改革后的选课办法提供解决之道。

  多种选课算法的比较和分析

  在国内,网上选课系统最早采用“先到先得”算法。这个方法虽然在选课初期确实解决了手工选课的不足,但是这个模式在实际选课中出现很多问题:

  问题一:在开始选课的前后数小时内网络拥挤不堪,服务器经常会因为承受不了带宽的压力而频频告急甚至死机;

  问题二:很多学生因为选修热门课而不得不守在计算机旁边抢课,对此学生们也是怨声载道;

  问题三: 任课教师反映有些学生并不适合学习他们开设的课程,而有些适合学习的学生却没有选上课,更谈不上从选课系统中反映指导教师对学生的指导。

  为了解决短时间内网络过于拥堵的现象,有些学校采用基于BP神经网络的智能算法。该算法首先用BP神经网络对所有课程进行分类,接着通过不断训练神经网络模型,得到每个类别中每门课程在不同分类因子上的比重值,然后根据学生对课程的需求和选择,计算出课程的相似度。如果一门课程的选课人数超出限制,该系统就会给超限者提供相似度很高的另外一门课程并推荐其改选后者,从而达到分散某门课程拥挤、超额的压力。这样的做法不但不能很好地解决上述问题,反而带来其他一些问题:课程名称相似性虽然高,但是授课内容在实际教学中是千差万别的,学生对一门课程的喜好并不能转变为对类似课程的喜好,因为其中很大程度与任课教师和授课内容有关系;若出现很多学生就只喜欢某一门课,该系统就无法避免学生在短时间内抢课现象的发生。所以该算法只是在课程方面作了改进,为学生提供更多的选择机会,部分解决问题而已。

  有些学校在先到先得算法中引入年级限制。先到先得算法是指在选课资源有限的情况下按照学生选择课程的先后顺序决定上课的资格。北京大学在2002~2004年期间就采取此方法。目前国内仍有高校采用此方法,例如北京航空航天大学,在先到先得算法中引入年级限制的学校有:北京理工大学、香港中文大学。该算法将所有选课学生按照年级分为四个阶段:第一阶段将所有课程放开供大四学生选择,第二阶段将大四学生选完的课程再次提供给大三学生,以此类推。这种做法在一定程度上缓解了网络压力,但对于同年级的学生而言,他们同样面对着上文中的问题二和问题三的困扰,只不过将问题的范围缩小化。

  另外,也有一些学校,比如中山大学、复旦大学、上海交通大学、北京外国语大学,采用“预选+随机抽签”机制进行选课。一般情况下采用的做法是给学生规定一段时间进行预选,在预选结束后按照随机抽签或按照同一志愿随机抽签算法(如中国人民大学)或动态概率分布算法(如清华大学、长春理工学院)进行。所谓随机抽签是指学生在规定期限内不分先后顺序进入选课系统预先选择自己喜欢的课程,在此期限结束后管理员根据机会均等的原则进行抽签的做法。同一志愿随机抽签是指学生按照第一志愿、第二志愿的顺序在网上选择自己要选修的课程,预选结束后对某些课程进行抽签时,系统先查出第一志愿选择该课程的学生信息,如果第一志愿的学生总人数超过课程限制人数,通过随机抽签抽取出额定人数的学生;如果第一志愿的学生总人数小于额定人数,则采用类似第一志愿的方法从第二志愿的学生中抽取出剩下的人,以此类推。动态概率分布算法的做法是对选择某门课程的学生按照一个概率公式实时地计算出该学生的随机数字和课程的可选中随机数,处在随机数下的学生就可以被选中。随机抽签虽然随机算法各异,但从概率上都体现了选课学生机会均等的思想,这种办法较好地解决了上文的问题一和问题二,但无法解决问题三。

  北京大学为了能够在选课时体现学生本人对于不同课程的热切程度,率先提出意愿值的概念,引入“预选+意愿值输入+抽签”机制。虽然对先到先得的算法进行了改进,也解决了存在的三个问题,但在面对实施学分制的元培计划班学生的选课时却遇到新问题,无法保证学生能够按照导师的指导进行选课,导师制形同虚设。

  很多国外大学(如耶鲁大学、哈佛大学)至今实行学分制下导师指导选课的机制来保证选课。学生在正式选课之前必须先与自己的导师进行交流,共同讨论某学期的学习计划,在得到导师许可之后才能进行选课。学生选课之后还需要得到任课教师的认可才算最后选上此课,否则无效。从选课系统设计上,他们采用“导师许可+先到先得+任课教师许可”的算法。此算法很好地解决了问题一、二、三,也为研究中找到一种完善的选课算法提供新思路。

  多意愿值选课抽签算法

  算法产生背景

  北京大学在教学改革中建立“元培计划”班,“元培计划”班学生在入校时不分专业,实行通识教育,采取自由选课学分制,学生在导师的指导下选课,并创建自己的学习计划。因此,导师的意愿,即导师对学生的指导作用,迫切地需要反映到学生选课中。我们在算法公式中加入能够体现导师意愿的参数,结合学生意愿以及任课教师意愿,组成多意愿值公式。

  多意愿值公式

  所谓“意愿值”是指在网上选课系统中,用数值形式来表示学生、任课教师和指导教师对于各门课程的态度和想法。该数据的变化将直接影响到学生能否选修某门课程。公式设置三个意愿值和一个加权参数:同学选课个人意愿值、教师是否接受选课的意愿值、指导教师是否同意学生选课的意愿值以及年级加权数(高年级同学享受此加权)。具体内容如下:

  1. 同学选课个人意愿点体现本人选择某门课程的热切或重要程度,同学在选择一门课程时可指定该课程的个人意愿点,但全部预选课程的个人意愿点数之和不能超过99。

  2. 教师是否接受选课体现师生选择和课程组织意愿。教师根据自己对课程的要求,同时参考与学生们的沟通印象,来选择愿意接受的学生和拒绝的学生。对于每一个学生设置意愿点数,接受为100,拒绝为0。

  3. 导师是否同意学生选课体现导师对学生的指导作用,导师可通过与学生的沟通,根据学生的兴趣爱好及学习情况,协助学生构建完善的学习计划。对于学生选择的每门课程设置意愿点数,接受为100,拒绝为0。

  4. 年级参数主要为避免毕业班完不成必修学分设置,一般只考虑毕业班学生,并且只在特定课程中使用。

  根据上述四项指标,计算意愿值的公式为:A=(T×T2)×S+N。

  其中A为最后得出的一个学生一门课程的意愿值。T为任课教师是否接受或拒绝,接受为100,拒绝为0,不表态为1。T2为指导教师是否接受或拒绝,接受为100,拒绝为0,不表态为1。S为个人意愿点(0至99),由同学自主确定。N为年级,毕业班为0.5,其余为0。

  从公式中可以看出,任课教师和导师之间可以通过关系模型中的笛卡儿乘积表示,学生最终的选课不仅仅取决于自身,同时还要取决于任课教师和导师。即对于一门课程而言,任课教师和导师都能发挥各自的作用,只要有一位教师提出拒绝某学生选择该门课程,学生就无权选择此课。但是导师的作用不仅如此,导师的主要作用是针对学生下学期的选课进行指导和审查。表1为多个意愿值情况下计算出的优先级比较列表。

  多意愿值公式的设计精妙之处在于两点:首先学生选择课程的全部意愿点之和不能超过99,这就能够使学生根据选课的迫切程度合理分配意愿点,减少盲目性;其次充分体现任课教师和导师的作用,当他们选择拒绝时,学生对此门课程的意愿值直接降为0~0.5,当他们选择接受时,意愿值将会成倍放大,增加学生选上课的概率。

  利用过程定义语言描述算法

  根据上述多意愿值公式,我们将多意愿值选课抽签算法用过程定义语言描述如下:

  多意愿值选课抽签算法如图所示。

  系统模拟与结果分析

  所谓的“系统模拟”就是对多意愿值算法在选课系统中进行实验,以证明其正确性及有效性等。本文选取导师意愿值对选课造成的影响进行测试。

  测试目的

  1. 导师录入意愿值后,学生选上课的概率是否提高;

  2. 导师对学生进行指导后,学生选课的分布是否趋向合理。

  测试对象

  学生:低年级的元培生一共50人;

  导师:负责低年级学生指导的教师共5人。

  测试过程

  1. 学生正常选课,运行抽签算法,计算选课成功概率与课程分布;

  2. 导师充分了解学生的选课情况、专业学习志向、学习兴趣、考试成绩等,然后对学生选课进行指导;

  3. 导师在选课系统中录入导师意愿值(为保证测试准确,不告知学生导师意愿值的存在);

  4. 再次运行抽签算法,计算选课成功概率与课程分布。

  测试结果

  我们一共收集到导师对315门公共选修课的指导。经进一步统计,对学生所选课程表态为“接受”的,平均一个学生2.5门次,表态为“拒绝”的,平均一个学生约2门次,这说明导师很好地行使该有的权利和义务。利用多意愿值公式计算学生课程的意愿值,并经过模拟抽签,元培生选课被抽中的比例是70%,与原意愿值公式下的抽签比例33.5%相比有了质的提高。此外选课分布情况如表2所示。

  从以上数据可以看出,学生在未经指导之前,选课的盲目性较大,而且课程的重叠比例较高。

  本算法研究的理论意义在于,将教育理论中最关注的主体——人作为研究的主要对象,根据系统论、方法论研究的不同主体(学生、任课教师、导师以及系统管理者)在系统中的相互作用,运用软件工程和数据结构等计算机知识将现实世界中不同个体之间的逻辑关系转化成计算机控制的物理关系。

  本算法的应用价值在于,在高校学生数量较多,教师等资源相对紧张的情况下,在确保课程资源分配公平性的前提下,能够充分体现学生选课的意愿,发挥任课教师及导师的指导作用,使课程资源合理分配。此外,本算法不仅能很好地解决目前北大学生选课存在的问题,而且还能更好地为高校实施学分制改革后的选课办法提供解决之道。

  (作者单位:1为北京大学教务部,2为北京大学教育学院)

 

教育信息化资讯微信二维码

特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。

邮箱:gxkj#cernet.com
微信公众号:高校科技进展