攀枝花学院本科毕业设计(论文)[教学计划编制问题]学生姓名:学生学号:院(系)年级专业:指导教师:助理指导教师:无二〇一一年六月1攀枝花学院本科学生课程设计任务书题目教学计划编制问题1、课程设计的目的培养学生用学到的书本知识解决实际问题的能力;培养实际工作所需要的动手能力;培养学生以科学理论和工程上能力的技术,规范地开发大型、复杂、高质量的应用软件和系统软件具有关键性作用;通过课程设计的实践,学生可以在程序设计方法、上机操作等基本技能和科学作风方面受到比较系统和严格的训练。2、课程设计的内容和要求(包括原始数据、技术要求、工作要求等)设计要求:针对计算机系本科课程,根据课程之间的依赖关系(如离散数学应在数据结构之前开设)制定课程安排计划,并满足各学期课程数目大致相同。3、主要参考文献[1]《数据结构》(C语言版),严蔚敏,清华大学出版社,2003.[2]《数据结构题集》,严蔚敏,清华大学出版社,2005.[3]《数据结构》(C语言版),刘大有,高等教育出版社,2004.[4]《DataStructurewithC++》,WilliamFord.WilliamTopp,清华大学出版社,2003.4、课程设计工作进度计划第1天完成方案设计与程序框图第2、3天编写程序代码第4天程序调试分析和结果第5天课程设计报告和总结指导教师(签字)日期年月日教研室意见:年月日学生(签字):接受任务时间:年月日注:任务书由指导教师填写。2课程设计(论文)指导教师成绩评定表题目名称教学计划编制问题评分项目分值得分评价内涵工作表现20%01学习态度6遵守各项纪律,工作刻苦努力,具有良好的科学工作态度。02科学实践、调研7通过实验、试验、查阅文献、深入生产实践等渠道获取与课程设计有关的材料。03课题工作量7按期圆满完成规定的任务,工作量饱满。能力水平35%04综合运用知识的能力10能运用所学知识和技能去发现与解决实际问题,能正确处理实验数据,能对课题进行理论分析,得出有价值的结论。05应用文献的能力5能独立查阅相关文献和从事其他调研;能提出并较好地论述课题的实施方案;有收集、加工各种信息及获取新知识的能力。06设计(实验)能力,方案的设计能力5能正确设计实验方案,独立进行装置安装、调试、操作等实验工作,数据正确、可靠;研究思路清晰、完整。07计算及计算机应用能力5具有较强的数据运算与处理能力;能运用计算机进行资料搜集、加工、处理和辅助设计等。08对计算或实验结果的分析能力(综合分析能力、技术经济分析能力)10具有较强的数据收集、分析、处理、综合的能力。成果质量45%09插图(或图纸)质量、篇幅、设计(论文)规范化程度5符合本专业相关规范或规定要求;规范化符合本文件第五条要求。10设计说明书(论文)质量30综述简练完整,有见解;立论正确,论述充分,结论严谨合理;实验正确,分析处理科学。11创新10对前人工作有改进或突破,或有独特见解。成绩指导教师评语指导教师签名:年月日3目录摘要………………………………………………………………………………4一需求分析…………………………………………………………………………51.1实验内容和实验目的………………………………………………………………51.2设计要求……………………………………………………………………………51.3理论与实践教学体系的关系…………………………………………………………5二流程图设计………………………………………………………………………6三概要设计…………………………………………………………………………83.1抽象数据类型图的定义……………………………………………………………83.2主程序………………………………………………………………………………93.3程序模块调用关系…………………………………………………………………10四详细设计…………………………………………………………………………104.1头结点,表结点,邻接表的定义…………………………………………………104.2栈的定义…………………………………………………………………………114.3主程序和其他算法………………………………………………………………11五调试分析…………………………………………………………………………205.1用户使用和说明…………………………………………………………………205.2测试数据…………………………………………………………………………225.3测试结果…………………………………………………………………………235.4实验过程中出现的问题及解决方法………………………………………………24六实验分工…………………………………………………………………………24七实验体会…………………………………………………………………………25八参考文献…………………………………………………………………………264摘要教学计划是学校保证教学质量和人才培养的关键,也是组织教学过程、安排教学过程、安排教学任务、确定教学编制的基本依据和课程安排的具体形式。是稳定教学秩序、提高教学质量的重要保证。从教学计划的设计、实施等方面,阐明了如何搞好教学管理,从而为提高教学质量提供保证。随着教育改革的不断深入和社会发展的需要,原旧的教学计划在定位上的方向性偏差,已经不再适应社会的需求。因此,应重视教学计划的改革和修订工作,以确保教育教学质量,提高教育教学水平。教学计划编制中的思路:一是明确培养目标;二是注重学科设置的整体性、统一性和灵活性、全面性;三是与学分制改革有机结合.教学计划是高校实施常规教学活动的基本管理文档,由于传统的手工编制方式存在诸多弊端,开发基于Web应用程序形式的教学计划编制系统具有很好的应用价值。使用C程序设计语言,研究开发教学计划编制系统Web应用系统。关键词教学计划编制培养目标管理5一需求分析1.1实验内容和实验目的大学的每个专业都要编制教学计划。假设任何专业都有固定的学习年限,每学年含两学期,每学期的时间长度和学分上限都相等。每个专业开设的课程都是确定的,而且课程的开设时间的安排必须满足先修关系。每个课程的先修关系都是确定的,可以有任意多门,也可以没有。每一门课程恰好一个学期。试在这样的情况下设置一个教学计划编制程序。在大学的某个专业中选取几个课程作为顶点,通过各门课的先修关系来构建个图,该图用邻接表来存储,邻接表的头结点存储每门课的信息.本程序的目的是为用户编排课程,根据用户输入的信息来编排出每学期要学的课程.1.2设计要求针对计算机系本科课程,根据课程之间的依赖关系(如离散数学应在数据结构之前开设)制定课程安排计划,并满足各学期课程数目大致相同。1.3理论与实践教学体系的关系理论教学体系和实践教学体系是培养职业能力的两个主导因素是相互联系的,要处理好两者关系。基础理论教学要以应用为目的,以必需、够用为度,专业课教学要加强针对性和应用性。实践教学要改变过分依附理论教学的状况,探索建立相对独立的实践教学体系,形成基本实践能力与操作技能,专业技术应用能力与专业技能,综合实践能力与综合技能有机结合的实践教学体系。6二概要设计2.1抽象数据类型图的定义ADTGraph{数据对象V:V是具有相同特性的数据元素的集合,称为顶点集.数据关系R:R={VR}VR={(v,w)|v,w∈V,(v,w)表示v和w之间存在直接先修关系}基本操作P:voidCreatGraph(ALGraph*);voidFindInDegree(ALGraph,int*);voidTopologicalSort_1(ALGraphG,intnumterm,intmaxcredit);voidTopologicalSort_2(ALGraphG,intnumterm,intmaxcredit);}ADTGraph栈的定义:ADTStack{数据对象:D={ai|ai∈ElemSet,i=1,2,…n,n=0}数据关系:R1={﹤ai-1ai﹥|ai-1,ai∈D,i=2,…,n}基本操作:voidInitStack(SqStack*S);intStackEmpty(SqStackS);voidPush(SqStack*S,int);intPop(SqStack*S,int*e);}ADTStack72.2主程序intmain()//主函数{intnumterm;//学期总数intuplcredit;//一个学期的学分上限intselectway;ALGraphG;printf(请输入学期总数:\n);scanf(%d,&numterm);printf(请输入一个学期的学分上限:\n);scanf(%d,&uplcredit);CreatGraph(&G);printf(请选择编排策略:1.课程尽可能集中到前几个学期;2.课程尽量均匀分布\n);scanf(%d,&selectway);if(selectway==1)TopologicalSort_1(G,numterm,uplcredit);if(selectway==2)TopologicalSort_2(G,numterm,uplcredit);system(pause);return0;}8三代码设计3.1头结点,表结点,邻接表的定义#defineMAX_VERTEX_NUM100//最大课程总数typedefstructArcNode{intadjvex;structArcNode*nextarc;}ArcNode;typedefstructVNode{charname[24];//课程名intclassid;//课程号intcredit;//课程的学分intindegree;//该结点的入度intstate;//该节点的状态ArcNode*firstarc;//指向第一条依附该顶点的弧的指针}VNode,AdjList[MAX_VEXTEX_NUM];typedefstruct{AdjListvertices;intvexnum,arcnum;}ALGraph;邻接表的基本操作:voidCreatGraph(ALGraph*);9创建邻接表voidFindInDegree(ALGraph,int*);求一个结点的入度voidTopologicalSort_1(ALGraphG,intnumterm,intmaxcredit);拓扑排序来编排课程voidTopologicalSort_2(ALGraphG,intnumterm,intmaxcredit);拓扑排序来编排课程3.2栈的定义#defineSTACk_INIT_SIZE100//存储空间的初时分配量#defineSTACKINCREMENT10//存储空间的分配增量typedefintElemType;typedefstruct{AdjListvertices;intvexnum,arcnum;}ALGraph;基本操作:voidInitStack(SqStack*S);栈的初始化intStackEmpty(SqStackS);判断栈是否为空10voidPush(SqStack*S,int);入栈操作intPop(SqStack*S,int*e);出栈操作3.3主程序和其他算法intmain()//主函数{intnumterm;//学期总数intuplcredit;//一个学期的学分上限intselectway;ALGraphG;printf(请输入学期总数:\n);scanf(%d,&numterm);printf(请输入一个学期的学分上限:\n);scanf(%d,&uplcredit);CreatGraph(&G);printf(请选择编排策略:1.课程尽可能集中到前几个学期;2.课程尽量均匀分布\n);scanf(%d,&selectway);if(selectway==1)TopologicalSort_1(G,numterm,uplcredit);if(selectway==2)11TopologicalSort