基于C语言的多功能高职排课系统设计与实现
高职高专院校自动排课系统的设计与实现的开题报告

高职高专院校自动排课系统的设计与实现的开题报告
(一)选题背景及意义:
随着高职高专院校教育的实施,在心理理论、教育方法、课程设置等方面都有了很大的改变,新的教育体制、新的教育要求催生了自动排课系统的需求。
以前的手工排课方法已经不能适应现在的教育需求,既浪费时间,也容易出错,而自动排课系统则可以在减少人工纰漏的同时,精确地掌握每位学生所学课程的情况,达到科学合理而高效的排课目的。
因此,自动排课系统的设计与实现具有重要的意义。
(二)研究内容:
本文主要研究高职高专院校自动排课系统的设计与实现。
具体包括以下内容:
1、自动排课系统的需求分析:对高职高专院校自动排课系统进行需求梳理,掌握用户的基本需求,分析服务对象的需要,对系统进行功能上的要求策划。
2、自动排课系统的功能设计:依据需求分析结果,对自动排课系统进行功能设计,包括学生信息管理、教师信息管理、教学班信息管理、课程信息管理等。
3、自动排课算法的研究:在功能设计的基础上,本文将分析自动排课系统的算法,包括遗传算法、模拟退火算法、粒子群算法等。
4、系统设计和实现:将研究结果应用于具体系统的设计中,建立自动排课系统的模型,完善自动排课系统的功能,实现系统运行。
(三)研究方法:
本研究将采用文献资料法、问卷调查法、数理统计法、实验研究法等多种研究方法。
(四)预期效果:
本研究预计将能设计出一个兼具功能完善和可操作性的高职高专院校自动排课系统,能够提高排课效率、减少错误率,达到教学质量的提高。
同时,本研究也将对自动排课算法的研究提供新思路和新方法,推动相关领域的深入研究。
某高职院校C语言教学辅助系统设计与实现的开题报告

某高职院校C语言教学辅助系统设计与实现的开题报告一、选题背景随着计算机应用领域的不断拓宽,C语言已成为计算机专业学生必修的编程语言。
在C语言的教学中,通常需要学生完成一定数量的编程作业,并具有一定的难度和复杂程度。
但目前,大多数高职院校C语言教学仍停留在传统的黑板书写、教材讲解、学生练习等教学模式,教学效率低下,教学评价难以客观准确。
因此,设计一种C语言教学辅助系统,能够有效提高C语言教学效率和质量,是当前C语言教学工作中亟需解决的问题。
二、项目意义本系统旨在为高职院校C语言教学提供一种新的教学方式,实现教师与学生之间的互动与交流,创造积极的学习氛围和环境,提高学生的编程能力和创新意识,培养学生动手实践、自主学习的能力。
同时,本系统还可为教师提供辅助教学工具,帮助教师更好地掌握每位学生的学习情况,及时调整教学内容和方法,提高教学效率和质量。
三、项目内容本系统的主要功能包括以下几个方面:(1)C语言知识库:整理并梳理C语言相关知识点和应用技巧,帮助学生全面掌握C语言编程的基础知识。
(2)编程练习:提供多种难度和复杂程度不同的编程题目,让学生通过实际操作和练习掌握C语言编程的基本思想和方法。
(3)在线编程环境:系统内置C语言编程环境,学生可以在线编写、调试、运行程序,并获得实时反馈和错误提示。
(4)作业批改:系统可自动检测学生编写的程序是否符合要求,并为学生提供详细的分析、评价和建议。
(5)学习记录:学生每次编程练习和作业评测的结果将被记录下来,方便教师及时查看和分析学生的学习情况。
(6)实时帮助:学生在学习和编程过程中遇到问题可通过系统在线求助,教师可实时解答学生的疑问,提高学生学习成效。
四、项目技术路线本系统采用B/S架构,前端页面使用HTML、CSS、JavaScript进行开发,后端使用Java编程语言实现。
系统数据库采用MySQL,使用Mybatis作为数据访问框架,使用SpringMVC进行控制层的开发。
排课系统的开发和实现

排课系统的开发和实现摘要要完成一所大学或者一个学院的课程安排是一件非常复杂的问题,如果用人手工进行安排的话,需要极大的精力和时间。
而在排课的时候,需要考虑的范围,涉及到教师、课程、教室还有班级情况等等。
而在现今的大学排课过程中,整个学校需要考虑的教师,课程信息是成百上千,排课问题由此变为一个异常复杂的组合问题。
所以在现实世界的应用中,排课问题的所有排列组合对于人类来说几乎可以被认为是一个天文数字。
而一个可以被接受的排课方案是一个满足排课所有制约性要求的方案。
在此基础上,如果有人希望能通过一些启发性的设定而得到一个更为优化(更为合理,美观,更为符合人的习惯)的排课方案的话,则这个问题就会变得超乎寻常的困难。
所以迄今为止,为了能够用计算机自动完成排课任务已经进行了非常多的尝试。
排课的本质问题是将大量的课程安排进有限的上课时间和教室中,与此同时还会涉及到任课老师和学生班级等各种因素互相制约的影响。
通常来说,排课中涉及的变量越多,则排课问题就会越复杂。
而本课题的排课研究涉及的排课环境是上海交通大学的网络学院。
网络学院的排课是排课问题中的一个全新的领域。
因为,在网络学院中,教室有了多媒体,视听等各种新的属性,而这在传统的排课问题中是没有的。
而且,网络学院的上课时间也更具多样性。
不同的专业,有的每天上午最多只能排4节课,而有的专业却可以安排5节课。
时间标准的多样性,教室属性的多样性,使得网络学院的排课问题需要考虑更多的因素,从而给排课提出了更高的要求。
本文所做的研究工作先是比较了一下当今比较流行的集中排课算法,如线性算法、遗传算法、限制逻辑(CLP)编程等等算法各自的优缺点和适用性。
并且,在此基础上,本文针对网络学院排课更为特殊的要求,提出了一个新的算法。
最终,基于本文所提出的这个算法,开发出了一个全新的排课模型,使其不但能适应普通的排课环境,还能够很好地满足网络学院更为特殊的排课要求。
关键词:远程教育,排课,人工智能,遗传算法,限制逻辑编程THE CONSTRUCTION OF TIMETABLES FOR SCHOOL COURSESAbstractThe construction of timetables for universities or schools is an extremely complex problem, whose manual solution requires much effort. The set of all possible solutions, that is the space of the problem, is very large, at least in the real world examples. An acceptable solution is one who satisfies all the problem constraints. The problem goes even more difficult if someone wants to generate an optimum timetable according to some heuristic criteria. Various attempts have been made so far on the automatic solving of the timetabling problem by a computer.The course-timetabling problem essentially involves the assignment of weekly lectures to time periods and lecture rooms. And generally speaking, the more variable the timetabling has, the more complex it is. Because there are quite a lot of versions of the timetabling problem, differing from one school to the next, we focus on constructing course timetables at our own long-learning school.The timetabling for our network school is a brand new in the TTP area. In this problem, the classrooms have attributes such as Multimedia, Video that we never encountered before. Some obstacles like that make the timetabling for the network school a more complex problem and bring a lot of new challenges.In this paper, some popular TTP algorithms such as Linear, genetic algorithms have been introduced. And according to the especially high demand of the network school, the paper brings a new algorithm and accomplished a new timetabling system. It not only meets the demand of ordinary timetabling problem, but also satisfies the network school’s especially complicated standard.Keywords: Distance-Learning, time tabling, Artificial Intelligence, genetic algorithms,evolutionary algorithms,Constraint Logic Programming(CLP)2目录第一章绪论.................................. 5§1.1 网络教育特点和发展现状 ................................................................................ 5§1.2 本课题的研究背景........................................................................................... 6§1.3 本课题的研究目标........................................................................................... 7§1.4 本课题研究应解决的主要问题 ......................................................................... 7第二章排课问题的理论介绍 ..................... 8§2.1 排课问题的诞生 .............................................................................................. 8§2.2目前排课问题的几个普遍的算法....................................................................... 9§2.2.1 Simulated Annealing................................................................................. 9§2.2.2 Constraint Logic Programming ............................................................... 11§2.2.3 Graphic Coloring Heuristics ................................................................... 11§2.2.4 Genetic Algorithms ............................................................................... 12§2.2.5 Linear Programming.............................................................................. 13§2.3 小结............................................................................................................. 13第三章排课问题的要求........................ 13§3.1 对本排课系统的要求 .................................................................................... 13§3.1目标.............................................................................................................. 14§3.2排课的基本情况 ............................................................................................ 14§3.2.1教学任务的划分 .................................................................................. 14§3.2.2不同教学任务教学时间的安排 ............................................................. 14§3.2.3排课中按照课程重要性的划分 ............................................................. 14§3.2.4关于排课时间的概念 ........................................................................... 15§3.2.5关于中同一门课程的持续时间的安排................................................... 15§3.3排课过程中遇到的各种条件和限制 ................................................................ 15§3.3.1排课系统必须满足的条件(hard constraints) ............................................ 16§3.3.2排课系统会尽量争取满足的条件(soft constraints) .................................. 17§3.4小结.............................................................................................................. 17第四章本课题所做排课系统的实现.............. 18§4.1 本排课系统的排课过程................................................................................. 18§4.2 本排课系统的实现原理................................................................................. 19§4.2.1 开发工具和前期准备........................................................................... 19§4.2.2排课系统的基本思路和算法................................................................. 19§4.3 本排课算法的小结........................................................................................ 26第五章本排课系统的使用介绍 ................. 27§5.1 信息的输入 .................................................................................................. 27§5.1.1教室信息的输入 .................................................................................. 27§5.1.2班级信息的输入 .................................................................................. 283§5.1.3课程信息的输入 .................................................................................. 28§5.1.4教师信息的输入 .................................................................................. 29§5.2课表的生成 ................................................................................................... 30第六章总结和展望 .......................... 31§6.1本课题完成的总结......................................................................................... 31§6.2对于排课系统的期望 ..................................................................................... 31§6.2.1排课系统的架构 .................................................................................. 32§6.2.2 use case技术........................................................................................ 32§6.2.3 COM/DCOM标准对象模型.................................................................. 32致谢 .................................... 34参考文献与附录: ........................... 354第一章绪论随着社会科技的不断发展,特别近20年来在信息技术上所取得的革命性进步,我们的生活方式也不可避免的不断地受信息技术影响而改变,其中就包括我们长久以来的学习方式。
原创c语言学生选课系统课程设计

原创C语言学生选课系统课程设计一、引言学生选课系统是高校管理系统中的重要组成部分,它通过网络为学生提供了方便快捷的选课服务。
本课程设计旨在设计一个基于C语言的学生选课系统,通过实现选课、查看选课结果、修改选课等功能,帮助学生更好地管理自己的选课信息。
二、功能设计1. 学生相关功能1.1 登录功能学生可以通过输入学号和密码登录系统,确保只有正式注册的学生才能使用该系统。
1.2 查看选课信息功能学生登录后可以查看所有可选课程的信息,包括课程名称、授课教师、上课时间等。
1.3 选课功能学生可以根据自己的兴趣和需求选择课程进行选课操作,并将选课结果保存到系统中。
1.4 查看选课结果功能学生可以查看自己已选课程的详细信息,包括课程名称、授课教师、上课时间等。
1.5 修改选课功能学生可以对已选课程进行修改操作,包括添加新课程、删除已选课程等。
2. 管理员相关功能2.1 管理员登录功能管理员可以通过输入管理员账号和密码登录系统,以获得管理员权限。
2.2 添加课程功能管理员登录后可以添加新的课程信息,包括课程编号、课程名称、授课教师、上课时间等。
2.3 删除课程功能管理员可以删除已存在的课程信息,以便及时更新课程列表。
2.4 查看选课情况功能管理员可以查看学生的选课情况,包括学生姓名、所选课程、选课时间等。
2.5 修改选课情况功能管理员可以对学生的选课结果进行修改操作,包括添加课程、删除课程等。
三、系统设计1. 学生数据结构设计在系统中,每个学生可以用一个数据结构来表示,包括学号、姓名、密码等信息。
struct Student {int stuId;char stuName[20];char password[20];};2. 课程数据结构设计每门课程可以用一个数据结构来表示,包括课程编号、课程名称、授课教师、上课时间等信息。
struct Course {int courseId;char courseName[30];char teacher[20];char classTime[20];};3. 数据存储设计使用文件来存储学生和课程信息,其中学生信息存储在一个文件中,课程信息存储在另一个文件中。
基于C语言的多功能高职排课系统设计与实现

文章编号 : 7 —5 X(0 0 0 -0 90 1 319 2 1 )60 5 -3 6
基 于 C语 言 的 多功 能 高职 排 课 系统 设 计 与 实现
陈彩华 龙卫兵 刘彬 , ,
(. 1 湖南三一工业职业技术学院 , 湖南 长沙 4 0 2 ;. 1 19 2 湖南工程职业技术学 院, 湖南 长沙 4 0 ) 1 14 1
第2 9卷第 6期
Vo _ 9. . l 2 No 6
西 华 大 学 学 报 ( 自 然 科 学 版 )
J u n lo h a U iest ・ N trlS in e o r a fXiu nv ri y au a ce c
21 0 0年 1 月 1
NO . 01 V2 0
Ab ta t S li g c riu u c e u i g p o l m,w ih i i hy c mp e o ln a n ,i v r mp r n O ic e s h f — s r c : ovn u r l m s h d l r b e c n h c sa h g l o lx n n i e ro e s e y i ot t n r a e t e ef a t i c n y o c d mi n g me t o fo t g t e r p d d v l p n fv c t n l d c t n h s p p r man y d s u s d t e ma a e 。 m e fa a e c ma a e n .C n r ni h a i e eo me to o ai a e u ai ,t i a e i l ic s e h n g — n o o me tmo e o u rc l m c e u ig s se frp l tc n c c le e .Ac o d n h e i f ih rv c to a d c t n, h u h r n d f ri uu s h d l y tm o ye h i olg s c n o c r ig t t e ra t o g e o ain l u a i o l y h e o tea tos fc s d o h y t m f n t n i n aamo e f h u r u u s h d l g s se rp lt c n cc l g s a d p o o e h n ・ o u e n t e s se u ci a t a d d t d l e c ri l m c e u i y t m f oy e h i o l e , n r p s d te f c ol y ot c n o e u t n lac i c u e o u r u u s h d l g s se wh c s f rt e v c t n d c t n n o sr ce h u rc l m c e ui g i a r h t t r fc ri l m c e ui y tm i h i i f o ai a e u ai ,a d c n t t d t e c riu u s h d l o e c n t o h ol o u n mo e ,a d r aie h o e s se f n t n b s d o a g a e d l n e l d te wh l y tm u ci a e n C ln u g . z o Ke r s tme tb e p o lm ;h g e o ai n o lg ; u r u u s h d l g s se C l n a e y wo d :i a l r b e i h rv c t a c l e c r c l m c e u i y t m; a g g ol e i n u
高职院校排课系统的设计与实现

高职院校排课系统的设计与实现作者:田娟徐钊来源:《电子技术与软件工程》2015年第15期摘要本论文研究并设计的内容是利用信息技术中的网络和计算机进行课表的自动编排,依据用户的不同需求查询并输出课表。
本排课系统采用J2EE平台的Struts + Spring + Hibernate框架,采用UML面向对象分析与建模的思想,优化了原有的排课系统,大大提高了运行效率,使高职院校的排课管理实现了无纸化运行。
【关键词】排课 Struts+ Spring+ Hibernate UML随着高职教育在新疆的良好发展,就读高职院校的学生人数急剧增加,所需的教师数量也不断增加,传统手工式排课就暴露出漏排课、错排课、排重课等问题。
而通过把信息技术和传统排课相结合的计算机排课技术就能够很好的解决这些问题,同时其优点也是显而易见的,例如教学信息清晰可查,学生学习进程评估优化,教师工作能力评测等等,这些功能对于各院校都具有重要的实际意义。
本次开发的排课系统采用J2EE技术,充分继承和体现了该技术所具有的良好的伸缩性和跨平台性的优点,为后续使用中的模块扩展和应用范围的扩大打下了良好的基础。
1 系统设计1.1 系统的总体设计我们以充分分析高职院校当前的需求和未来可能的需求为基础,最终确定了本系统的总体组成结构,见图1。
具体各功能模块完成的任务如下:(1)用户管理模块:管理用户及其权限。
(2)录入模块:实现对教室、院系、专业、班级、教师、课程等基础信息的增、删、改和浏览的功能。
(3)排课管理模块:实现依据基础信息、附加信息进行科学有效的统计,分析,编排出合理科学的课程表的功能。
(4)查询模块:实现按用户的不同条件进行查询的功能。
(5)报表输出模块:实现利用排课结果,进行新一次的对数据的组织,根据用户的不同需求输出形式不一的,复杂的课表功能。
1.2 系统数据库设计数据库设计的主要任务是将系统开发中所需要的数据内容按照一定的方式组织起来。
c语言课程设计管理系统设计与实现

c语言课程设计管理系统设计与实现一、教学目标本课程旨在通过C语言程序设计,使学生掌握管理系统的设计与实现方法。
教学目标包括:1.知识目标:使学生掌握C语言的基本语法、数据结构、算法和模块化程序设计方法;理解管理系统的基本概念、设计原则和实现技术。
2.技能目标:培养学生具备使用C语言进行管理系统设计与实现的能力,能独立完成中小型管理系统的开发任务。
3.情感态度价值观目标:培养学生热爱编程、勇于创新的精神,增强团队协作意识,提高解决实际问题的能力。
二、教学内容本课程的教学内容主要包括:1.C语言基础知识:数据类型、运算符、表达式、顺序结构、分支结构、循环结构等。
2.数据结构:数组、链表、栈、队列、树、图等。
3.算法:排序算法、查找算法、常用算法分析与实现。
4.模块化程序设计:函数、模块化思想、文件操作等。
5.管理系统设计:系统分析、系统设计、系统实现、系统测试与维护。
三、教学方法为实现教学目标,本课程将采用以下教学方法:1.讲授法:教师讲解C语言基本语法、数据结构、算法和管理系统设计原理。
2.案例分析法:分析典型管理系统案例,引导学生掌握管理系统的设计与实现方法。
3.实验法:学生动手编写C语言程序,实现简单的管理系统,培养实际编程能力。
4.讨论法:分组讨论问题,培养学生的团队协作能力和解决问题的能力。
四、教学资源为实现教学目标,本课程将提供以下教学资源:1.教材:《C语言程序设计》、《数据结构》、《算法设计与分析》等。
2.参考书:《C语言编程思想》、《深入理解计算机系统》等。
3.多媒体资料:课件、教学视频、在线课程等。
4.实验设备:计算机、网络设备、编程软件等。
五、教学评估本课程的评估方式包括以下几个方面:1.平时表现:评估学生在课堂上的参与程度、提问回答、小组讨论等,占比20%。
2.作业:评估学生完成的编程作业,包括C语言程序设计和管理系统实现,占比30%。
3.考试:包括期中考试和期末考试,分别占比20%。
c课程设计排课系统

c 课程设计排课系统一、教学目标本课程旨在让学生掌握排课系统的基本原理和操作方法,理解排课系统的核心概念,培养学生运用排课系统解决实际问题的能力。
具体目标如下:1.知识目标:(1)了解排课系统的起源、发展及其在我国的应用现状。
(2)掌握排课系统的基本原理,包括课程安排、时间分配、教室资源管理等。
(3)理解排课系统中各个模块的功能及其相互关系。
2.技能目标:(1)能够熟练操作排课系统,进行课程安排和调整。
(2)能够根据实际需求,运用排课系统进行教室资源管理和调度。
(3)能够分析排课系统中存在的问题,并提出相应的优化方案。
3.情感态度价值观目标:(1)培养学生对排课系统的兴趣,提高学生运用信息技术解决实际问题的意识。
(2)培养学生团队协作、创新思维和责任意识,提高学生在排课系统使用过程中的综合素质。
二、教学内容本课程的教学内容主要包括以下几个部分:1.排课系统概述:介绍排课系统的起源、发展及其在我国的应用现状。
2.排课系统基本原理:讲解排课系统的工作原理,包括课程安排、时间分配、教室资源管理等。
3.排课系统各个模块功能:详细介绍排课系统中各个模块的功能及其相互关系。
4.排课系统操作方法:讲解如何熟练操作排课系统,进行课程安排和调整。
5.教室资源管理:讲解如何运用排课系统进行教室资源管理和调度。
6.排课系统优化:分析排课系统中存在的问题,并提出相应的优化方案。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法,如讲授法、讨论法、案例分析法、实验法等。
具体方法如下:1.讲授法:用于讲解排课系统的基本原理、各个模块功能和操作方法。
2.讨论法:学生针对排课系统使用过程中遇到的问题进行讨论,培养学生的团队协作和创新思维。
3.案例分析法:分析实际案例,让学生了解排课系统在实际应用中的优势和局限。
4.实验法:安排实验室实践环节,让学生动手操作排课系统,提高实际操作能力。
四、教学资源本课程所需教学资源包括:1.教材:《排课系统教程》2.参考书:《现代排课系统设计与实现》、《教室资源管理策略》3.多媒体资料:排课系统使用说明书、实际应用案例视频等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 高职排课问题描述
排课问题是一个典型的资源动态组合优化问 题,主要解决上课班级、开设课程、任课教师、上课时 间、上课地点5个要素之间在排列组合中所发生的 矛盾和冲突。因此,可将排课问题研究的对象看作 一个5元组:CSPOBJ=(C,P,R,T,£)
其中:C表示班级集合{c1,c2,…,C。}; P表示教师集合{p1,p2,…,几}; 尺表示教室集合{r1,r2,…,L}; r表示授课时间集合{tl,t2,…,t6}; £表示课程集合{z1,f2,…,z。}。 排课系统的最终目标就是寻找C、P、R、T、L之间 不发生冲突的最佳搭配,使最终结果符合事先设定的 各种约束条件。排课系统的基本约束条件包括: (1)同一班级的学生在同一时间内不能安排两
Abstract:Solving curriculum scheduling problem,which is a highly complex nonlinear one,is very important to increase the effi- ciency of academic management.Confronting the rapid development of vocational education,this paper mainly discussed the manage-
理的时间间隔; (3)适当考虑某些教师的特殊要求,比如非住
校教师的课程应尽量避免排在晚上; (4)各班的课程编排要均衡,避免有些天课程
很满,有些天课程很少。
2 高职排课系统功能设计
2.1数学模型建立 从数学角度来看,排课问题是一个在时间、班
级、教师、教室、课程五维空间中,严格受排课条件约 束的组合规划问题。为了得到最优课表,同时降低 排课的难度,本文主要采用基于优先级的动态资源 匹配算法。
第29卷第6期 VoL 29,No.6
西华大学学报(自然科学版) Journal of Xihua University-Natural Science
文章编号:1673-159X(2010)06-0059-03
2010年11月 NOV.2010
基于C语言的多功能高职排课系统设计与实现
陈彩华1,龙卫兵2,刘彬1
Key words:time table problem;higher vocational college;curriculum scheduling system;C language
排课问题的本质是时间表问题(TTP:Timeta. bling Problem),属于NP完全问题…。排课问题的 求解就是在课程相关资源固定的情况下,避免各种 冲突,得到合理的课表安排方案。
级的动态资源匹配算法解决排课问题。首先,对
教室与课程按优先级分类,教室矩阵中的教室向
量按容量大小排序,课程矩阵中的课程按所需要
资源容量大小排序,然后,对教室矩阵中的各教室
向量‘选出资源相匹配的课程单位向量k。,再逐
一对教室的各时间段进行排课。具体实现的流
程,如图1所示。
图I 高职排课系统流程图
2.3相关数据结构及其函数实现 (1)基本信息表:主要包括课程信息表、教师信
3 结果实现
本文主要以C语言作为开发工具,设计和实现 了基于优先级的动态资源匹配算法的自动排课系 统。系统实现后,采用该系统对湖南三一工业职业 技术学院2010年上学期的课表进行了编排,编排后 的课表部分结果如图2~3所示。
图2 三一工业职业技术学院课表
图3特定教师课程表
试验结果表示该排课系统能满足所有的约束, 既能提供全校全部班级的课程查询,同时也能方便 查询特定教师的课程安排与特定班级的课程表,较 好地实现了课程、教师授课、学生上课的均衡分布, 有效地配合了学校分组教学,分级教学等教学改革 的实施。
[2]C.C.Gotlieb.The Construction of Class—teacher Time—table [Z].proc IFIPCongr62,1963:73-77.
[3]Jin·Kao Hao.Hybrid Evolutionary Algorithms for Graph Colo- riIlg[J].Journal ofCombinational Optimization,1999(3):379-397.
收稿日期:2010-05-25 基金项目:湖南省省级科技计划项目(2009GK3154) 作者简介:陈彩华(1973一),女,讲师,硕士,主要研究方向为嵌入式系统和嵌入式系统的应用。E·mail:cchlxy@126.com
万方数据
西华大学学报·自然科学版
门课程; (2)同一个教师在同一个时间内不能安排两门
ment mode of curriculum scheduling system for polytechnic coHeges.According to the reality of higher vocational education,the authors focused on the system functionality and data model of the curriculum scheduling system for polytechnic colleges,and proposed the func— tional architecture of curriculum scheduling system which is fit for the vocational education,and constructed the curriculum scheduling model,and realized the whole system function based on C language.
息表、班级信息表、教室信息表等。课程信息表用来 存放排课课程的相关信息,主要包括课程名称、课程
万方数据
第6期
陈彩华等:基于c语言的多功能高职排课系统设计与实现
61
编号、课程学分、总学时、周学时、考查方式、授课学 生对象等。教师信息表用来存放教师的相关信息, 每条教师记录包括教师编号、所在系部编号、姓名、 性别、职称、电话号码等。班级信息表用来存放排课 班级信息,主要包括班级名、班级编号、专业方向、班 级人数、班级人数等。教室信息表主要包括教室名 称、教室编号、教室类型、可用时间段等。
课程; (3)同一教室在同一个时间不能安排两门课程; (4)同一时间安排的课程总数不能大于所能提
供的教室总数; (5)某门课程参加学习人数不应该大于所安排
教室的座位数。 经验要求主要包括: (1)尽量将课程安排在最适合上该课的时间段,
比如体育课应尽量避免安排在第一、二节与晚上; (2)一周有多次的课程,各次课之间应该有合
(2)排课基本信息表结构:
struct class—.info
{ int nag;//排课标志,0表示空缺,1表示已占
用 char course_name[16]; char teacher name[10]; char room—name[6];
};
struct course
{ char class—name[16]; struct day week[WEEK];
关键词:时间表问题;高职;排课系统;C语言
中图分类号:TP311
文献标识码:A
Design and Implementation of Multifunctional Curriculum Scheduling System for Polytechnic Colleges Based on C
CHEN Cai—hual,LONG Wei.bin92,LIU Binl (1.Hunan SANY Polytechnic College,Changsha 410129 China;2.Hunan Engineering Polytechnics College,Changsha 410114 China)
近年来,国内外已有大量研究人员对排课问 题进行了探索,自从1963年C.C.Gotlie给出课表 的数据模型心3以来,相继有模拟手工排课法、回溯 法、二次分配型法、图论法、遗传算法等多种方法 被用来解决排课问题[3-5]。由于各学校有其自身 的特点,要开发一个普遍实用的自动排课系统比 较困难,加上大部分已有的排课系统都是针对大 学的教学管理系统,具有高职特色的排课系统还 不多见,因此,本文主要探索高职排课系统模型的 研究与实现,达到在有限教学资源的基础上发挥 最大经济效益的目标。
● Ⅱ
C=
● n
●●●
●
自如;“ n
(4)教室向量矩阵定义:尺 一间教室的单位向量定义为r。=(r…r∽…, r.。),n个分量分别表示可排课标志,教室编号,座位 数……,m间教室资源组成教室需求矩阵
●
YIl
r12
●
r21
R=
/'22
:
:
●
●
●●●
●
1"m1
Ym2
‰‰;‰
2.2动态优先算法设计
在所构建的数学模型基础上,采用基于优先
(1)课时单元定义:tw。 ①定义每周上课5天:#define WEEK 5 ②定义每天上课4大节(每大节包含2个课 时):#define ORDER 4 ③一个课时单元two表示星期w的第O次课,1 ≤W≤5.1≤O≤4 (2)排课间隔周期定义:r 每周有两次及以上次数的课程,用r表示一周 内各次课之问的时间间隔,以避免课程集中在一起, T=int(WEEK/(Wtimes/Utimes))一1,Wtimes表示周 学时,Utimes表示每次排的课时数(等于two代表的 课时数) (3)课程向量矩阵定义:C 一门课程的单位向量定义为c。=(C…c,:,…, c。。),忍个分量分别表示可排课标志,课程类型,课程 名,授课教师,、授课地点……,m个待排课程组成课 程需求矩阵