一种基于赋权制的新型选课系统*

2014-03-24 01:43毛斐巧陈海鹏
中国教育技术装备 2014年22期
关键词:赋权算法评价

◆毛斐巧 陈海鹏

作者:毛斐巧,工学博士,深圳大学计算机与软件学院讲师,主要研究领域为软件工程、云计算和大数据;陈海鹏,深圳大学计算机与软件学院本科生,主要研究领域为软件工程(518060)。

1 引言

随着大学课程越来越丰富多元,选课渐渐变成选择悖论——更多的选择意味着更高的自由度,但同时也意味着学生要在众多课程中进行更多的比较、权衡,造成学生选课上的困扰。即使学生在选课系统中找到了想要的课程,也会因为不合理、不公平的排课算法,导致学生无法选上自己非常想要修读的课程。

本文提出一种基于赋权的新型选课系统,通过提供全面、不同角度的课程信息,帮助学生选择合适的、能够提升自身能力的课程。通过设计更合理的排课算法赋予学生更多自主权去调整不同课程被选上的可能性,并且引入激励机制激励学生更加认真地上课。

2 选课系统的现状及相关研究工作

内地高校选课系统存在课程数量大、排课算法不合理问题。课程数量大,缺乏客观的课程评价信息,导致学生难以选择课程[1-2]。以所在学校为例,选课系统里有上千门课程,仅公共选修课程就有上百门。但系统自身并没有提供详细全面的课程信息,很多课程都是只有课程名和授课教师描述信息,连课程简介、考核方式都没有。所以学生第一轮选课时,往往只能从课程名或者是从其他学生的口中粗略地了解课程,或者在开学初期的试听周,从第一堂课中了解课程详细信息。但事实情况是,课程的选择数量多,学生不可能去试听所有的课程来逐个了解。这样的选课方式片面、不客观,常出现某门课程是很适合某个学生的,是他所需要的,但他仅因为听到同学的负面评价而不去试听,从而在大学四年里错过一门能够提升素养、能力的课程,错过一个大学里的成长点、转折点。文献[3]也谈到了选课对专业能力和综合素养的重要影响。

大多数的选课系统还有一个大的问题是选课结果随机生成,系统排课时不考虑学生对课程的偏好程度。常有很多学生选不上自己喜欢的课程,而有的学生却能选上几门课的不公平现象。

台湾地区的高校选课系统普遍比大陆的选课系统资料丰富,功能更多,基本上都具有“课程地图”和“课程规划”等功能,帮助需要选课的学生了解自己所修读专业的发展方向以及所需要的专业素养、能力。以台湾国立成功大学为例,它的选课系统里有“通识教育课程地图”,学生可以选择学院、专业、未来升学方向和未来就业方向,提交后,系统会推荐相应的课程给学生。这样的人性化功能无疑减少了学生选课时的疑惑,同时给了学生一个很明确的目标,知道这门课程能够提升自己哪方面的能力以及专业素养,这样在修读这门课的时候就会知道重点应该学习什么。

已经有不少研究者意识到这些问题,尝试将数据挖掘技术应用于选课系统中进行改良,如文献[4-5],从不同角度一定程度上提高了选课系统排课的合理和科学性,但在考虑学生的个体偏好和自主性方面尚有欠缺。文献[6]的选课推荐模型有考虑学生的课程结构和学习能力,文献[7]所给出的选课模型主要考虑课程性质、课表、所属校区和选课时间四个影响选课因素。文献[8-9]则是从实现技术方面提供了几种选课系统性能优化方案。

3 基于赋权制选课系统

针对现有选课系统存在课程数量大和排课算法不合理这两大问题,提出基于赋权制的新型选课系统。

系统架构 基于赋权制选课系统通过提供多元的课程信息和基于赋权的排课算法来解决上述两大问题。如图1所示,该系统由赋权选课和课程信息与评价数据这两大模块组成,同时接入学生管理系统和网上课程系统,用于获取学生信息和课程相关资料,使得排课的算法更合理科学并能提供更全面的课程信息。其中赋权选课模块用于选课截止后,根据学生的赋权选课进行全校范围内的排课,而课程信息与评价数据模块则是在选课阶段为学生提供选课辅助服务,帮助学生找到合适、感兴趣的课程。

课程信息与评价数据模块及接口 课程信息与评价数据模块的设计如图2所示,课程信息与评价数据模块会提供课程评价、与课程相关的微博和课程资料三方面的数据信息,以便让学生从多方面更深入地了解课程的设立意义、授课内容和授课方式等。其中,课程的评价信息模块的数据来源是让已选修课程的学生从不同方面去评价课程,如开阔眼界、提升逻辑思维能力、提高创新能力等;课程相关微博模块的数据来源是根据课程名、授课教师名从新浪微博上抓取相关微博;课程相关资料模块的数据来源则是课程过往的课件、课程作业。

课程信息与评价接口为每个课程提供上述三方面数据,其设计实现如图3所示。已修读该课程的学生可通过该接口的展现页面所提供的可视化控件提交课程评价信息。课程相关的微博、资料则使用Simple HTML DOM parser插件,在新浪微博的搜索结果页面和学校的网上课程平台上抓取HTML页面,经过滤无关数据得到。

此外,提供自动生成课程排行榜数据来辅助进行课程推荐,课程排行榜的实现如图4所示,根据学生任选的多种评价数据来生成课程排行榜。

赋权选课机制 学生通过赋权选课获得选课的主动权,从而影响和决定系统的排课流程。学生在选课时可赋予不同课程不同的权值,而选课系统根据所有学生的选课清单确定每个课程的学生名单时,会优先将赋予同一门课程更高权值的学生加入到该课程的学生名单中。从选课结果上来说,学生赋予一门课程的权值越高,最终选上这门课程的可能性就会更高。这里对赋权定义如下:

赋权是指学生按照自己对课程的感兴趣程度,从高到低地依次对课程赋予优先级,高优先级课程的权值小于低优先级课程的权值;可形式化地描述为PV(priority, course),course表示课程名,priority∈Z+表示权值。PV1<PV2表示课程PV1·course优先于课程PV2·course,且PV1·priority<PV2·priority。

例如,学生赋权结果PV1(1,面向对象程序设计)和PV2(2,博弈论)显示出学生对面向对象程序设计课程兴趣程度高,优先选择该课程。系统会从最高优先级priority=1的选课开始进行排课,若某课程的人数未满,则赋予这门课 priority=1的学生会被添加到这门课的学生名单中。当priority=1的选课处理完后,系统接着就处理PV2的选课,以此类推,直至处理完所有选课或是所有课程已满人。

以表1为例,在不考虑主选专业、课程类别等因素,只考虑学生对课程赋予的权值,并且设定每门课只有一个名额的情况下,在优先级priority=1这一轮的排课过程中,甲会被加入到面向对象程序设计的学生名单中,乙会被加入到算法分析与设计的学生名单中,丙会被加入到博弈论的学生名单中,丁会被加入到数据库的学生名单中。以此类推,系统会继续处理优先级2、3、4、5的选课。最终的选课结果如表1所示。

由于大学课程分为必修课、专业课、公共选修课这三大类课程,而且热门课程的选课人数多,因此,排课算法的设计必须要考虑到必修课和专业课的主选学生要优先于其他学生,同时还要考虑到如何在同一优先级上剔除超额学生以及补偿他们,这些问题的具体解决策略如下。

1)必修课程和专业课程的排课。必须修读或主修某门课程的学生将被优先加入到该课程的学生名单中,若还有空位,其他学生才会被加入到名单中。

砖子眨巴着眼睛,太阳从西边出来了,赵仙童日常从不喝酒的,也反对他酗酒。脑子又一轮:有事跟我商量?什么事这么慎重?平时大都她一人说了算,实在了不得的事才想起我是她男人,才拿我当二分钱数三遍的。

2)剔除超额的学生。将出勤率、绩点等体现学生学习的数据引入到系统排课的决策过程中,以此作为对学生的激励机制。在同一优先级上,若必须修读某门课程的学生多于限选人数,系统则将根据学生上学期的出勤率、绩点等对学生进行降序排序,排在前面的学生将被优先加入到课程的学生名单中。

3)补偿被剔除的学生。假设,甲学生赋予A课程优先级1,但由于选择A课程的人数多于课程限选人数,系统在处理优先级为1的课程时没有将他加入到A课程的学生名单中,这个时候系统出于补偿策略,将会把他优先级1以下的选课全部提升一个优先级,即优先级2、3、4等选课会变为1、2、3等,然后系统会再处理一遍优先级为1的选课,即从优先级2提升到1的选课,直至没有优先级为1的课程。

当学生的选课截止后,系统就会开始进行排课,排课算法设计实现如图5所示,分两轮进行。第一轮只针对必修课、专业课进行排课,并且限定为必须修读这些课程的学生;第二轮排只考虑学生选课时的赋权。

4 系统试运行效果及评价

赋权选课的意义在于根据学生的意愿去排课,让大多数学生选上他们想要的课程,因此,评估选课结果的重点在于学生选上课程的比例、选上的课程数量,以及每个优先级上学生选上课程的比例。在系统测试和试运行阶段,采取随机生成选课清单数据,模拟学生的赋权选课行为,然后再由排课算法来决定哪些学生能选上哪些课程,得到最终的选课结果。最后通过分析选课结果来评估赋权选课的效果。

如表2所示,假设有1万名学生。根据经验值,若平均每名学生选7门课,每门课的最大人数是50人,那么至少要有1400门课。为使更多课程的选课人数超过额定的50人,实验结果更明显,将课程数设置为1000门。在区域[50%,100%]随机取值作为每个学生的出勤率。为每门课程随机分配一个[0,40]的值表示课程属性,比如0表示公共选修课。上述模拟选课数据在系统中测试运行之后的选课结果数据如表3第2列所示,第3列是对比随机排课方法在各个优先级上成功选课的人次的结果。分析表中数据得知,在优先级高于5成功选上课程的人次中(表中阴影数据),赋权选课远高于随机排课,这也说明大多数学生选上了他们期望的课程。

表1 所有学生的最终选课结果

表2 用于验证选课效果的数据

5 总结及展望

针对大学课程数量多和排课不合理,本文提出一种基于赋权的新型选课系统。首先通过提供多维度的评价信息帮助学生找到需要的、感兴趣的课程;然后给出基于赋权的排课算法赋予学生更多的自主权,让大多数学生选上他们最想要学习的课程;最后系统排课时还考虑了学生过往的出勤率、绩点等学习表现,作为激励机制,激励学生认真上课,减少逃课。实验结果表明,所设计给出的系统的确能够使得大多数学生选上他们想要的课程。

表3 赋权排课和随机排课的各个优先级成功选课人次

1)进一步调整算法,不只是让大多数学生选上他们想要的课程,而是要让认真上课的学生获得更大的选上课程的可能性,如给予他们两次赋权priority=1的机会;

2)引入数据挖掘技术,基于过往的课程信息、课件、选课信息、教学评估、学生对课程的评价和学生自身的信息等,实现个性化推荐课程;

3)将学生的职业规划作为选课推荐的考虑因素,使得推荐的课程更加符合学生需求;

4)利用数据挖掘技术,帮助学校做开课决策和提高教学管理水平。

[1]张翼星.北京大学通选课的现状、问题和建议[J].现代大学教育,2011(2):96-101.

[2]张维,王存宽.基于学生自主选课制的实践反思[J].中国大学教学,2011(10):58-60.

[3]张国梁,孙照斌,曹秀芬,等.学分制下学生选课心态对就业能力和职业发展的影响[J].中国林业教育,2011,29(1):23-26.

[4]冯克鹏.基于数据挖掘的个性化高校选课推荐算法研究[J].数字技术与应用,2012(8):63-64.

[5]王博,刘庆刚,张琴.数据挖掘在选课系统中的应用[J].计算机与数字工程,2011,39(5):83-86.

[6]祁衰然,潘志成,罗敬,等.大学选课推荐系统的数学模型[J].南开大学学报:自然科学版,2011,44(4):50-55.

[7]王俊生.学分制下影响选课的因素分析及模型构建[J].高教探索,2010(5):80-82.

[8]刘乃嘉,彭宇,王鑫,等.清华大学网上选课性能优化研究与实践[J].实验技术与管理,2011,28(5):247-248.

[9]黄瑞雪,李翠华,蔡炳跃.基于完全学分制的选课系统的性能优化[J].厦门大学学报:自然科学版,2011,50(3): 535-539.

猜你喜欢
赋权算法评价
论乡村治理的有效赋权——以A县扶贫项目为例
企业数据赋权保护的反思与求解
中药治疗室性早搏系统评价再评价
基于MapReduce的改进Eclat算法
试论新媒体赋权
Travellng thg World Full—time for Rree
进位加法的两种算法
基于改进AHP熵博弈赋权的输变电工程评价
一种改进的整周模糊度去相关算法
保加利亚转轨20年评价