课程编排的方法及装置与流程

文档序号:12826120阅读:453来源:国知局
课程编排的方法及装置与流程

本发明属于信息技术领域,尤其涉及一种课程编排的方法及装置。



背景技术:

学校一般是每学期进行一次排课,排课时主要以周为单位进行编排,因此,对于同一班级,不同的周次上的课程安排并不完全一样。然而,现有技术在进行课程编排时,需要检测整个学期各个周次的排课情况,以排查存在冲突的节次,检测过程复杂,课程编排效率低;若在开课之后发生周次变化或者上课周数发生调整时,还需要对整个学期的课程进行重新编排,用户体验感差。

故,有必要提出一种新的技术方案,以解决上述技术问题。



技术实现要素:

鉴于此,本发明实施例提供了一种课程编排的方法及装置,以解决现有技术在进行课程编排时检测过程复杂、课程编排效率低的问题,简化了课程编排的过程。

第一方面,提供了一种课程编排的方法,所述方法包括:

将学期划分为时间跨度相同的若干个排课片段;

获取待编排课程及其编排要求,根据所述编排要求对所述待编排课程进行排序;

按照优先级高低遍历所述待编排课程中的每一个待编排课程,获取其对应的排课片段;

根据所述待编排课程对应的排课片段,结合课表设置要求、上课资源信息确定所述待编排课程在所述排课片段中的节次信息。

进一步地,在获取待编排课程及其编排要求之后,所述方法还包括:

校验所述待编排课程及其编排要求,以确定所述待编排课程是否存在错误。

进一步地,所述根据所述待编排课程对应的排课片段,结合课表设置要求、上课资源信息确定所述待编排课程在所述排课片段中的节次信息包括:

根据所述待编排课程对应的排课片段,分别获取所述排课片段对应的班级、教师、教育场所的占用标识;

对所获取的班级、教师、教育场所的占用标识进行逻辑与运算,以获取所述排课片段内的已排节次,并根据运算结果获取所述排课片段内的未排节次;

统计所述未排节次的总数,若所述未排节次的总数大于或等于所述待编排课程的周学时数时,根据所述待编排课程的连排要求设置所述待编排课程在所述排课片段中的节次信息;

根据所述待编排课程的节次信息,通过逻辑或运算更新排课片段对应的班级、教室以及教育场所的占用标识。

进一步地,所述方法还包括:

若所述未排节次的总数小于所述待编排课程的周学时数,确定所述待编排课程在所述排课片段中无可排节次,读取优先级次之的待编排课程进行下一次编排。

进一步地,所述编排要求包括以下中的一种或者其任意组合:

待编排课程为优先排课课程、待编排课程的周学时数、待编排课程的连排要求及连排节次数、指定教师的禁排限制信息。。

第二方面,提供了一种课程编排的装置,所述装置包括:

划分模块,用于将学期划分为时间跨度相同的若干个排课片段;

排序模块,用于获取待编排课程及其编排要求,根据所述编排要求对所述待编排课程进行排序;

获取模块,用于按照优先级高低遍历所述待编排课程中的每一个待编排课程,获取其对应的排课片段;

编排模块,用于根据所述待编排课程对应的排课片段,结合课表设置要求、上课资源信息确定所述待编排课程在所述排课片段中的节次信息。

进一步地,所述装置还包括:

校验模块,用于在获取待编排课程及其编排要求之后,校验所述待编排课程及其编排要求,以确定所述待编排课程是否存在错误。

进一步地,所述编排模块包括:

第一获取单元,用于根据所述待编排课程对应的排课片段,分别获取所述排课片段对应的班级、教师、教育场所的占用标识;

第二获取单元,用于对所获取的班级、教师、教育场所的占用标识进行逻辑与运算,以获取所述排课片段内的已排节次,并根据运算结果获取所述排课片段内的未排节次;

编排单元,用于统计所述未排节次的总数,若所述未排节次的总数大于或等于所述待编排课程的周学时数时,根据所述待编排课程的连排要求设置所述待编排课程在所述排课片段中的节次信息;

更新单元,用于根据所述待编排课程的节次信息,通过逻辑或运算更新排课片段对应的班级、教室以及教育场所的占用标识。

进一步地,所述编排单元还用于:

若所述未排节次的总数小于所述待编排课程的周学时数,确定所述待编排课程在所述排课片段中无可排节次,读取优先级次之的待编排课程进行下一次编排。

进一步地,所述编排要求包括以下中的一种或者其任意组合:

待编排课程为优先排课课程、待编排课程的周学时数、待编排课程的连排要求及连排节次数、指定教师的禁排限制信息。

与现有技术相比,本发明实施例通过将学期划分为时间跨度相同的若干个排课片段;然后获取待编排课程及其编排要求,根据所述编排要求对所述待编排课程进行排序;按照优先级高低遍历所述待编排课程中的每一个待编排课程,获取其对应的排课片段;根据所述待编排课程对应的排课片段,结合课表设置要求、上课资源信息确定所述待编排课程在所述排课片段中的节次信息;从而简化了课程编排的过程,仅需要考虑待编排课程对应的排课时间段,避免了对整个学期的课程情况进行检测,大大地提高了课程编排的效率,且降低了程序的逻辑复杂度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。

图1是本发明第一实施例提供的课程编排的方法的实现流程图;

图2是本发明第一实施例提供的课程编排的方法中步骤s104的具体实现流程图;

图3是本发明第一实施例提供的一个学期包括4个排课片段时的逻辑位示意图;

图4是本发明第二实施例提供的课程编排的装置的组成结构图;

图5是本发明第三实施例提供的终端的示意性框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例通过将学期划分为时间跨度相同的若干个排课片段;然后获取待编排课程及其编排要求,根据所述编排要求对所述待编排课程进行排序;按照优先级高低遍历所述待编排课程中的每一个待编排课程,获取其对应的排课片段;根据所述待编排课程对应的排课片段,结合课表设置要求、上课资源信息确定所述待编排课程在所述排课片段中的节次信息;从而简化了课程编排的过程,仅需要考虑待编排课程对应的排课时间段,避免了对整个学期的课程情况进行检测,大大地提高了课程编排的效率,且降低了程序的逻辑复杂度。本发明实施例还提供了相应的装置,以下分别进行详细的说明。

图1示出了本发明第一实施例提供的课程编排的方法的实现流程。

在本发明实施例中,所述课程编排的方法应用于终端,所述终端包括但不限于计算机、服务器、笔记本电脑等。参阅图1,所述课程编排的方法包括:

在步骤s101中,将学期划分为时间跨度相同的若干个排课片段。

在这里,所述时间跨度可以以周次为最小划分单元,比如2个周次、4个周次、8个周次等。排课片段的总数为所述学期的总周次数与所述时间跨度之间的比值。示例性地,当学期包括16个周次时,可以将学期划分为(16/2=)8个排课片段、(16/4=)4个排课片段、(16/8=)2个排课片段等。以8个排课片段为例,第1-2周次组成第一个排课片段,第3-4周次组成第二个排课片段,依次类推。

在步骤s102中,获取待编排课程及其编排要求,根据所述编排要求对所述待编排课程进行排序。

在本发明实施例中,所述学期包括若干个待编排课程,所述待编排课程即该学期的开课课程。一个待编排课程与课程名称、上课班级、授课教师、排课片段对应,可以表示为xx班级的xx课程由xx教师在该学期的xx排课片段上课。比如待编排课程1为初一(1)班的数学课由张老师在第一排课片段上课;待编排课程2位初一(3)班的语文课由李老师在第二排课片段上课。

所述编排要求包括但不限于待编排课程为优先排课课程、待编排课程的周学时数、待编排课程的连排要求及连排节次数、指定教师的禁排限制信息中的一种或者其任意组合。本发明实施例结合所述学期的若干个待编排课程的编排要求,对所述若干个待编排课程进行排序,以区分待编排课程的编排优先级。

可选地,在获取待编排课程及其编排要求之后,所述方法还包括:

校验所述待编排课程及其编排要求,以确定所述待编排课程是否存在错误。

在这里,校验的方式及内容根据具体的待编排课程及其编排要求设置。示例性地,以教师在任意排课片段的周课时数不得查过排课片段的最大可排节次数为例,可以先统计该教师在指定的排课片段中的每周课时数,比较所述每周课时数与所述指定的排课片段的最大可排节次数来校验所述待编排课程是否正确。比如待编排课程1为初一(1)班的数学课由张老师在第一排课片段上课,假设第一排课片段上的上课时间为周一至周五,每天上7节课,则所述第一排课片段的最大可排节次数为(7*5=)35,统计张老师在所述第一排课片段中的每周课时数,若每周课时数为36,36>35,则确定所述待编排课程存在错误。输出该待编排课程有误的提示信息

在步骤s103中,按照优先级高低遍历所述待编排课程中的每一个待编排课程,获取其对应的排课片段。

在完成对所述待编排课程的排序之后,则按照优先顺序读取其中的每一个待编排课程,并获取所述待编排课程对应的排课片段,以针对所述排课片段对所述待编片课程进行节次安排,而不去考虑其他排课片段,从而简化了课程编排的过程,避免了对整个学期的课程情况进行检测。

在步骤s104中,根据所述待编排课程对应的排课片段,结合课表设置要求、上课资源信息确定所述待编排课程在所述排课片段中的节次信息。

在这里,所述课表设置信息为学校官方给定的课表设置要求,包括但不限于每周的节次安排(比如学校官方规定的每周一至周五上课,每天上7节课,周六、周日休息)、不同教师的禁排节次(比如张老师不安排在周三上午的课程)、不同课程的禁排节次(比如体育课不得安排在每天上午的第一、二节)、优先班级的排课要求(比如高三文科优先班的语文课需安排在周一的第一、二节)等。所述上课资源信息包括但不限于班级、教师、教育场所。

可选地,图2示出了本发明实施例提供的课程编排的方法中步骤s104的具体实现流程。参阅图2,所述步骤s104包括:

在步骤s201中,根据所述待编排课程对应的排课片段,分别获取所述排课片段对应的班级、教师、教育场所的占用标识。

本发明实施例针对班级、教师、教育场所设置了一组逻辑位,用于记录学期所包含的每一个排课片段的周次占用情况。所述班级、教师、教育场所对应的逻辑位与学期划分的排课片段总数、每周次上课天数、每天上课节次数相关,具体为排课片段总数、每周次上课天数、每天上课节次数之间的乘积。示例性地,若将学期划分为4个排课片段,每一个排课片段的每周次在周一至周五上课,每天上7节课,则班级、教师、教育场所分别对应一组(5*7*4=)140个逻辑位,如图3所示。每个逻辑位用一个bit位来表示,存在“0”和“1”两种状态,其中,“0”表示班级、教师或者教育场所在排课片段中的未占用标识,“1”表示班级、教师或者教育场所在排课片段中的占用标识。因此,在对待编排课程进行排课时,本发明实施例首先获取对应的排课片段,然后获取一个周次内所述排课片段在班级、教师、教育场所三个维度上的占用标识。

在步骤s202中,对所获取的班级、教师、教育场所的占用标识进行逻辑与运算,以获取所述排课片段内的已排节次,并根据运算结果获取所述排课片段内的未排节次。

在步骤s203中,统计所述未排节次的总数,若所述未排节次的总数大于或等于所述待编排课程的周学时数时,根据所述待编排课程的连排要求设置所述待编排课程在所述排课片段中的节次信息。

在步骤s204中,根据所述待编排课程的节次信息,通过逻辑或运算更新排课片段对应的班级、教室以及教育场所的占用标识。

在获取到所述待编排课程的节次信息之后,则记录所述待编排课程对应的班级、教师以及教育场所,通过逻辑“或”运算分别在节次信息对应的逻辑位上写入该班级、教师以及教育场所的占用标识。读取优先级次之的待编排课程进行下一次编排。

可选地,所述方法还包括:

若所述未排节次的总数小于所述待编排课程的周学时数,确定所述待编排课程在所述排课片段中无可排节次,读取优先级次之的待编排课程进行下一次编排。

本发明实施例通过将学期划分为若干个排课片段,然后根据待编排课程对所述学期中的排课片段进行选择性编排,且通过设置逻辑位来记录班级、教师、教育场所在所述排课片段内的占用和未占用情况,基于逻辑位的与、或运算来对待编排课程在所述排课片段内进行编排,相比于现有技术按学期周次循环计算,大大地提升了计算性能,且降低了程序的逻辑复杂度,进而提高了排课的效率。

综上所述,本发明实施例通过将学期划分为时间跨度相同的若干个排课片段;然后获取待编排课程及其编排要求,根据所述编排要求对所述待编排课程进行排序;按照优先级高低遍历所述待编排课程中的每一个待编排课程,获取其对应的排课片段;根据所述待编排课程对应的排课片段,结合课表设置要求、上课资源信息确定所述待编排课程在所述排课片段中的节次信息;从而简化了课程编排的过程,仅需要考虑待编排课程对应的排课时间段,避免了对整个学期的课程情况进行检测,大大地提高了课程编排的效率,且降低了程序的逻辑复杂度。

应理解,在上述实施例中,各步骤的序号的大小并不意味着执行顺序的先后,各步骤的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

图4示出了本发明第二实施例提供的课程编排的装置的组成结构图,为了便于说明,仅示出了与本发明实施例相关的部分。

在本发明实施例中,所述课程编排的装置用于实现上述图1至图3实施例中所述的课程编排的方法。可以是内置于终端的软件单元、硬件单元或者软硬件结合的单元,所述终端包括但不限于计算机、服务器、笔记本电脑等。

参阅图4,所述课程编排的装置包括:

划分模块41,用于将学期划分为时间跨度相同的若干个排课片段;

排序模块42,用于获取待编排课程及其编排要求,根据所述编排要求对所述待编排课程进行排序;

获取模块43,用于按照优先级高低遍历所述待编排课程中的每一个待编排课程,获取其对应的排课片段;

编排模块44,用于根据所述待编排课程对应的排课片段,结合课表设置要求、上课资源信息确定所述待编排课程在所述排课片段中的节次信息。

进一步地,所述装置还包括:

校验模块45,用于在获取待编排课程及其编排要求之后,校验所述待编排课程及其编排要求,以确定所述待编排课程是否存在错误。

进一步地,所述编排模块44包括:

第一获取单元441,用于根据所述待编排课程对应的排课片段,分别获取所述排课片段对应的班级、教师、教育场所的占用标识。

第二获取单元442,用于对所获取的班级、教师、教育场所的占用标识进行逻辑与运算,以获取所述排课片段内的已排节次,并根据运算结果获取所述排课片段内的未排节次。

编排单元443,用于统计所述未排节次的总数,若所述未排节次的总数大于或等于所述待编排课程的周学时数时,根据所述待编排课程的连排要求设置所述待编排课程在所述排课片段中的节次信息。

更新单元444,用于根据所述待编排课程的节次信息,通过逻辑或运算更新排课片段对应的班级、教室以及教育场所的占用标识。

进一步地,所述编排单元443还用于:

若所述未排节次的总数小于所述待编排课程的周学时数,确定所述待编排课程在所述排课片段中无可排节次,读取优先级次之的待编排课程进行下一次编排。

进一步地,所述编排要求包括以下中的一种或者其任意组合:

待编排课程为优先排课课程、待编排课程的周学时数、待编排课程的连排要求及连排节次数、指定教师的禁排限制信息。

需要说明的是,本发明实施例中的装置可以用于实现上述方法实施例中的全部技术方案,其各个功能模块的功能可以根据上述方法实施例中的方法具体实现,其具体实现过程可参照上述实例中的相关描述,此处不再赘述。

本发明实施例通过将学期划分为时间跨度相同的若干个排课片段;然后获取待编排课程及其编排要求,根据所述编排要求对所述待编排课程进行排序;按照优先级高低遍历所述待编排课程中的每一个待编排课程,获取其对应的排课片段;根据所述待编排课程对应的排课片段,结合课表设置要求、上课资源信息确定所述待编排课程在所述排课片段中的节次信息;从而简化了课程编排的过程,仅需要考虑待编排课程对应的排课时间段,避免了对整个学期的课程情况进行检测,大大地提高了课程编排的效率,且降低了程序的逻辑复杂度。

参见图5,是本发明第三实施例提供的终端的示意性框图。如图所示的该终端可以包括:一个或多个处理器501(图中仅示出一个);一个或多个输入设备502(图中仅示出一个),一个或多个输出设备503(图中仅示出一个)、存储器504。上述处理器501、输入设备502、输出设备503、存储器504通过总线506连接。存储器504用于存储指令,处理器501用于执行存储器504存储的指令。其中:

可选地,所述处理器501用于:

将学期划分为时间跨度相同的若干个排课片段;获取待编排课程及其编排要求,根据所述编排要求对所述待编排课程进行排序;按照优先级高低遍历所述待编排课程中的每一个待编排课程,获取其对应的排课片段;根据所述待编排课程对应的排课片段,结合课表设置要求、上课资源信息确定所述待编排课程在所述排课片段中的节次信息。

可选地,所述处理器501还用于:

在获取待编排课程及其编排要求之后,校验所述待编排课程及其编排要求,以确定所述待编排课程是否存在错误。

可选地,所述处理器501根据所述待编排课程对应的排课片段,结合课表设置要求、上课资源信息确定所述待编排课程在所述排课片段中的节次信息包括:

根据所述待编排课程对应的排课片段,分别获取所述排课片段对应的班级、教师、教育场所的占用标识;

对所获取的班级、教师、教育场所的占用标识进行逻辑与运算,以获取所述排课片段内的已排节次,并根据运算结果获取所述排课片段内的未排节次;

统计所述未排节次的总数,若所述未排节次的总数大于或等于所述待编排课程的周学时数时,根据所述待编排课程的连排要求设置所述待编排课程在所述排课片段中的节次信息;

根据所述待编排课程的节次信息,通过逻辑或运算更新排课片段对应的班级、教室以及教育场所的占用标识。

可选地,所述处理器501还用于:

若所述未排节次的总数小于所述待编排课程的周学时数,确定所述待编排课程在所述排课片段中无可排节次,读取优先级次之的待编排课程进行下一次编排。

可选地,所述编排要求包括以下中的一种或者其任意组合:

待编排课程为优先排课课程、待编排课程的周学时数、待编排课程的连排要求及连排节次数、指定教师的禁排限制信息。

应当理解,在本发明实施例中,所称处理器501可以是中央处理单元(centralprocessingunit,cpu)和/或图形处理器(graphicprocessingunit,gpu),也可以在此基础上结合其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。

输入设备502可以包括触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风、通信模块(比如wi-fi模块、2g/3g/4g网络模块)、物理按键等。

输出设备503可以包括显示器(lcd等)、扬声器等。其中,显示器可用于显示由用户输入的信息或提供给用户的信息等。显示器可包括显示面板,可选的,可以采用液晶显示器(liquidcrystaldisplay,lcd)、有机发光二极管(organiclight-emittingdiode,oled)等形式来配置显示面板。进一步的,上述触摸屏可覆盖在显示器上,当触摸屏检测到在其上或附近的触摸操作后,传送给处理器501以确定触摸事件的类型,随后处理器501根据触摸事件的类型在显示器上提供相应的视觉输出。

具体实现中,本发明实施例中所描述的处理器501、输入设备502、输出设备503、存储器504可执行本发明实施例提供的课程编排的方法的实施例中所描述的实现方式,在此不再赘述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的方法及装置、终端,可以通过其它的方式实现。例如,以上所描述的实施例仅仅是示意性的,例如,所述模块、单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元、模块单独物理存在,也可以两个或两个以上单元、模块集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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