成人教务管理系统中的排课算法设计

2022-09-12

成人教育是我国教育体系中十分重要的一部分。随着近年来各学校招生规模地不断扩大, 学生、教师、课程、教学站点相应增加等多项条件的限制, 使得排课这项作为教务管理中核心的、复杂的任务越来越受到人们的重视, 管理者们渐渐意识到投入大量人力物力进行人工排课已不够满足在短时间内繁重的排课任务。采用计算机化途径使教学管理工作科学化、系统化、规范化、自动化已成为现代教务管理的必经之路。

1 问题分析

1.1 问题描述

成人高等教育的排课系统具有操作主观性强、数据处理复杂、编程难度大等重要特点。20世纪90年代以来, 已有众多个人、高校、科研机构及软件公司对排课系统从理论到实践进行了大量的研究和开发工作, 也相应出现了多种排课算法, 为高校完成繁重的教学排课任务提供了理论基础, 凸显选课在现代教务管理中的重要地位。基于选课任务的基本事实, 为了简化问题, 建立的选课模型不考虑教室容量问题。

1.2 教务管理中的选课系统必须满足以下原则

第一绝对化约束原则。 (1) 针对学期、教学时间选定站点开课时间; (2) 针对站点信息根据执行计划确定专业; (3) 根据站点、专业从执行计划里确定课程; (4) 根据课程确定教师, 并且一个教师在某一时间只能安排一门课; (5) 必须根据核定的教学计划所规定的学时数排课, 不得任意增减; (6) 实验、操作、训练、演示课应排在下午; (7) 教学实践、实习、社会实践等课应集中安排。第二相对化约束原则。 (1) 繁难课程应尽量排在精力充沛的时间, 并尽量做到难易程度搭配; (2) 各门课程应尽量在一周之内间隔排列; (3) 教室容量必须满足上课学生人数; (4) 教师的承受能力、喜好等。第三约束条件的取舍原则。在排课系统中, 绝对化约束原则必须满足, 忽略取舍问题。相对化约束原则, 取舍时应尽量满足系统合理的要求。

2 排课算法设计

2.1 主要功能算法设计

通过问题分析的结果, 排课需要有教务管理员、选课界面、教务处、站点、专业、课程、教师、教学时间以及相关的控制逻辑参与, 其中排课的结果为临时表对象, 表格结构的大部分由排课算法决定, 并将排课的最终结果存入相关站点信息中备查。经过对排课算法的前期研究, 确定了以下功能设计目标: (1) 确定目标模块功能。通过合理的应用已确定的编程环境搭建、编写相应的功能代码以实现在操作界面快速指定学期、站点、执行计划等信息, 方便教务管理人员快速锁定目标。 (2) 判定排课时间范围功能。编写专用代码, 扫描查询相关数据库中的教学时间、专业信息、站点信息、课程信息、教师信息并将其与执行计划一起进行综合比较, 根据排课算法, 最后确定出候选排课时间, 进而形成课表。 (3) 直观选定排课时间功能。此子功能具备在相应数据库中搜索排课时间并判定是否为空余的功能, 并直观的显示教师现有课表排课情况和可排时间分布情况, 便于教务管理员直接选定排课时间, 实现了高效率选课。

2.2 算法简述

教务管理系统的排课子系统主要解决的问题是站点一级的课程开设安排, 解决这个问题主要包含如下几个集合:

站点 (S) ={s|s具有的性质是成教学院所设置的站点}。

专业 (M) ={m|m具有的性质是成教学院所开设的专业}。

课程 (C) ={c|c具有的性质是成教学院某一学期内所开设的课程}。

教师 (T) ={t|t具有的性质是成教学院某一学期内的任课教师}。

教学时间 (N) ={n|n具有的性质是日期}。

在这5个集合中, 专业和课程通过关系确定了每个专业在一个学期里的应开设的所有课程的排列J, 将这个关系定义为一个函数:J=f (m, c) , 这里的m属于专业集合M, 而c属于课程集合C, 关系f是执行计划;同样道理, 可以将站点和教学时间结合在一起组成每个站点的教学时间集合P=w (s, n) , 例如 (沈阳站点的2008年4月17日、辽阳站点的2008年4月17日等这样的元素) , 按照上述表述可以将原有的五个集合转换为J、P和T (教师) 三个集合, 这样排课的过程其实就是求解三维空间内点的过程。

2.3 算法模型

首先, 在J (M, C) 坐标轴上确定一点 (m 1, c 1) , 这一点代表的是m 1专业在执行计划中的c1课程, 然后在P (S, N) 坐标轴上确定一点 (s1, n1) , 这一点代表的是s1站点在n1这个时间内没有排入课程, 是可用的空闲状态, 最后在T教师轴上确定一点t1, 这样确定的K1点就是站点s1在n1时间上由t1老师给m1专业上的c1课程, 而W1点就是执行计划。在这个排列的过程中必须满足如下的条件。

一个教师在某一个时间内只能在一个站点上课, 即在得到K1前必须去验证t1在n1时刻是否已经存在其它坐标点, 若存在则选取别的教师 (每一门课至少有两个教师可以教授) 。

一个专业在某个时间内只能上一门课, 即在得到K1之前必须去验证m1和n1是否存在其它坐标点, 若存在, 则说明这个专业在n1这个时间内已上其它课程。

一个专业是否属于这个站点, 即在得到K1前必须验证m1和s1是否存在其它坐标点, 若存在则说明这个专业属于这个站点, 否则不属于这个站点。

3 结语

本文提出的排课算法, 是根据成人教务管理的特点和要求设计而成, 目的在于使排课系统的使用简单方便、性能稳定、容错能力强, 生成的课表快速、准确、可靠、人性化。希望能对成人教务管理系统的研究开发做出一定的贡献。

摘要:出了一种应用于高等院校的自动排课算法, 该算法针对高等院校排课要求的高易用性、高收敛性等特点。通过实际地应用在排课系统上表明, 该算法在解决复杂的高校排课问题时有较好的效果。

关键词:排课,算法,成人教务管理系统

参考文献

[1] 邹跃.自选式排课子系统的设计与实现[J].电脑与电信, 2006, 12:64~67.

[2] 熊卫卫.高校排课系统算法.设计与实现[D].吉林:吉林大学, 2004

上一篇:锂电池航空运输中的安全问题下一篇:基于辅导员视角的高校家庭经济困难学生资助工作