一种基于学生喜好度的课程推荐方法与流程

文档序号:16363061发布日期:2018-12-22 08:16阅读:206来源:国知局

本发明涉及学校教务管理的学生选课领域,具体是一种通过获取学生课程喜好度,利用信息技术快速推荐一组可选课程的方法。

背景技术

选课,也称为课程选修,即允许学生对学校所开设的课程有一定的选择自由,包括选择课程、任课教师和上课时间,选择适合自己的学习量和学习进程。在高校普遍实行学分制的背景下,选课是学校多种有限的教学资源与众多学生的无限选课意愿冲突的矛盾体,是一种多对多的关系。

学校选课一般分为初选(筛选)、补选确认、退课三个阶段最终确定课表。选课之前,学生会事先根据学校下发的《选课手册》进行课程预先安排,一般会事先安排一个或多个选课方案。如果部分热门课程被淘汰了,补选确认阶段学生需要重新调整选课方案。

学生选课方案选择受到课程性质、课程(上课时间)组合和兴趣爱好等因素的制约,课程组合选择困难。课程选择制约因素主要有四类:课程之间上课(考试)时间、课程层次和课程开课对象等因素约束;专业人才培养方案和学校选课相关规定的约束;学生自身兴趣爱好、时间安排等因素制约。④热门课程资源竞争性制约。由于受到上述因素制约,选课阶段学生短时间内选到喜欢的课程很难,学生选择多门喜欢的课程更难。



技术实现要素:

(一)要解决的技术问题

本发明要克服现有技术的上述缺点,从学生选课需求的角度出发,根据选课的整体情况,从中选择占大部分学生希望的三个目标(选修课兴趣最高、体育课兴趣最高和所需修读课程最少)进行建模,结合上课时间、考试时间、课程层次、个人最大选课学分、体育课程门数限制等约束,快速推荐一组可选最优课程的基于学生喜好度的课程推荐方法。

(二)技术方案

本发明的一种基于学生喜好度的课程推荐方法,包括如下步骤:

步骤1:建立学生选课数学模型。选课约束条件可通过以下9个式子表示:

x1+x2+...+xn=nxn=0或1(1)

s1+s2+...+sn≤dsn=0或1(2)

b1s1+b2s2+...+bmsm≥m(3)

2yi3≤yi2+yi1(7)

yi2≤yi1(8)

c={c|yij=1,i=1,2,...k;j=1,2,3}(9)

y={yij|yij=1,i=1,2,...k;j=1,2,3}(10)

s={si|si=1,i=1,2,...m}(11)

其中,xn表示第n门必修课,n为必修课门数,sn为第n门选修课,bn为第n门课程的学分,βn为第n门选修课的喜欢程度,d为选修课可选最大门数,bm表示第m门选修课学分,m表示学生选修课最少学分,mc表示最大选课学分,表示第k门课程上课(考试)时间的13×7二阶稀疏矩阵。yij表示第i种的第j层次体育必修课,c表示已修体育课的数量,y表示已修体育课程集合,s表示已修选修课程集合。

选课约束条件中,式(1)表示必修课必选;式(2)(3)(11)表示选修课最大门数、修读学分和已修选修课程集合;式(4)表示学校选课上限学分要求;式(5)表示所选课程课表不冲突;式(6)至(10)表示体育必修课只能修一门并且只能修读未修课程或允许的高级课程。

步骤2:设定学生选课目标:

在学生选课过程中,学生的目标比较多,本专利以学生感兴趣的课程最多和修读课程数最少为目标:

目标1:选修课兴趣最高,表示为:

目标2:体育课兴趣最高,表示为:

目标3:修读课程最少,表示为:

引入非负系数λ1,λ2,λ3作为各目标的系数,则目标函数e可表示为:

e=λ1e1+λ2e2-λ3e3(λ1>0,λ2>0,λ3>0)

步骤3:定义课程对象和课程表对象。如表1和表2所示

表1课程对象定义

表2课程表对象定义

步骤4:学生输入或从系统获取必修课,生成必修课课程组合k0。

步骤5:学生输入选修课及其爱好程度、输入体育必修课及其爱好程度,输入的时候根据必修课课程表,跳出课程表冲突提醒,将存在课表冲突的课程排除掉,生成上课时间不冲突的选修课集合k1和体育必修课课程集合k2。

步骤6:输入或从系统中获取选修课历史课程,将可选选修课集合k1中的已修选修课删除,生成新集合k1′。

步骤7:输入或从系统中获取体育历史课程,生成体育同课程组课程层次+1的课程集合b,将体育必修课集合k2和b求交集,生成b′;将可选体育必修课集合k2中未修的初级课程作为一类,记做b″。将b′和b″求并集,生成新的可选体育必修课集合k2′。

步骤8:由于选修课课程数为常数d,可选选修课集合k1′的最大课程个数为k,则可选选修课组合有种。当d=1时,可选选修课为个课程的单门课程集合φ1;当d=2时,可选选修课为个课程的两门课程集合的集合φ2;当d=3时,可选选修课为个课程的3门课程集合的集合φ3;...当d=d时,可选选修课为个课程的d门课程集合的集合φd。可选选修课的集合φ=φ1+φ2+...+φd。在做求集合时候,①对选修课的上课时间进行判断,如果存在冲突,该小集合被删除;②对每个小集合的选修课学分总数进行计算,如果选修课学分总数小于学生选修课最少学分m,则该小集合被删除。

步骤9:将必修课课程组合k0和可选体育必修课k2′的每个元素集(含空集合)分别进行组合,将这些组合组合生成含一门体育课和必修课的集合的集合a,再将集合a每个元素集合和可选选修课的集合φ的每个元素集合(含空集合)进行组合,生成若干最终课程组合的集合k(空集合舍去)。循环每个最终课程组合,①如果课程表存在上课时间冲突,则将该课程组合删除;②如果课程表的最大学分大于最大选课学分mc,则该课程组合删除。

步骤10:计算最终课程组合的集合k的每个课程组合的e1、e2、e3值,再根据的e1,e2,e3权重计算最终目标e值,然后根据e值从大到小对每个课程组合进行排序,并输出到用户端,其中e值越大选课方案最优。

(三)有益效果

本发明与现有技术相比较,其具有以下有益效果:本发明能利用计算机对选课模型目标计算,快速推荐一组学生感兴趣的可选课程组合。

具体实施方式

作为本发明较佳的实施例:

一种基于学生喜好度的课程推荐方法,其特征在于:包括如下步骤:

步骤1:建立学生选课数学模型。选课约束条件可通过以下9个式子表示:

x1+x2+...+xn=nxn=0或1(1)

s1+s2+...+sn≤dsn=0或1(2)

b1s1+b2s2+...+bmsm≥m(3)

2yi3≤yi2+yi1(7)

yi2≤yi1(8)

c={c|yij=1,i=1,2,...k;j=1,2,3}(9)

y={yij|yij=1,i=1,2,...k;j=1,2,3}(10)

s={si|si=1,i=1,2,...m}(11)

其中,xn表示第n门必修课,n为必修课门数,sn为第n门选修课,bn为第n门课程的学分,βn为第n门选修课的喜欢程度,d为选修课可选最大门数,bm表示第m门选修课学分,m表示学生选修课最少学分,mc表示最大选课学分,表示第k门课程上课(考试)时间的13×7二阶稀疏矩阵。yij表示第i种的第j层次体育必修课,c表示已修体育课的数量,y表示已修体育课程集合,s表示已修选修课程集合。

选课约束条件中,式(1)表示必修课必选;式(2)(3)(11)表示选修课最大门数、修读学分和已修选修课程集合;式(4)表示学校选课上限学分要求;式(5)表示所选课程课表不冲突;式(6)至(10)表示体育必修课只能修一门并且只能修读未修课程或允许的高级课程。

步骤2:设定学生选课目标:

在学生选课过程中,学生的目标比较多,本专利以学生感兴趣的课程最多和修读课程数最少为目标:

目标1:选修课兴趣最高,表示为:

目标2:体育课兴趣最高,表示为:

目标3:修读课程最少,表示为:

引入非负系数λ1,λ2,λ3作为各目标的系数,则目标函数e可表示为:

e=λ1e1+λ2e2-λ3e3(λ1>0,λ2>0,λ3>0)

步骤3:定义课程对象和课程表对象。如表1和表2所示

表1课程对象定义

表2课程表对象定义

步骤4:学生输入或从系统获取必修课,生成必修课课程组合k0。

步骤5:学生输入选修课及其爱好程度、输入体育必修课及其爱好程度,输入的时候根据必修课课程表,跳出课程表冲突提醒,将存在课表冲突的课程排除掉,生成上课时间不冲突的选修课集合k1和体育必修课课程集合k2。

步骤6:输入或从系统中获取选修课历史课程,将可选选修课集合k1中的已修选修课删除,生成新集合k1′。

步骤7:输入或从系统中获取体育历史课程,生成体育同课程组课程层次+1的课程集合b,将体育必修课集合k2和b求交集,生成b′;将可选体育必修课集合k2中未修的初级课程作为一类,记做b″。将b′和b″求并集,生成新的可选体育必修课集合k2′。

步骤8:由于选修课课程数为常数d,可选选修课集合k1′的最大课程个数为k,则可选选修课组合有种。当d=1时,可选选修课为个课程的单门课程集合φ1;当d=2时,可选选修课为个课程的两门课程集合的集合φ2;当d=3时,可选选修课为个课程的3门课程集合的集合φ3;...当d=d时,可选选修课为个课程的d门课程集合的集合φd。可选选修课的集合φ=φ1+φ2+...+φd。在做求集合时候,①对选修课的上课时间进行判断,如果存在冲突,该小集合被删除;②对每个小集合的选修课学分总数进行计算,如果选修课学分总数小于学生选修课最少学分m,则该小集合被删除。

步骤9:将必修课课程组合k0和可选体育必修课k2′的每个元素集(含空集合)分别进行组合,将这些组合组合生成含一门体育课和必修课的集合的集合a,再将集合a每个元素集合和可选选修课的集合φ的每个元素集合(含空集合)进行组合,生成若干最终课程组合的集合k(空集合舍去)。循环每个最终课程组合,①如果课程表存在上课时间冲突,则将该课程组合删除;②如果课程表的最大学分大于最大选课学分mc,则该课程组合删除。

步骤10:计算最终课程组合的集合k的每个课程组合的e1、e2、e3值,再根据的e1,e2,e3权重计算最终目标e值,然后根据e值从大到小对每个课程组合进行排序,并输出到用户端,其中e值越大选课方案最优。

本发明能利用计算机对选课模型目标计算,快速推荐一组学生感兴趣的可选课程组合的基于学生喜好度的课程推荐方法。

上面所述的实施例仅仅是对本发明的优选实施方式进行描述,并非对本发明的构思和范围进行限定。在不脱离本发明设计构思的前提下,本领域普通人员对本发明的技术方案做出的各种变型和改进,均应落入到本发明的保护范围,本发明请求保护的技术内容,已经全部记载在权利要求书中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1