高校自动排课系统的研究与设计

时间:2022-09-01 10:26:46

高校自动排课系统的研究与设计

摘 要:如今的高校规模越来越大,教师、班级、学生的数量越来越多,如果排课仅靠人工完成,排课人员的工作量将十分巨大,而且一旦出现情况进行修改就会非常繁琐。开发计算机自动排课系统软件来完成复杂的排课工作,显得十分迫切而必要。笔者对高校排课工作做了详细、深入的研究,对排课工作各要素、影响条件、排课流程等进行了归纳总结,提出了自动排课系统的功能需求,对排课系统界面、模块和算法进行了合理设计,并对系统运行实践和结果进行了总结,提出了改进的地方和努力的方向。

关键词:高等院校 排课系统 研究设计

中图分类号:G420 文献标识码:A 文章编号:1672-3791(2014)05(b)-0009-02

近年来,随着高校招生规模的逐步扩大,各高校的学生、班级、教师数量越来越多,如果课表依靠人工完成,那么排课人员的工作量将十分巨大。人工排课出错的比较大,而且一旦出错修改起来比较麻烦,往往是一处出错必须同时对多处进行修改,操作非常繁琐。因此,开发出一种能够按照规则和约束条件自动生成课表的计算机排课系统,来代替复杂的人工工作,显得迫切而必要。基于Web的网络课表作为一种新型教务管理式,给排课人员带来了极大的便利,具有非常重要的现实意义和广阔的发展前景。

1 人工排课问题研究

学校排课的目的就是对多类资源进行组合优化,合理安排现有的师资、课程、学生、教学场地、教学时间等要求,其本质是教师、班级、课程在时间和空间上的合理分配问题。也就是说安排适当的教室、教师在要在一定的时间完成学校交给的所有任务。一般而言,排课时必须充分考虑以下因素:各门课程要安排在最适宜的授课时间;同一课程在整个学期的时间分布尽量平均;各个班级的教学密度尽量均等;每个教师的工作量尽量相同;教学场地要满足教学任务的条件需求;同一教学班级、教学场地及教师,在同一时间均只能进行一次教学安排。

2 排课流程分析

从目前国内高校的课程安排情况来看,每个学年有两个学期,一周上五天课,一天大概有八节课,上午四节课,下午四节课。高校的课程特点如下:部分课程是小班教学(如英语),大部分课程是不同专业的混合教学(如高数、计算机等);一个教师可以同时为多个班级进行授课,也可以讲授多门不同的课程;每次授课节次为连续的2节;学生上课的教室是学校随机安排的。

进行排课时需要考虑以下因素:同一个教师在不同的课程上不能有时间的冲突;同一个班级的不同的课程在时间上不应能有冲突;一门连堂课在一周内的时间间隔应均等;排课的时候不能发生教室、教师、时间、教学设备上的冲突。

排课工作大致分为4个流程:(1)下发教学计划。即学校将教学计划下发到各个课院(系)。(2)落实教学任务。即根据各院(系)自身的资源和教师情况确定任课教室名单和开课情况,将确认的课程、教室、班级反馈给学校。(3)安排上课时间。即安排课程上课的时间不需要考虑地点问题,生成每个专业的推荐课程表。(4)安排上课地点。即学校安排统一的上课地点,目的是为了合理利用教师资源。

3 排课系统的功能需求调查

当前高校使用的排课系统都忽视了教室实际需求这一重要原则。教师无法随时随地进行排课查询,也不能根据自身的实际教学情况调换教室,当教师遇到特殊情况需要变动课程时,先要到教务处查询才能确定是否调课。除此之外,还有一点就是重点课程与一般课程的教授时间安排不合理,容易出现重叠现象。

通过笔者对多所高校的调研,综合学校、教师、学生等各方面的意见,归纳出计算机自动排课系统需要具备以下功能:(1)系统界面的登录权限要有良好的控制,不同类型的登录者要有不同的权限,只能进入不同的界面;(2)系统是面向学生、教师和管理员的,所以界面应该是友善的;(3)教师能用自己的用户名和密码登录系统,能在系统上查看自己的教学计划,填写自己的上课要求;(4)教师、学生、管理员登录成功后,都可以在排课系统上查看不同对象的各种课表;(5)教师能在排课系统上随时发送调课请求;(6)管理员在排课系统上能接收、查看教师发送的调课要求;(7)管理员可以在排课系统上随时调课通知;(8)学生、教师可以通过网络查看管理员的调课通知;(9)学生在排课系统上可以查询可上自习的教室;(10)教师和管理员可以在排课系统上查看可调课的教室;(11)教师、学生、管理员进入排课系统后,可以修改自己的登录密码;(13)好的课表并不要求完全符合教师的要求,只要大部分符合即可;(13)排好的各个班级的课表不能出现时间和地点上的冲突;(14)排好的各个教师的课表不能出现时间和地点上的冲突;(15)生成的课表能够按一定的课表格式输出、打印。

4 排课系统的界面设计

由于排课系统的对象是面向学生、教师和管理员的,所以登录的权限也是不同的,排课系统会根据三种人群输入不同的用户名和密码,进入到各自不同的操作界面。

4.1 管理员界面

管理员能把教学计划和其他排课信息输入到数据库中;能够根据排课要求自动进行排课;可查看教师的调课请求;可通知调课时间;可按照时间、教室来查看可调课的教室;可按照不同教师、班级和教室查看课表;可修改自己登录界面的密码。

4.2 教师界面

教师可查看自己的教学计划,填写对课程的时间要求;可分别按照时间、教室来查看可调课的教室;可提出自己的调课请求;可接收管理员调课通知;可查看自己的课表;可查看其他教师的课表;可修改自己的登录密码。

4.3 学生界面

学生可查看自己的课表;可查看某个时间可供上自习的教室;可分别按照课程、专业、班级查看课表;可查看管理员的调课通知;可修改自己的登录密码。

登录界面管理员学生调课通知查看调课请求登录密码修改调课通知登录密码修改教师填写时间要求发送调课请求查看自己课表登录密码修改相同的权限查看调课通知按教室查看有哪些时间空闲按班级查看课表按时间查看有哪些教室空闲按时间和教室一起查看是否空闲按教室查看课表按教师查看课表。

5 排课系统模块设计

根据功能需求可将排课系统分为六个模块:教学信息模块、课表编排模块、辅助调课模块、课表分析模块、临时活动安排模块、教学工作量统计模块。

5.1 教学信息模块

主要功能是完成教学信息的收集、整理和输入:(1)设置学年、学期、排课周次、周排课天数、日排课节数、不排课节次、课程需排节次与不排节次、教师对排课时间的要求等条件;(2)整理教学任务与开课计划;(3)统计教学场地资源等。

5.2 课表编排模块

课表编排模块是由电脑自动排课表和人工辅助编排课表两大部分组成。

(1)电脑自动编排课表:是由设定排课初始化和排课特殊要求后,系统自动的进行课程、教师、班级、场地、周次以及节次等资源行程的安排表。生成的课表包括:学生课程表、教师授课表、教务处总课表、教学楼管理课表。其中排课要求包含:需安排的课程的类型,如公共必修课、公共选修课、限选课或者全部课程类型;检测学生冲突(分组实验时可安排一个班的学生同一时间在不同场地上课,这时可选择不检测学生冲突);检测教师冲突(同一教师在同一时间段是否可在不同校区上课,上课地点是否应尽量连续);安排场地、教室,是否需要安排指定教室,或安排哪种类型的教室―― 多媒体教室、语音室、实验室,安排多大容量的教室等;安排周次和节次,可指定排课大节构成方式,可排课节次等。

(2)人工辅助编排课表:主要针对电脑无法合理编排课程任务,就相应的要采取逐条输入教学任务、设置排课条件的方式来进行单独编排,通过人工排课方式来弥补电脑编排课程的不足,排课管理人员的经验在这种方式中发挥了重要作用。排课结束后,排课系统提供多维度的课程表:课程课表、教师课表、班级课表、教室课表、周/日/节次课表、学生课表,供排课管理人员根据工作需要选择打印。教室安排表为教务管理人员分析了解全校教室的分配利用情况、临时调度提供依据。教师授课一览表则为校系领导了解教学动态、检查教学情况提供基本信息。

5.3 辅助调课模块

当遇到突发性问题时,就要对原课程表进行相应的调整。排课系统可以对教室网上申请和教学管理部门网上审批后进行调整。对应的流程如下:教室在登录排课系统后,根据系统的提示以及可以调课的时间,填写调课申请表,并将申请表发送到院系主任和教务处进行审批。排课管理人员办完后会将调课记录与调课通知单进行打印,将调课结果告知教室、学生以管理部门。以上,就是调停课流程。

5.4 课表分析模块

排课结束后,系统对自动生成的课表进行分析,提供关于教师、教室、班级的多维度统计数据,总体分析排课要求满足情况以及课程表的总体质量,供教学管理部门分析教学资源使用情况、教学运行情况,为领导决策提供数据支持。例如:教室方面,按类型和容量分别统计教室使用率及使用次数;班级方面,可按班级统计周学时数,按节次查看上课班级数等。

5.5 临时活动模块

对学校的各种临时性活动作出安排,包括各种形式的学生社团活动、会议、讲座等。接到安排临时活动的申请后,教务管理人员将班级、时间录入系统,系统自动检测有无与教学任务或者其他临时活动冲突。如有冲突,系统将提示无法安排;如无冲突,教务员可继续设置对使用场地的要求,系统即自动筛选出符合要求的活动场地供管理员选择。接下来,可勾选活动组织部门、活动类型、活动主持人、申请日期、活动联系人、人数、周次和节次,输入活动主要内容,保存并打印临时活动安排。至此,临时活动安排成功。

5.6 教学工作量统计模块

排课系统按日/周/月/年/指定时间段,按教师个人、职称、学部、课程类型统计教学工作量,供管理部门统计教师课时费或制定相关决策时使用。

界面结构框架如图1所示。

6 排课系统算法设计

本系统用C++和SQL Server数据库实现上述功能。在进入排课之前,先对教师、教室、装备、班级、学期等信息进行编排,建立信息数据库,其中包括课程详细表、教学实施计划表、班级教学总信息表、班级上课时间地点表四个主要数据表。根据高校的实际情况和排课方法,本排课系统主要考虑以下规则。

6.1 时段规则

不同类型的课程具有不同的课程特点和学时要求,对时段性的要求也不同。例如基础课、理论课、专业课应尽量安排在上午,选修课尽量安排在下午或晚上;每次授课不宜超过2学时,若每周需排2次课,应隔天。

6.2 连续性规则

大多数教师都希望集中、连续授课,因此,每天每个教师的授课节次应尽量紧凑,中间无间隔。

6.3 分散性规则

考虑到学生的接受度,学生的课表应尽量平均分散在每周的五天。

以班级为主进行排课时,先选择所要排课的学期,再选择相应的班级和对应的课程,然后选择该课程的上课起始周次,结束周次、星期,最后选择符合条件的教室,计算出最合适的课表安排,生成班级教学课表。以课程为主的排课同上。

7 对系统运行结果的思考

实践证明,本系统设计合理,功能齐全,运行稳定,不仅可以避免课程安排的冲突问题,而且有效提高了工作效率,大大减轻了教务管理人员的工作量。但是,通过系统的运行和广大师生的反映,发现有以下几个问题值得思考和改进。

7.1 必须坚持人和机器的有机结合

很多高校认为有了计算机自动排课系统,排课工作人员只要能够熟练使用计算机就行了,人力就可以得到完全解放。不难发现,各个高校的课程编排情况中,计算机仅仅是一个辅助工具,无论系统设计的多么出色,电脑自动排课结果还是不能够合理化,某些特殊要求、特殊安排是不可能完成满足的。因此,排课必须坚持以人为主,计算机为辅,让计算机协助排课。一个优秀的排课员,是需要时间的磨砺才能胜任的。

7.2 必须在系统中加入监管机制

系统应自动对排课管理人员进行约束和监督,如果排课员随意更改教学计划或课表安排,系统应自动给予一定的警示提示,便于校系领导和相关部门进行监督。要真正意义上推行学分制,就必须解决这个问题。这也是所有软件开发者值得深思的一个问题。

7.3 必须利用现有网络技术提高系统使用环境

目前,大多数的排课系统软件,需要在不同的机器上安装客户端,排课员在排课时,只能在安装了客户端的机器上操作,这就具有很大的制约性。近年来,随着云存储技术的快速发展,我们应考虑使用云存储技术实现系统的无环境限制办公,这样才能体现科技时代的特征,真正做到服务于教学。

7.4 必须加大对系统安全性的把控

在所有的软件开发系统中都存在着漏洞。一旦排课数据丢失,将会给教务工作带来很大的麻烦。因此,怎样才能将安全威胁降到最低,是所有软件开发者值得深思的一个问题。排课系统数据的安全性和学生的成绩一样重要,是整个教学工作最基础的环节。希望在以后的研究过程中,软件开发者能够与时俱进,更多利用现有的计算机技术提高排课质量,这样才有利于教学管理水平的提高。

参考文献

[1] 吕钰婕,谢朝阳.基于网络选排课系统的UML建模[J].内蒙古科技与经济, 2008(14):71-72,75.

[2] 张建平.基于人工智能的自动排课算法[J].电脑学习,2008(3):70-71.

[3] 李芳.高校排课系统的研究与设计[J].电脑知识与技术(学术交流),2007(8).

[4] 林岩.高校教务管理信息平台中的排课模式研究[J].南京航空航天大学学报:社会科学版,2008.

[5] 王如龙,刘淳.高校智能排课算法的研究与实现[J].电脑与信息技术,2008.

[6] 宗薇.高校智能排课系统算法的研究与实现[J].计算机仿真,2011.

上一篇:IMS概述与安全简析 下一篇:“园校合作”开展农村民办幼儿教师继续教育的...