本发明涉及一种排课和排课系统,具体涉及一种针对中高考的智能选课排课系统方法。
背景技术:
2014年《国务院关于深化考试招生制度改革的实施意见》印发,2017是全面推进之年。
2018年开始,北京市新中考考试科目为3科必考加3科选考加体育,通过排列将有9种科目组合供学生选择。选考科目将按照分数从高到低按照100%、80%、60%赋值折分,又将出现54种折分方法。
北京新高考改革将从2020年开始实施,考试科目调整为“3+3”模式,即语文、数学、外语(课程)三门必考,然后在物理、化学、生物、历史、政治、地理六门学科中任选三门进行考试,并计入总分。“6选3”中的3门以等级确定,换算成分数,计入总分。从2020年开始,中考高考正式并轨。
面向新高考的选课走班中遇到的困难如下:
学生出现的困难为:1、学生不会选课。2无法完全满足学生的意愿。3、选课与选老师的关系不清楚。
老师出现的困难为:1、学生信息的收集与互通,2、问题学生的教育,3、学生管理的问题。
评价体系的困难为:1、评价的维度与效度,2、教学班、行政班评价,3、学生、教师的个体评价。
课程体系的困难为:1、自习课问题,2、同头和代课问题,3、老师听课问题。
技术实现要素:
本发明的主要目的是提供一种选课和排课系统。
本发明的另一目的是提供一种选课和排课系统的选课和排课方法。
本发明提供的选课和排课系统包括选课系统和排课系统,所述选课系统与所述排课系统之间能够实现数据交换;其中,所述选课系统包括依次连接的第一应用服务层模块、第一算法模块、数据访问层模块、缓存层模块以及数据库集群模块,所述第一应用服务层模块用于与外部数据的交换,所述第一算法模块用于对数据进行处理,数据访问层模块用于对数据库的访问,所述缓存层模块用于数据暂时性的保存起来以供读取和再读取,所述数据库集群模块用于数据的存储;并且,所述排课系统包括依次连接的第二应用服务层模块、第二算法模块、计算平台和数据存储层模块;所述第二应用服务层模块用于与外部数据的交换,所述第二算法模块和所述计算平台用于对数据进行处理,所述数据存储层模块用于数据的存储。
一个优选的方案是,所述第一算法模块采用算法引擎、规则引擎和业务逻辑对数据进行处理;所述第二算法模块采用规则引擎、模型管理及机器学习算法训练对数据进行处理;所述数据存储层模块包括本地数据和云端数据。
进一步优选的方案是,所述启发式算法按照下面的步骤进行:
x1:通过第二应用服务层模块向所述排课系统输入一组课程活动:a_1...a_n,并且输入约束条件;
x2:所述排课系统对所述步骤x1输入的数据按照设定的算法进行处理,且将每个课程活动放在一个时隙内,并遵守约束条件,由此得到排课结果;
进一步优选的方案是,在所述x2步骤中,具体包括下面的步骤:
r2:所述第二算法模块尝试将每个活动a_i放置在允许的时隙中,按照上述顺序,一次一个;搜索a_i的可用时隙t_j;如果有多个时隙则随机选择;如果无可用,则做如下的递归交换:
r21:对于每个时隙t_j,如果将a_i放入t_j,将生成一个列表,保存该步骤不一致的活动;
r22:选择冲突活动数最少的时隙槽t_j。
进一步优选的方案是,在所述步骤r22中:
课程活动包含3个活动:a_p,a_q,a_r;这三个课程活动的排布按照下面的步骤进行:
r221:将a_i放在t_j并改变使a_p,a_q,a_r为未分配状态;
r222:递归地尝试放置a_p,a_q,a_r;
r223:如果成功放置a_p,a_q,a_r,返回成功,否则尝试其他时隙;
r224:如果所有或合理数量的时隙被尝试失败,则返回未成功;
r225:如果没有成功放置a_i,则尝试r22和r221,但不做递归。
本发明还提供了一种选课和排课系统的选课和排课方法,其按照下面的步骤进行课程排布:
s1:设计课程;
s2:配置课程并把课程数据传输到所述选课系统;
s3:发布待选课程供学生自主地选择课程;
s4:所述选课系统把选课数据通过所述第二应用服务层模块输入到所述排课系统;
s5:所述排课系统对选课数据进行处理,然后生成学生课表和教师课表;
s6:通过网页或者应用软件接收并查看来自所述排课系统的学生课表;
s7:通过网页或者应用软件接收并查看来自所述排课系统的教师课表。
一个优选的方案是,在所述步骤s5中,按照下面的步骤进行数据处理:
q1、对于每一个教师ti的教学班ci,设定一个教室ri跟教学班对应;
q2、对于每一个学生sj,设定学生的课程lj(n),n是学生选择的课程数;
q3、对于每一个sj-lj,作为算法中的一个活动a_j进行调度;
q4、对于每个ti_ci_ri,作为一个a_i进行调度;
q5、对于每个教师ti,指定其授课课程li;
q6、在实际计算时,特别优选的是在上述启发式算法过程中,如果a_j和a_i对应的li和lj相等,则允许两个活动放入同一个时隙;
q7、通过重复上述步骤,最终计算出每个学生和老师的课表。
本发明还提供了另一种选课和排课系统的选课和排课方法,其按照下面的步骤进行课程排布:
y1:设计课程;
y2:配置课程并把数据输入到所述排课系统;
y3:该排课系统对汇总的数据进行处理输出教师课表;
y4:所述排课系统把得到的数据输出到所述选课系统;
y4:教师通过网页或者智能设备的应用软件接收并查看来自所述选课系统提供的教师课表;
y5:学生通过网页或者智能设备的应用软件接收并查看来自所述选课系统提供的学生课表;
y6:学生自主地按照学生课表选择课程至选课结束。
根据本发明提供的选课和排课系统的选课和排课方法,其产生的有益效果为:排课方式灵活、颗粒度细、约束自由组合、走班与非走班结合、兼容度高。全自动课表生成算法,允许半自动或手动分配,排课力度可以细化到每一个学生,每一个约束条件的权重可以灵活调整,支持走班和非走班同时排课。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1是本发明的选课系统和排课系统实施例的选课系统的示意图。
图2是本发明的选课系统和排课系统实施例的排课系统的示意图。
图3是本发明的选课系统和排课系统实施例的志愿分类算法的示意图。附图标记说明
10、选课系统,11、第一应用服务层模块,12、第一算法模块,13、数据访问层模块,14、缓存层模块,15、数据库,20、排课系统,21、第二应用服务层模块,22、第二算法模块,23、计算平台模块,24、数据存储层模块,25、规则引擎,26、模型管理,27、机器学习算法训练。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
本发明的实施例的选课和排课系统在选课时的设计原则如下:
1、选课指导:根据学生的职业规划、历程成绩、兴趣特长、学科压力,结合学校的具体情况,给出学生尽可能全面的选课指导建议;
2、机会均等:尽可能满足所有学生自由选课的愿望,每个学生都有均等的选课机会。
3、教学机会:保证每个学生能按照教学计划,顺利地完成选课工作。
4、友好度高:保证每个学生能按照教学计划,顺利地完成选课工作。
本发明实施例的选课和排课系统在排课时的设计原则如下:
1、满足走班需求:以满足学校教学要求为第一要务,支持走班授课,分层教学等新课改的要求和学校的特殊需求。
2、满足不同学校的需求:根据学校的教学规模和设施配备情况,支持基本走班、扩展走班、完全走班等不同的模式。
3、快速灵活:能够快速排出课表,结果准确,并能灵活调整规则和排课结果。
4、操作简便:简洁、直观的操作界面,能够让初学者快速应用。
第一实施例:
本实施例的选课和排课系统包括选课系统和排课系统。选课系统与排课系统之间能够实现数据交换。
具体地,第一算法模块12包括如下的算法。
1、先到先得算法。
2、随机抽签算法
核心思想就是将选课分为两个过程:预选和抽签。在第一个预选阶段,任意选课学生都是可以通过选课系统进行选课,选择的数量不限;当预选结束后,则进入抽签过程:
①如果某一课程选课人数是小于该课程的选课容量的上限且大于该选课容量的下限,则所有选择该课程的学生选课成功;
②如果选课人数小于该选课人数的下限,则该选课课程取消,通知选择该课程的学生取消原因及告知重新选择其他课程。
③如果某一课程选课人数大于该课程的选课容量,则随机将多余的人数筛选出来,告知其重新选课。
3、志愿分类算法
该算法的原理类似与高考录取工作,它也是把选课阶段分为预选和筛选两个过程。
在预选阶段,允许每个学生在选课时对于有多个课程班的课程可以有几个优先级不同的志愿选择。系统处理时,按照不同的志愿进行不同的处理。
首先满足第一志愿的要求,对于处于第1志愿人数超过该课程限选人数时,采用平均分布概率算法来进行处理,筛选出多余的人数;若第1志愿人数小于该课程的限选人数,则全部选中。
第1志愿遍历完后再遍历第2志愿,第2志愿的处理方法:若某课程班的第1志愿人数已达到限选人数,则不再处理第2志愿;否则,将第1志愿该课程班的不足人数作为第2志愿的最大可选人数,处理方法同第1志愿。
以此类推,再进行后续志愿的处理。具体地,可以参加图3,包括步骤q1:开始;步骤q2:统计第一志愿选某课程班的全部人数n1;步骤q3:判断是否n1≤该课程的限选人数的m1;如果判断为是(y)则执行q4:全部选中填入结果表;如果判断为否(n)则执行q5:平均分布概率算法;在q4后还包括q6:课程处理;再次进行判断,如果判断为是(y)则执行q7:结束;如果判断结果为否(n)则执行q8:下一门课程的处理。
算法引擎的目的是针对不同的课程分组(分类),分别配置不同的选课算法。如分组a是课外兴趣课程,对中高考成绩没有影响,则设为先到先得;分组b是校本课程,让学生进行选择决定哪些开课,哪些不开课,则随机抽签;分组c是选修课,学生必须选择其中几门,则用志愿的方式。通过算法引擎,能够灵活地安排不同课程的选课算法。
规则引擎:各个学校目前在指导学生选课时,都会提供一本选课指导手册。其目的是指导学生如何去选课。之所以需要一本手册来指导学生,是因为针对每一类课程分组(分类),均有不同的选课规则,
以某学校政治选修课程为例:政治选修课程有3个系列,9个模块。学生可根据自己的兴趣,任选若干模块学习。建议在人文、社会科学方向发展的学生,至少选修3个模块,共获得14学分。理工类学生可从3个系列中任选1个模块学习。
政治选修课程表
因此,针对每一类课程分组,系统要能够设置不同的规则,来满足学校选课手册规定的学生选课要求。如果学生选课时违背了这些规则,系统会自动提示。
规则引擎的原始定义是:规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策。
在选课系统中,规则引擎实际是将学生选课的要求从应用中分离,能够根据不同的课程种类设置不同的选课要求,学生能够降低错误选课,减少无效学习带来的损失,也有利于形成个性化的学习计划。
业务逻辑:业务逻辑指选课系统自身的各类流程、数据完整性和整体规则。通常情况下,业务逻辑的内容包括四个部分:
领域实体:定义了业务中的对象,对象有属性和行为;
业务规则:定义了需要完成一个动作,必须满足的条件;
数据完整性:某些数据不可少;
工作流:定义了领域实体之间的交互关系。
在选课的例子中:
领域实体:学生、课程、教师、选课结果;
工作流:搜索课程-找到课程-选课-提交确认。
模型管理:
对排课具体需求建模的过程,会生成一个具体的数学模型,模型管理就是对数学模型进行建立和调整的过程。
机器学习算法/训练:从目前的排课算法来看,没有一个算法排出的课表结果能够百分百满足用户的原始需求。这里面有多种原因,除了排课算法本身的缺陷,最重要的是因素是很多模糊的描述无法用明确的数据来描述,例如:xx最好不排第一节课,xxx的课最好不排上午最后一节。a和b最好不同时上课,如果同时,最好在星期二等等。这些所谓的规则没有办法用形式化的描述来定义的。因此到目前为止,没有一个排课算法能够排出比人工排课更让人满意的结果。
本排课系统会利用机器学习(人工智能)的方式,从过去的人工课表和经过人工调整的机器课表中不断学习排课的顺序、调整操作的顺序、最终课表等等,通过大量的学习了解到各个老师、各类课程的排课习惯,从而在排出更加像人工的课表。
排课系统和选课系统本质上是两种系统。
排课的目的是在已经了解课程计划的前提下,计算出满足各种教师、班级、学生、教室、课程约束条件的课表。
选课的目的是让学生能够在多门可选课程中,选出自己想要上和必须上的课程。
对于学校而言,可以先做出课程计划,然后学生进行选课,根据选课的结果调整开课计划,然后针对计划来排课。
学校也可以先根据开课计划排课,然后排出课表让学生进行选课,但是这样可能会造成一些学生的课程发生冲突,或者是一些老师的班级人数过多另一些老师人数过少的情况。
但是不管哪种情况,选课系统和排课系统都可以独立运作。
启发式算法按照下面的步骤进行:
x1:通过第二应用服务层模块向排课系统输入一组课程活动:a_1...a_n,并且输入约束条件;
优选地,在上面的x2步骤中,具体包括下面的步骤:
r2:第二算法模块尝试将每个活动a_i放置在允许的时隙中,按照上述顺序,一次一个;搜索a_i的可用时隙t_j;如果有多个时隙则随机选择;如果无可用,则做如下的递归交换:
优选地,在上面的步骤r22中:
本实施例的选课和排课系统按照下面的步骤进行课程排布:
s1:教务处、学科教师设计课程;
s2:教务处配置课程并把课程数据传输到选课系统;
s3:教务处发布待选课程;
s4:学生自主地选择课程并把选课数据通过第二应用服务层模块输入到排课系统;
s5:排课系统对学生选课的数据进行处理;
s6:学生通过网页或者应用软件接收并查看来自排课系统的学生课表;
s7:教师通过网页或者应用软件接收并查看来自排课系统的教师课表。
优选地,在步骤s5中,按照下面的步骤进行数据处理:
第二实施例:
本实施例的选课系统和排课系统与第一实施例的结构特征相同。
本实施例的选课系统和排课系统按照下面的步骤进行课程排布:
y1:教务处、学科教师设计课程;
y2:教务处配置课程并把数据输入到排课系统;
y4:排课系统把得到的数据输出到选课系统;
y6:学生自主地按照学生课表选择课程至选课结束。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。