数据结构课程设计

2024-10-25 版权声明 我要投稿

数据结构课程设计(精选8篇)

数据结构课程设计 篇1

Course Design of Data Structure

课程代码:

适用专业:信息计算、信息安全 总学时数:1周编写年月:2004年7月

执 笔:刘科峰、李小英、高学军

课程性质:设计(论文)/必修 开课学期:5 总学分数:1 修订年月:2007年7月

一、课程设计的性质和目的

《数据结构课程设计》是本学院本科专业的集中实践性环节之一,是学习完《数据结构》课程后进行的一次全面的综合应用练习。其目的就是要达到理论与实际相结合,使学生能够根据数据对象的特性,学会数据组织的方法,能把现实世界中的实际问题在计算机内部表示出来,并培养良好的程序设计技能。

二、课程设计内容及学时分配

写出不少于3000字的课程设计说明书。说明书中除了在封面中应有题目、班级、姓名、学号和课程设计日期以外,其正文一般有如下几个方面的内容:

1.需求分析 2.概要设计 3.详细设计 4.调试分析 5.测试结果 6.附录或参考资料

三、课程设计教学基本要求

四、课程设计选题

根据教材《数据结构题集(C语言版)》(严蔚敏、吴伟民主编)选择课程设计题目,或选择下列与实际应用紧密结合的较综合性的题目,要求通过设计,在数据结构的逻辑特性和物理表示、数据结构的选择应用、算法的设计及其实现等方面加深对课程基本内容的理解和综合运用。

1. 运动会分数统计系统; 2. 停车场管理系统; 3. 民航售票系统; 4. 有理数四则运算器; 5. 文本格式化器; 6. 哈夫曼编/译码器; 7. 教学计划编制; 8. 计算机辅助考核系统;

9. 学籍管理系统; 10. 图书管理系统。

五、本课程与其它课程的联系与分工

本课程是《数据结构》的配套课程,学完《数据结构》后进行的综合性课程设计。

六、成绩评定

由指导教师根据学生完成任务的情况、课程设计说明书的质量和课程设计过程中的工作态度等综合打分。课程设计结束时,要求学生写出课程设计报告,可运行的软件系统(包括源程序)。课程设计成绩:上机情况(20%)包括出勤情况、调试表现。设计报告占40%,设计作品占40%。

成绩评定实行优、良、中、及格和不及格五个等级。优秀者人数一般不得超过总人数的20%。不及格者不能得到相应的学分,需重新做课程设计,经指导教师考核及格后,方可取得相应学分。有关的考查相关材料(文字材料以及磁盘或光盘)统一妥善保管。

七、建议教材与教学参考书

[1] 《数据结构》,严蔚敏 吴伟民 编著,清华大学出版社

数据结构课程设计 篇2

数据结构课程要求学生掌握各种常用数据结构的逻辑结构、存储结构,及相关操作的算法,而学生在算法设计或程序设计方面还不具备足够的技巧,因而会感到难以理解和掌握。学生理解教材上的基本概念并不难,然而,他们在解决具体问题时就会感觉到力不从心,特别是对那些有一定难度的算法设计题更显得无从下手[1,2]。因此,培养学生的学习兴趣和自信心,提高其学习的主动性、创新性及应用能力,是数据结构课程教学中的重要任务。

数据结构课程一般是在大学二年级上学期开设,而数据结构课程设计在大学二年级下学期开设。作为一个重要的实践教学环节,该课程是数据结构课堂理论教学的延续与补充,其基本目标是运用所学知识,对实际问题进行分析,选取合适的数据结构,独立地进行设计相对应的存储结构,并用算法加以实现,从而解决所提出的问题[3,4]。在此过程中,进一步巩固、加深和融合所学的专业课程知识,锻炼学生独立思考的能力、分析问题和解决问题的能力、综合设计能力、开拓创新能力、自学能力,以及团队协作能力等。因此,课程设计对全面提高学生综合素质具有重要意义。

笔者在多年的教学实践中体会到,数据结构课程设计的教学要循序渐进,如何让学生理解课程内容与较好地解决实际问题两者相结合是本门课程教学的主要目标。为了让学生准确理解并巩固所学的基本概念、原理和方法,将所学的基本知识、基本技能用于解决实际问题,达到具备今后软件了开发工作所需的能力,最重要的是让他们勤加苦练。经过循序渐进地练习,使学生掌握更多的程序设计技巧和方法,提高他们分析、解决问题的能力,培养他们的团队协作精神。接下来,笔者就如何激发学生的兴趣,提高数据结构课程设计的教学效率和效果,阐述几点感受与体会,与同行一起探讨。

1 课程设计教学过程中的体会

数据结构课程设计比教学实验复杂一些,涉及的深度更广些,而且更加实用一些。教学过程中,教师根据学校的特点和教学计划选择相应的课程设计内容,帮助学生系统掌握数据结构这门课的主要内容,从而顺利完成教学任务。为实现课程教学目标,笔者结合自身的教学经验和研究成果,就教学过程中课程设计内容的选题,实施方法,以及评价标准等方面谈谈自己的一些体会。

1.1 课程设计内容的选题

数据结构课程设计应遵循以下原则:坚持以能力为本位,以学生为主体,教师角色转换为倡导者。选题时尽量达到以下特点:新颖性、实用性、难度适中、各有所需。

一个好的选题既可以反映课程设计大纲的要求,又能反映本学科新技术的发展前沿,还能通过本课程设计训练,培养学生分析问题、解决问题的能力,从而掌握数据结构这门课程的主要内容。首先,选题要新颖,因为新颖的选题能进一步激发学生的学习兴趣,调动其学习的积极性。其次,选题应具有实用性,接近实际工程的需要,引导学生根据需求分析,利用所学知识去解决与日常生活中密切相关的问题。再次,选题难易程度要适中。课程设计的内容基本上能让大多数同学接受,难度过大会让学生产生一种消极,甚至是抵触的情绪;难度过于简单也同样达不到预期目标。最后,选题范围要足够广泛,让不同层次水平的学生都有问题可想,为学生提供发挥其创新性思维的平台;同时,工程大的选题在一定程度上更能锻炼学生独立思考的能力和团队协作能力。对某些课程设计提出部分需要改进或进一步完善的要求,供那些学有余力的学生来拓宽自己的设计思路,提高自身的解题能力及水平。当然,学生也可以自主设计一些有挑战性的题目。

1.2 课程设计的实施方法

本课程是在保证基础理论教学质量的前提下,进一步加强学生解决实际问题的动手实践能力的培养。根据课程设计的实际情况,给出一些具有一定规模的问题,并对课程设计内容做系统安排,具体实施过程如下。

1.2.1 分组

以设计小组形式,每3~5人组成一组,同一班级自由组合;如需要跨班组合,可向指导教师提出申请。每个小组选出一名基础较好且具有一定组织能力的学生担任组长,组长负责本小组的选题,系统模块划分和任务安排,使每位小组成员负责一部分功能的实现。

1.2.2 选题与分工

各小组成员共同协商选择合适的题目,然后进行分工。小组之间也可以相互合作,将各自的系统模块进行整合,以解决更大规模的问题。指导教师根据各个学生的实际情况作适当调整,保证工作量的合理分配,以确保各小组设计工作的顺利进行。

1.2.3 定期检查

定期检查或抽查每个学生的完成情况,了解各个小组的课程设计进展;督促学生积极思考,比如,描述要解决的问题,根据操作对象选择相应的数据结构,建立模型,定义抽象数据类型,画出算法流程图,引导他们锻炼自己的分析问题和解决问题以及编程实现的能力。

1.2.4 提交实验报告

实验报告的正文必须至少包括以下内容:

1)问题描述:根据自己的理解,描述选题要实现的功能。

2)数据结构:为处理所需要的功能,自己设计数据结构,包括各自完成的有关数据类型,操作的定义,以及存储结构。

3)算法描述:根据问题的要求和所设计的数据结构,描述算法过程。

4)效果与测试情况:给出系统的测试情况与最终效果,可通过截取一些界面用于解释说明。给出测试数据结构的使用手册,以及完成其他数据类型的测试与测试报告。

5)分析与讨论:分析所采用算法的优缺点,时间复杂度,算法实现过程中遇到问题,所采用的解决方法,自己提出的算法的改进方案。本课程设计的不足之处,改进思路,以及实验过程体会。

6)参考资料:文中所引用的参考资料撰写格式参照国家标准(GB-T 7714-2005)。

7)致谢:感谢在完成本课程设计报告过程中对自己提供帮助的个人/集体。

8)附录:附上结构完整的程序,带有详细注释的源程序清单。

1.3 课程设计的评价标准

课程设计完成后,应对每位学生提交的课程设计报告进行评价,可分为小组互评和指导教师评价两个过程。

1.3.1 小组互评

小组互评包括自评和组长评价两部分。首先,每位组员根据各自参与程度、完成的工作量、效果在小组内自评,自评分值占50%。其次,组长在报告封面上描述组内每位组员的具体工作,并为组内各成员打分,组长评分值占50%,同时规定:组长100分,排名靠后的组员的成绩与前一位组员的成绩分数差距为6~10分。课程设计采用分组形式的宗旨是鼓励合作,但反对挂名。

1.3.2 指导教师评价

小组互评之后,由指导教师组织学生进行课程设计报告的现场答辩,答辩过程包括:以小组为单位进行现场演示,解答教师或其他组的同学所提出的问题。现场演示检查可以提高学生对课程设计方法的理解,锻炼他们对相关问题的表达能力。而在现场提问环节中,小组成员可以通过协商共同解答他人的提问,以此提高学生的临场应变能力和相互协作能力。指导教师对课程设计报告要进行认真的评判,评分时各部分的分值比例如下:选题难度,包括完成目标的难度,占20%;完成质量,主要考虑其设计方法和实现技术,占30%;实验报告撰写质量,占30%;演示效果,占20%。上述分值比例及评定方法可根据实际情况适当调整。

指导教师评价学生的设计时采用如下标准:

1)若完成的课程设计特别优秀,且创新性强,可给予90分以上,但严格控制90分以上的数量。

2)若能保证程序完全正确,则可获得80~84分;如果学生设计算法有自己独特的见解,并通过代码实现,而且具有一定的创新性,则可考虑加分到85~89分。

3)若在设计算法和代码实现的过程中出现极少的错误,则应给予70~79分。

4)若设计错误不算太多,大部分算法与实现程序都能通过,则应给予60~69分。

5)若程序中有比较多的错误,不能达到规定的要求,则其成绩给予不及格。

2 结论

课程设计是让学生综合运用所学知识解决实际问题的重要教学实践环节。如何通过课程设计环节实践,培养学生分析并解决具有一定规模的实际问题的能力,提高数据结构课程设计的教学效率和效果,是教师一直在不断研究和探讨的问题。笔者根据自己在教学中的体会,介绍并探讨了对课程设计内容的选取,组织与实施,以及评价标准,并将其应用到本校数据结构课程设计的实际教学中,取得了较好的教学效果,为同行提供一定的可参考价值。

摘要:针对数据结构课程设计教学过程中存在的问题,分析了数据结构课程的特点与课程设计的重要性,阐述了教学过程中课程设计的选题,实施方法,以及评价标准等方面的一些感受与体会。

关键词:数据结构,课程设计,教学过程,实施方法,评价标准

参考文献

[1]严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,2006.

[2]苏仕华.数据结构课程设计[M].北京:机械工业出版社,2005.

[3]李英梅,夏伟宁,邢恺“.数据结构”课程设计教学过程的研究与实践[J].计算机教育,2009(10):68-69.

数据结构课程设计 篇3

关键词:交互设计;产品设计;产品结构设计;现代教育技术;虚拟现实技术

0 引言

1999年历以贤教授指出:21世纪人类的社会生活将发生巨大变化,世界将迈向知识社会,教育正在出现新的变革趋势,终身教育、终身学习是社会进步和教育发展的共同要求。[1]网络教育以其信息开放程度高、信息传播速度快和交互方式灵活多样的特点,成了满足优质学习资源共享和终身学习方式的最佳选择。《产品结构设计》课程的学习强调理论与实践的结合,注重实践环节的训练,因此交互设计是该网络课程的重中之重。近年来,随着信息化技术、WEB2.0技术和虚拟现实技术的迅速发展和普及,网络课程的交互设计面临新的挑战和机会。

1 網络课程的交互设计内涵

网络课程是通过网络表现某门学科的教学内容及实施的教学活动的总和。它包括两个组成部分:按一定的教学目标、教学策略组织起来的教学内容和网络教学支撑环境,其中网络教学支撑环境特指支持网络教学的软件工具、教学资源以及在网络教学平台上实施的教学活动。[2]师生之间、生生之间借助于现代教育技术所提供的丰富多样的交互设备,如可穿戴设备、体感设备等,以课程网站为载体,实现时间和空间的再度整合,享受更加丰富、多元和立体的学习信息和学习体验。随着O2O商业模式的发展,基于微信等社交软件的网络课程可通过线上线下的教学互动使学习从知识学习转向更具有体验层次感的个性化学习。

交互作为网络课程的核心内容,是学习主体、学习资料、学习工具、学习场所和学习活动等要素之间的关系集合,直接影响教学的质量和效果。《产品结构设计》网络课程的交互设计包含三方面的内容:学生与学习资源的交互设计、教师—学生和学生—学生的人际交互设计、学生与界面的操作交互设计。

2 《产品结构设计》网络课程的交互设计

2.1 学生与学习资源的交互设计

(1)以学生为中心组织多媒体学习资源。《产品结构设计》是产品设计专业的基础课,课程内容包括产品的结构及力学问题,使学生理解产品的功能、结构、材料与造型的相互关系,认识常用的材料、结构与加工工艺和可制造性的关系。据调查,目前开设产品设计专业的国内高校中,《产品结构设计》的教学多讲授结构原理,与产品造型设计相脱节,且实践环节较少,学生无法建立系统的设计概念。另外,艺术专业的学生思维方式偏重感性思维,强调造型训练与表达,对结构原理和力学知识难于理解。因此,基于艺术生的认知特点,《产品结构设计》学习资源的组织和构建不仅要注意产品结构的相关理论和概念的传授,还应该引入大量的案例,以问题解决的形式来组织学习内容和过程,充分调动学习者的积极性和主动性,理解和掌握理论知识的实际应用。首先,《产品结构设计》的网络课程通过教学网站展示学习资源和展开教学活动,教学者可通过教学网站的知识库、案例库和实践练习库,基于多媒体技术整合和共享丰富的课内外的教材和辅导内容,提升教学的表现力。其次,基于Web3D的虚拟现实技术构建产品结构模型的虚拟实践平台,突破远程虚拟教学的时空限制,提供逼真的实体和场景模拟、全面的感官沉浸和实时丰富的交互体验。[3]Web3D虚拟实践平台的设计思路如下:通过3D软件Solidworks对典型产品进行三维建模,并利用VRML语言构建Web3D虚拟实践平台、虚拟展示和拆装产品结构模型,如图2所示。另外,如条件许可学生可结合数字手套和虚拟现实眼睛等可穿戴设备,直观地认识产品形态、结构设计、材质选择和虚拟装配等内容,以较低的教学成本,实现最优化的教学效果。

(2)学生共建学习资源。WEB2.0技术的发展促使学生从传统的“读写”学习资源转变成以兴趣作为聚合点“共建”学习资源,个性化的学习信息服务可保持用户黏度。另外,基于WEB2.0技术的网络课程可提供更加友好的界面、高度聚合的学习资源、高效的协作学习以及良好的交互特性。[4]

(3)组织和开发移动学习资源。移动学习是指学生使用无线移动网络和无线设备实现交互式教学活动和信息交流,是教育社会化发展的新趋势。针对具体课程的定制化应用设计、服务设计和体验设计将是移动学习发展的关键阶段。因此,组织和开发《产品结构设计》网络课程的移动学习资源,可有效地帮助学生在任何地点、任何时间进行学习,不受时空限制地与学习资源进行交互。

2.2 教师—学生和学生—学生的人际交互设计

传统课堂的人际交互是由教师控制的群体模式,以教师教学为主,完成教学内容组织、教学进度控制以及学习辅导等功能。[5]《产品结构设计》网络课程的人际交互活动是由学生控制的自主研究式群体学习模式,教师—学生的人际交互活动包括:教师发布教学任务和信息,学生学(下转第页)(上接第页)习和练习,提问与答疑、讨论、辅导、作业批改和反馈等。另外,学生易以学习内容、进度或兴趣等作为聚合点形成群组,促进交流和帮助。因此,进行教师—学生和学生—学生的人际交互设计,应把握学习地图导航,并注意实时和非实时交互工具的配合以及交互内容传达与反馈的准确性原则,如图2所示。

2.3 学生与界面的操作交互设计原则

学生与界面的交互设计的关键是对于交互界面的结构和整体框架的设计。通过对教学过程进行需求分析,指定教学网站框架、导航、图标样式等,形成一个完整的结构。学生与界面的操作交互设计应遵循以下原则:首先,为了适应学生移动学习的目标,网络课程网站可采用扁平化设计,尽可能少的按钮和选项可使界面干净整洁,简洁明了,减少认知障碍的产生。其次,通过学习地图进行导航,学生能轻松自如地访问课程的各个模块、知识节点或学习社群,简单自如地明确学习目标、任务和状态。再次,网络课程的各级界面应做到风格美观且统一,合理排列和布局文字、图像、色彩、导航、多媒体素材等要素,符合年轻人的审美需求。

3 结束语

网络课程的学习质量很大程度上取决于学习者与网络课程的交互水平,通过应用现代教育技术,对《产品结构设计》网络课程进行改革,即以教学网站、虚拟互动平台和社交软件为工具和媒介开展学习和交流,能有效地弥补网络教学中时空分离背景下教学交互的局限,使学生更好地掌握产品结构原理及产品结构设计应用方法。

参考文献:

[1] 厉以贤.终身教育、终身学习是社会进步和教育发展的共同要求[J].教育研究,1999(7).

[2] 贾晓燕.基于情境认知理论的高校多媒体课件交互设计研究[D].南京:南京师范大学,2008.

[3] 曹良亮. Web2.0支持下的远程教学系统架构分析[J].中国远程教育,2008(3).

[4] 梁智杰.远程教育综合性网络课程开发[J].中国远程教育,2013(7).

数据结构课程设计选题 篇4

1、校园导游咨询(为来访的客人提供各种信息服务)

基本要求:

1、设计淮阴师范学院北校区平面图,在校园景点不低于10个。以图中顶点表示校园内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等有关信息。

2、为来访客人提供图中任意景点相关信息的查询。

3、为来访客人提供任意景点的问路查询,即查询任意两个景点之间的一条最短路径。

设计等级 B

2、迷宫问题

问题描述:编写一个程序求解迷宫问题。迷宫由m行n列的二维数组设置,0表示无障碍,1表示有障碍。设入口为(1,1),出口为(m,n),每次只能从一个无障碍单元移到周围四个方向上任一无障碍单元。编程给出通过路径或无法通行的信息。要求:

1、输出迷宫的所有路径

2、筛选出最短路径。

设计等级 A

3、算术表达式的求解

问题描述:以字符序列的形式从终端输入语法正确的、不含变量的整数算术表达式,编写程序求出该表达式的后缀表达式;计算最后的结果。基本要求:

1、表达式中至少包含加、减、乘、除四种基本运算

2、表达式中括号的层次至少为2层

3、能够判断算术表达式正确与否

4、对于错误表达式给出提示

5、输出后缀表达式

6、计算结果

设计等级 A

4、通讯录系统设计

问题描述:采用链表结构设计一个通讯录系统。基本要求:

1)通讯录链表的建立 2)通讯者结点的插入 3)通讯者结点的删除 4)通讯者结点的查询 5)通讯录输出 6)设计退出系统

7)要求链表的读取要在文件中完成。

设计等级 A

5、树的应用

问题描述:运用二叉链表结构存储一棵高度不低于5的树,完成以下操作

1、输出树的高度

2、输出树根到其它任意结点的路径

3、输出该树的后序遍历序列

4、计算任意结点的所处的高度

设计等级 A

6、文本文件单词的检索与计数

问题描述:要求编程建立一个文本文件,每个单词不包含空格且不跨行,单词由字符序列构成且区分大小写; 要求:

1、统计给定单词在文本文件中出现的总次数;

2、检索输出某个单词出现在文本中的行号、在该行中出现的次数以及位置。

设计等级 A

7、二叉平衡排序树

问题描述:创建二叉平衡排序树 基本要求:

1、输入数据的数量不得低于15个

2、建立二叉平衡排序树(要求包括LL型LR型RR型RL型四种调整方式)

3、完成任意数据的查找(要求给出查找执行的次数)

设计等级 B

8、构造可以使n个城市连接的最小生成树

问题描述:给定一个地区的n个城市间的距离网,用Prim算法建立最小生成树,并计算得到的最小生成树的代价。基本要求:

1、城市间的距离网采用邻接矩阵表示,若两个城市之间不存在道路,则将相应边的权值设为自己定义的无穷大值。(要求至少10个城市,15条边)

2、最小生成树中包括的边及其权值,并显示得到的最小生成树的代价。

设计等级 B

9、哈夫曼编/译码器

1、问题描述:

利用哈夫曼编码进行信息通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码(复原)。试写一个哈夫曼编/译码系统。

2、基本要求:

一个完整的系统应具有以下功能:

(1)初始化。从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树,并将它存于文件中。

(2)编码。利用已建好的哈夫曼树对文件中的正文进行编码,然后将结果存入文件中。(3)译码。利用已建好的哈夫曼树将文件中的代码进行译码,结果存入文件中。(4)完成数据测试,要求编码字符不低于15个,编码文件的长度不低于50个字符。

(5)计算平均编码长度。

设计等级 B

10、二叉树的遍历

问题描述:创建二叉树并遍历 基本要求:

1、分别运用非递归的方式完成对二叉树的先序和后序遍历

2、输出二叉树的高度

3、输出每一层的结点数

4、查找结点P 和结点Q的最近共同祖先

设计等级 B

11、寻找舞伴

一班有m个女生,有n个男生(m不等于n),现要开一个舞会.男女生分别编号坐在舞池的两边的椅子上.每曲开始时,依次从男生和女生中各出一人配对跳舞, 本曲没成功配对者坐着等待下一曲找舞伴.请设计一系统模拟动态地显示出上述过程,要求如下: 1)输出每曲配对情况

2)计算出任何一个男生(编号为X)和任意女生(编号为Y),在第K曲配对跳舞的情况。

设计等级 A

12、关键路径和拓扑排序

问题描述:创建一个AOE网完成如下要求 基本要求:

1、采用邻接表结构存储网(结点数量不低于10个,边的数量不低于15条)

2、输出一个拓扑序列

3、输出所有关键路径并计算路径长度。

设计等级 B

13、设计一个航空客运定票系统。

要求:

1、每条航线所涉及的信息有:终点站名、航班号、飞机号、飞机周日(星期几)、乘员定额、余票量、订定票的客户名单(包括姓名、订票量、舱位等级1,2或3)以及等候替补的客户名单(包括姓名、所需数量)。

2、系统能实现的操作和功能如下:

1)查询航线:根据客户提出的终点站名输出如下信息:航班号、飞机号、星期几飞行,最近一天航班的日期和余票额;

2)承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若有余票,则为客户办理订票手续,输出座位号;若已满员或余票少余订票额,则需重新询问客户要求。若需要,可登记排队候补;

3)承办退票业务:根据客户提出的情况(日期、航班号),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其它排队候补的客户。

3、要求:航线、客户等信息必须存储在文件中

4、采用链表作为数据结构

设计等级 A

14、医院选址

问题描述:有n个村庄,现要从这n个村庄中选择一个村庄新建一所医院,使其余的村庄到这所医院的距离总和来说较短。(n>6)

设计等级 B

15、客户消费积分管理系统

问题描述:针对客户的消费情况,进行客户管理,根据客户的消费积分对客户实行不同程度的打折优惠。基本要求:

1.采用一定的存储结构进行客户信息的存储; 2.对客户的信息可以进行修改、删除、添加; 3.能够根据消费情况进行客户积分的计算; 4.根据积分情况实行不同程度的打折优惠; 5. 数据必须保存到文件中

设计等级 A

16、排序综合

问题描述:要求分别采用快速排序、二路归并排序、堆排序和希尔排序对随机生成的一组数据进行排序(数据不少于100); 要求:

1、完成排序的输入、输出

2、比较各种排序的性能

3、界面友好,提供操作菜单

设计等级 A

17、树与二叉树的转换

问题描述:完成树与二叉树的转换 基本要求:

1、树采用双亲表示法

2、能够将树转换为二叉树

3、对转换的二叉树进行算法设计统计人一结点的孩子数

4、利用转换的二叉树计算树的高度

设计等级 B

18、哈希表设计

问题描述:针对自己的班集体中的“人名”设计一个哈希表,完成相应的建表和查表程序。基本要求

1、人名为中国姓名的汉语拼音形式

2、待填入哈希表的人名不低于30个

3、用链表法处理冲突

4、完成任意人名的查找并给出查找长度

设计等级 A

19、矩阵应用

问题描述:完成矩阵的相关操作

1、创建两个普通矩阵完成矩阵的加法和乘法运算

2、完成一个对称矩阵的压缩存储

3、完成一个稀疏矩阵的压缩存储,并完成矩阵的快速转置

设计等级 A 20、图的遍历的实现

问题描述:分别创建一个有相图和无向图完成下面要求 基本要求:

1、进行深度优先遍历

2、非递归完成深度优先遍历

3、进行广度优先遍历

4、计算有向图的入度和出度

5、判断图的连通性和是否有回路。

设计等级 B

数据结构与算法课程设计题目 篇5

1.成绩管理

问题描述:给出n个学生的考试成绩表,成绩表包括学生的学号、姓名、考试成绩(高等数

学、英语、物理),设计一个简单的成绩管理程序。

基本要求:

(1)建立成绩表,能够插入、删除、修改学生的成绩记录;(2)按任一单科成绩排序;(3)计算每名学生的平均成绩;

(4)统计任一单科成绩不及格的学生人数, 输出不及格人数及不及格的学生名单(5)根据平均成绩将成绩表按由高到低的次序排列,统计每名学生在考试中获得的名次,分数相同的为同一名次,按名次输出成绩表。

(6)成绩表保存在文件中, 可以从文件读取数据。

测试数据:学生可以根据自己班级的考试成绩单,任意截取一部分做为测试数据 2.一元多项式简单计算

问题描述:设计一个简单一元多项式计算器。基本要求:(1)输入并建立多项式;(2)输出多项式;

(3)两个多项式相加,输出结果多项式;(4)两个多项式相减,输出结果多项式。

提高要求:可以根据输入变量的值,计算出多项式的结果,且算法的效率高。测试数据:可任意选取两个一元多项式,可以是一般的多项式,也可以是稀疏多项式。3.舞伴问题

问题描述:一班有m个女生、n个男生(m不等于n), 举办一场舞会.男女生分别编号坐在舞池两边的椅子上,每曲开始时, 依次从男生和女生中各出一人配对跳舞, 本曲没成功配对者坐着等待下一曲找舞伴,设计一个程序模拟舞伴配对过程。

基本要求:输入男、女学生的姓名、性别,由程序自动为男女生编号,可以顺序编号,也可以随机编号,输出每曲配对情况(包括男、女生的姓名、性别和编号)。原始数据和结果数据要保存到文件中。

测试数据:分别选择男生多于女生、女生多于男生、男女生相等的三组测试数据 提高要求:计算出任意一位男生(编号为X)和任意一位女生(编号为Y), 在第K曲配对跳舞的情况。

4.文学研究助手(*)

问题描述:文学研究人员需要统计某篇英文小说中某些形容词的出现次数和位置。试写一个实现这一目标的文字统计系统,称为“文学研究助手”。基本要求:英文小说存于一个文本文件中,待统计的词汇集合要一次输入完毕,即统计工作必须在程序的一次运行之后就全部完成。程序的输出结果是每个词的出现次数和出现位置所在行的行号,格式自行设计, 结果保存到文件中。

提高要求:模式匹配选取KMP算法

测试数据:以你的C/C++/JAVA源程序模拟英文小说,相应语言的保留字集作为待统计的词汇集。

5.哈希表的设计与实现(*)

问题描述:针对某个单位电话号码簿,设计一个哈希表,并完成相应的建表和查表程序。基本要求:设每个记录有下列数据项:电话号码、用户名、住址。从键盘输入各记录,以用户名为关键字建立哈希表,哈希函数用除留取余数法构造,采用线性探测法解决冲突。可以插入、查找、删除并显示给定用户名的记录,并计算查找长度, 哈希表保存到文件中。

测试数据:取某个单位电话号码簿中的30个记录。

提高要求:将电话号码薄以文件形式保存到盘上,能够按用户名和电话号码两种形式建立哈希表并实现插入、查找、删除表中元素的功能。

6.管道铺设施工的最佳方案(*)

问题描述:需要在某个城市的n个小区铺设管道,则在这n个小区之间铺设n-1条管道即可,假设任意两个居民区之间都可以架设管道,但由于地理环境的不同,所需经费不同,选择最优的施工方案使总投资尽可能的少。

基本要求:输入表示小区间关系的图及每条管道的权值,选择出n-1条管道, 使总投资最小。图的信息输入一次后, 保存到文件中, 选择的n-1条管道输出到显示器的同时, 也保存于文件中。

测试用例:任意选择一个图,模拟小区间可能铺设的管道及费用。提高要求:显示原始图及选择n-1条管道后的图。

7.安排教学计划(**)

问题描述:大学的每个专业都要制定教学计划。假设任何专业都有固定的学习年限,每学年含两个学期,每学期的时间长度和学分上限值均相等。每个专业开设的课程都是确定的,而且课程在开设时间的安排上必须满足先修关系。每门课程有哪些先修课程是确定的,可以有任意多门,也可以没有。每门课程恰好占一个学期。试在这样的前提下设计一个教学计划编制程序。

基本要求:输入参数包括学期总数,一学期的学分上限,每门课程的课程号、学分和直接先修课的课程号;允许两种策略,一是使学生在各学期的学习负担尽量均匀,二是使课程尽量集中在前几个学期;若根据给定的条件问题无解,则报告适当的信息,否则将教学计划输出到用户指定的文件中。教学计划的表格格式自行设定, 可以从键盘读取数据也可以从文件读取数据, 结果保存到文件中。

测试数据:学期总数为6,学分上限为10,该专业共开设12门。以08级某专业必修课与选修课为例,选择12门课程及相应学分,制定一个表明各门课程先后约束关系的有向图。

提高要求:产生多种不同的方案,并使方案之间的差异尽可能地大。8.停车场管理程序(**)问题描述:设停车场内只有一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后开入的车辆必须先退出车场为它让路,待该辆车开出大门外,其它车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。试为停车场编制按上述要求进行管理的模拟程序。

基本要求:每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码及到达或离去的时刻,对每一组输入数据进行操作后的输出数据为:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车离去;则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费,单位时间的停车费用由用户从键盘输入)。

测试数据:设输入数据为:(‘A’,1,5),(‘A’,2,10),(‘D’,1,15),(‘A’,3,20),(‘A’,4,25),(‘A’,5,30),(‘D’,2,35),(‘D’,4,40),(‘E’,0,0)。其中,‘A’表示到达;‘D’表示离去,‘E’表示输入结束。

提高要求:设停车场有南、北两个门,每个门都可以进、出车辆。9.计算表达式的值(**)问题描述:对于给定的一个表达式,表达式中可以包括常数、算术运行符(“+”、“-”、“*”、“/”)和括号,编写程序计算表达式的值。

基本要求:从键盘输入一个正确的中缀表达式,将中缀表达式转换为对应的后缀表达式,计算后缀表达式的值。

测试数据:任意选取一个符合题目要求的表达式。提高要求:(1)对于表达式中的简单错误,能够给出提示;

(2)表达式中可以包括单个字母表示的变量。

10.设计Huffman 编码器与解码器(***)

问题描述:利用哈夫曼编码进行信息通讯可以大大提高信道的利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传输数据预先编码;在接受端将传来的数据进行译码。对于双工信道(即可以双向传输信息的信道),每端都需要一个完整的编/译码系统。试为这样的信息收发站编写一个哈夫曼码的编/译码系统。

基本要求:根据某字符文件统计字符出现频度,构造Huffman 树,编制Huffman编码,并将给定字符文件编码,生成编码文件;再将给定编码文件解码,生成字符文件。(要求按二进制位表示编码)测试数据:英文文件。

提高要求:用二进制表示编码,生成二进制的编码文件。11.银行业务模拟(***)

问题描述:设银行有四个服务窗口,一个等待队列, 每个窗口均可以办理存款、取款、挂失、还贷业务,每种业务所需的服务时间不同,客户到达银行后,先到打号机上打号,号票上包括到达时间、编号和需要办理的业务,然后在银行内等候, 当任一服务窗口空闲时,处理等候客户中排在最前面的客户的业务。写一个上述银行业务的模拟系统,通过模拟方法求出客户在银行内逗留的平均时间和每个窗口办理的客户数及办理的每种业务数。

基本要求:每个客户到达银行的时间和需要办理的业务随机产生,输出一天客户在银行的平均逗留时间和每个窗口每天办理的客户数和每种业务数。

测试数据:营业时间为8小时,其他模拟量自行设定。12.程序源代码的相似性(***)

问题描述:对于两个C++语言的源程序代码,用哈希表的方法分别统计两个程序中使用C++语言关键字的情况,并最终按定量的计算结果,得出两份程序的相似性。

基本要求:建立C++语言关键字的哈希表,统计在每个源程序中C++关键字出现的频度, 得到两个向量X1和X2,通过计算向量X1和X2的相对距离来判断两个源程序的相似性。

例如: 关键字 Void Int For Char if else while do break class 程序1关键字频度 4 3 0 4 3 0 7 0 0 2 程序2关键字频度 4 2 0 5 4 0 5 2 0 1 X1=[4,3,0,4,3,0,7,0,0,2] X2=[4,2,0,5,4,0,5,2,0,1] 设s是向量X1和X2的相对距离,s=sqrt(∑(xi1-xi2)2),当X1=X2时,s=0, 反映出可能是同一个程序;s值越大,则两个程序的差别可能也越大。

测试数据: 选择若干组编译和运行都无误的C++程序,程序之间有相近的和差别大的,用上述方法求s, 对比两个程序的相似性。

提高要求:建立源代码用户标识符表,比较两个源代码用户标识符出现的频度,综合关键字频度和用户标识符频度判断两个程序的相似性。

13.小型文本编辑器

问题描述:设计一个行编辑程序,使其具有通常行编辑器(如Vi、Edlin)应具备的基本功能。

基本要求:编辑器应具备对文本文件的查找、插人、删除、修改、字符串替换、统计字数,统计行数等功能,对于超过一屏的长文件,应能够分页显示,查找功能用字符串匹配算法实现。设计用户接口命令,实现对文本的编辑。具体的编辑命令,可参考数据结构算法网络教学平台上提供的edlin、Vi的命令集。

测试数据:任一文本文件。

提高要求:1.可以支持“* ”、“? ”等通配符;

2.支持复制、粘贴等功能

3.支持多文档同时编辑;

提示:可以考虑用双向链表实现,每一结点表示一行字符,注意每行字符不能超过255。14.小型英汉词典

问题描述:设计一个英汉词典,支持Member(查找)、Insert(插入)、Delete(删除)操作。

基本要求:实现字典的常用方法有:有序线性表(Memeber用二分检索实现)、AVL树(二叉搜索树)、Patricia Trie、散列表等,任选一种方法实现字典的操作,查找单词、插入单词(插入时,先查找,找不到插入,找到提示用户)、删除单词(删除时,先查找,找到删除,找不到提示用户)。

测试数据:任一英文单词。提高要求:选用两种以上的方法实现字典的操作,并比较不同实现算法的时间复杂度和空间复杂度。

提示:字典可以自己建立,但必须按字母a~z建立26个文件,建议从网上下载,文件类型为txt。

备注:

1.每道题目后面的*号,表示题目的难度系数;对应的评定成绩等级为及格(无*号)、中等(*号)、良好(**号)、优秀(***号),学生完成题目的基本要求,即可得到程序设计部分的相应等级成绩,完成题目提高要求,成绩可以向上浮动,如果没有完成基本要求,成绩向下浮动,直至不及格。

数据结构课程设计-最小生成树 篇6

设计题目:最小生成树

专业:xxxxxx 院系:计算机学院 姓名:xxxxxxxxx 学号:xxxxxx

时间:2013年10月7日

数据结构课程设计报告 最小生成树

目 录

一、设计目的……………………………………………………………….-2-

二、算法思想分析………………………………………………………-2-1.算法思想………………………………………………………………..-3-1)普里姆(Prim)算法思想……………………………………………………….-3-2)克鲁斯卡尔(Kruskal)算法思想..........................................-3-2.系统采用的数据结构和算法………………………………-3-

三、算法的描述与实现……………………………………………….-4-

四、用户手册………………………………………………………………-7-

五、总结…………………………………………………………………….-10-

六、参考文献…………………………………………………………….-10-

七、附录(源代码)………………………………………………...-10-

数据结构课程设计报告 最小生成树

1.算法思想

1)普里姆(Prim)算法思想

a)选择从0节点开始,并选择0节点相关联的最小权值边,将与这条边相关联的另一顶点出列;

b)在出列的节点中相关联的所有边中选择一条不与另一个已出列的节点相关联的权值最小的边,并将该边相关联的节点出列;

c)重复b)直到所有的节点出列。2)克鲁斯卡尔(Kruskal)算法思想

为了使生成树上总的权值之和最小,应该使每一条边上的权值尽可能的小,所以应从权值最小的边选起,直至选出n-1条不能构成回路的权值最小的边位置。

具体做法如下:首先构造一个含n个顶点的森林,然后按权值从小到大从连通图中选择不使森林中产生回路的边加入到森林中去,直至该森林变成一棵树为止,这棵树便是连通图的最小生成树。

由于生成树上不允许有回路,因此并非每一条居当前最小的边都可选。从生成树的构造过程可见,初始态为n个顶点分属n棵树,互不连通,每加入一条边,就将两棵树合并为一棵树,在同一棵树上的两个顶点之间自然相连通,由此判别当前权值最小边是否可取只要判别它的两个顶点是否在同一棵树上即可。

2.系统采用的数据结构和算法 1)数据结构

Typedef int Vertextype;Typedef int adimatrix[MaxVertexNum][MaxVertexNum];Typedef int Vertextype vexlist[MaxVertexNum];Typedef int VexType;

数据结构课程设计报告 最小生成树

1.Great_adjmatrix()和Great_adjmatrix2()是两种建立图的方法;

2.克鲁斯卡尔算法(Kruskal):

Void kruskal(GraphMatrix * pgraph,Edge mst[]){int i,j,min,vx,vy;int weight,minweight;Edge edge;for(i=0;i

n-1;i++){mst[i].start_vex = 0;Mst[i].stop_vex = i+1;Mst[i].weight = pgraph->arcs[0][i+1];} for(i=0;i

n-1;i++)//共n-1条边 {minweight = MAX;min = i;for(j=i;j

n-1;j++)//从所有(vx,vy)(vx∈U,vy∈V-U)中选出最短的边 if(mst[j].weight

for(j=i+1;j

n-1;j++)

数据结构课程设计报告 最小生成树

j=MST[k-1].endvex;//定位于权值最小边的尾顶点 for(i=k;i

4.out_edgeset()功能为显示最小生成树。

四、用户手册

1.运行程序,得到如下窗口:

2.输入顶点数,选择算法:

1)当输入的顶点数小于10时,选择Kruskal算法,如下图

数据结构课程设计报告 最小生成树

五、总结

该程序实现了在n个城市之间建设网络,既保证了连通性,也成为了最经济的架设方法。程序中应用了普里姆算法和克鲁斯卡尔算法,实现了矩阵的输出以及最小生成树的输出。不过,该程序仍有不足之处,图的输入数据过大,易出错,不易返回,仍需完善。

六、参考文献

[1]《数据结构程序设计题典》 李春葆编 清华大学出版社 [2]《数据结构(C语言版)》 严蔚敏 吴伟民编 清华大学出版社 [3]《数据结构课程设计》 苏仕华编 机械工业出版社

七、附录:(源代码)

#include #include #define MaxVertexNum 12 #define MaxEdgeNum 20 #define MaxValue 1000 #define MAXVEX 6 #define MAX 1e+8 typedef int Vertextype;typedef int adjmatrix[MaxVertexNum][MaxVertexNum];typedef Vertextype vexlist[MaxVertexNum];typedef int VexType;typedef int AdjType;typedef struct edgeElem edgeset[MaxVertexNum];

数据结构课程设计报告 最小生成树

{ scanf(“%d%d%d”,&i,&j,&w);GA[i][j]=GA[j][i]=w;//对称 } }

void Creat_adjmatrix2(vexlist GV,adjmatrix GA,int m,int e,GraphMatrix &graph){ int i,j,k,w,x,y;

printf(“输入%d个顶点序号(0-m-1),序号从0开始。”,m);for(i=0;i=m){ printf(“您输入的序号有误,请输入0到%d-1之间的数,请重新输入。n”,m);scanf(“%d”,&GV[i]);} } for(i=0;i

GA[i][j]=MaxValue;printf(“请输入有多少条边。n”);scanf(“%d”,&e);printf(“输入%d条无向带权边(序号 序号 权值):n”,e);for(k=0;k

数据结构课程设计报告 最小生成树

/* mst[min]是最短的边(vx,vy)(vx∈U, vy∈V-U),将mst[min]加入最小生成树 */ edge = mst[min];mst[min] = mst[i];mst[i] = edge;vx = mst[i].stop_vex;/* vx为刚加入最小生成树的顶点的下标 */

for(j = i+1;j < pgraph->n-1;j++){ /* 调整mst[i+1]到mst[n-1] */ vy=mst[j].stop_vex;weight = pgraph->arcs[vx][vy];if(weight < mst[j].weight){ mst[j].weight = weight;mst[j].start_vex = vx;} } } }

void out_edgeset(edgeset MST,int e)//显示最小生成树 { int k;printf(“最小的消耗路线为n”);for(k=0;k

printf(“(%d %d %d)n”,MST[k].fromvex,MST[k].endvex,MST[k].weight);}

void prim(adjmatrix GA,edgeset MST,int n)//利用prim算法从0点出发求图的最小生成树

数据结构课程设计报告 最小生成树

int a;system(“color 71”);//改变屏幕颜色

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);printf(“ ┃㊣ 必做题:最小生成树 ㊣┃n”);printf(“ ┃ 姓名:xxxx ┃n”);printf(“ ┃ 学号:xxxxxxxxx ┃n”);printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);vexlist GV;//顶点表 adjmatrix GA;//边表 edgeset MST;//最小生成树 do{ printf(“输入图的顶点数n,我们将根据您输入的数据大小选择合适的算法。n”);scanf(“%d”,&n);if(n>=10)//大于10用prim算法来实现,否则kruskal算法来实现 { printf(“用prim算法从0点出发求图的最小生成树为:n”);printf(“请输入图的边数。n”);canf(“%d”,&e);Creat_adjmatrix(GV, GA, n, e);//创建图 prim(GA,MST,n);//生成最小生成树

医学基础课程结构的设计与重建 篇7

笔者试从药学专业的视角, 通过对目标岗位工作任务的分析, 设计和构建与药学专业培养目标相匹配的医学基础课程方案, 以期抛砖引玉, 与同道共同探讨。

1 医学基础课程方案设计与重构的基本思路

尽管不同岗位的工作任务不同, 但都需要对药品的功效、适应证、禁忌证、不良反应、用法用量、同类药品性能特点等内容非常熟悉, 只是由于岗位不同对这些知识了解的深浅、宽泛程度要求不同。这些知识都属于医学基础知识。业务流程的长度是课程覆盖内容宽度的基础, 而知识需求的深度则是课程内容深度设计的依据, 由此提示了医学基础课程方案构建的基本思路 (见表1) 。

1.1 横向结构

注:人体基本结构与功能 (插入体温与发热、能量代谢等概念) 、微生物及感染性疾病 (包括微生物形态、致病性、常见感染性疾病、常用抗感染药物等内容) 分别以独立的教学单元设于课程的前、后部, 与各单元带*号部分链接, 必要时增加肿瘤相关内容

横向结构主要解决课程内容宽度的设计问题, 其构建与整合应以模块化组合为原则。以业务流程最长的药品零售业务为据:要完成零售岗位业务, 从业人员需要依据医学基础知识了解顾客的“症”, 以诊断顾客的“病”→根据顾客的“病”确定应用的“药”→根据“药”的特点实施推介, 即医学基础课程需要实现的目标是建立“症-病-药”的关系。调剂岗位只需要“药”的部分, 医药代表需要的则是“病”与“药”2个部分。由于“症、病、药”均可按人体系统结构予以分类, 故医学基础课程的宽度设计以人体结构为模块构建基础, 设计呼吸系统、消化系统、运动系统、泌尿系统、内分泌系统、神经系统、循环系统、生殖系统8个基本模块, 每个模块均包括“系统组成-生理功能-常见疾病-疾病诊断-治疗原则-常用药品”等6个子模块。

1.2 纵向结构

纵向结构指每个子模块拓展的深度。当横向结构确定以后, 则与医学各相关课程形成诸多个接口, 每个子模块的深度则可根据实际需要向纵深方向拓展。例如, 心脏是功能性循环系统中的1个组成部分。在深度上如果只要求掌握心脏是血液循环的动力, 具有射血这一基本的生理功能, 掌握正常心率等, 则知识的掌握层次比较浅;但如果教学目标需要, 这一模块可以深入拓展到心脏的节律性、传导性、兴奋性、收缩性, 在知识的掌握层次上已经比较深入;继而要求学会识读心电图, 并根据心电图的变异判断心脏的生理或病理状态, 这时知识掌握的深度已接近对临床医生的要求。课程实施的对象不同, 则课程中每个子模块的纵向深度应有明显区分, 谓之“够用为度”。

1.3 交叉结构

交叉结构指上述每个子模块中本身还存在横向与纵向的不同拓展, 且每个子模块之间存在相互关联, 从而形成各模块之间相互链接的交叉结构。这种链接方式可以考虑以下几种:一是以插入的形式在恰当的位置导入相关知识作为拓展或补充, 如在消化系统的生理功能中插入细胞的基本结构及细胞膜转运知识;二是独立构成一个教学单元, 例如感染性疾病很难归属于哪个独立的生理系统, 不妨将“感染性疾病及其防治”作为一个独立的子模块与各生理系统组成的子模块平行, 成为横向结构中的一个组成部分;三是通过提示的方式提示在课程中的哪一个模块对此内容还有重复, 或更详细的介绍, 或有更多的拓展内容等。

2 讨论

2.1 从目标岗位工作分析“实用为主, 够用为度”的课程内容构建原则

药学专业的目标岗位以药品行业结构 (见图1) 为基础。必需具备医学基础知识与能力的岗位主要集中于药品开发、药品销售、药品使用等领域。药品开发领域需求的主要是本科以上甚至更高学历的专业人才。对中、高职毕业生而言, 目标就业岗位仅限于药品销售与药品调剂岗位。

2.1.1 从目标岗位的工作流程看

调剂以输入医师处方为起点, 经过“处方审核、划价、调配、核对、发药”等子过程完成岗位任务;而销售从接待顾客开始, 经过“了解顾客需求、药品性能推介、解除销售障碍、确定销售契约、送客”等子过程完成岗位任务。

2.1.2 从工作职责分析

工作中调剂人员在药品的选择使用方面完全没有决定权, 但对医师用药的合理性负有监督责任;而药品销售人员因接待的顾客没有医师处方, 顾客的购买目标并不确定, 需要通过销售人员的介绍、推荐和选择指导, 在非处方药范围内, 其对顾客的购买决策常常有决定性影响。

2.1.3 就工作范围而言

调剂工作的载体是医师处方, 其内容涵盖临床上需要使用的所有药品。但药品零售工作范围按法规要求仅限于非处方药, 只有一些具有相关资质的定点药房的营业员, 其工作的范围可能与医院药房人员一致。

2.1.4 从工作任务对岗位人员的素质要求看

调剂岗位人员需要向药品知识的纵深方向拓展, 以提高医师处方的执行力;药品零售则更需要从药品知识的横向拓展, 特别是通过对同类药品的性能特点的对比分析以提高推介的有效性与准确性。而企业的销售代表因工作对象主要是医生, 故对药品知识的需求具有品种范围窄, 而相关内容精且深的特点。

根据“能职匹配”的人力资源配备原则, 药学专业目标岗位任务对从业人员所必需的医学基础知识, 无不以解剖生理为起点, 而以指导用药为终点。只因不同职业岗位、不同企业的人员工作时所涉及的疾病种类与药品品种范围不同, 则开展工作时对每一个系统的“症”、“病”、“药”的相关知识在深度上各有差异。因此, 在横向结构上覆盖人体各大系统, 在纵向结构上涉及解剖、生理、病理、诊断、治疗原则、用药原则等方面, 符合职业教育“实用为主, 够用为度”的课程设计与内容构建原则。

2.2 课程结构与职业教育系统内“生态”环境的关系

职业教育系统内部有中等、高等及成人教育3个重要组成部分, 在“生态”环境上有以下几个方面的特点:一是在专业与课程设置上尚未形成合理的交互衔接点, 没有形成独立的职业教育体系, 在专业与课程设置上重复、雷同的现象比较普遍, 职业教育与普通高等教育的定位模糊。二是目前的各类教育系统内部在生源结构上存在交叉互通, 生源素质差异较大。例如中等职业教育属高中阶段教育, 在生源上有初中毕业生, 也有高中毕业生, 则其生源存在学习能力的差异;高等职业教育相当一部分的学生来源于中职毕业生、在职员工及高中毕业生, 其专业背景的区别导致专业素质上的差异。三是职业教育还承担在岗人员的工作技能培训任务, 这使职业教育的生源状况更为复杂, 在职人员的专业学习对学制的弹性要求有较大差异。

而重构的医学基础课程, 在横向与纵向结构上均具有足够的弹性:第一, 结构上每一个模块都自成体系, 相对独立, 可以通过模块的多少界定学习的层次;第二, 在纵向结构上每一个子模块还可以向宽度与深度2个方向拓展, 以适应学习对象的学情水平与实际需要;第三, 在课程地位与作用上, 医学基础属于专业基础课程, 这些知识需要与后期实施药品店堂销售技术、药品调剂技术、药品推销技术等专业技术课程形成了合理的接口, 相关知识可以在后期的专业技术课程中得以灵活应用, 并强化而形成稳定的职业技能, 真正起到了奠定基础的作用;第四, 在教学进程上, 突破了学科体系对课程实施在学程、课时等方面的制约, 只需要提前一到二个教学单元的授课时间就能保证上述专业技术课程教学、实训需要的专业基础知识, 不需要全部完成解剖生理、微生物与免疫学、生物化学、药品商品学或药理学等课程才安排专业技术课, 使教学进程和时间安排具有较大的灵活性。

因此, 重构的医学基础课程符合目前中、高职药学职业教育的“生态”特点, 具有足够的“弹性”与“柔性”以适应不同学情的需求。

2.3 实施难点与应对策略

在职业学校内从事相关课程教学的教师大多毕业于临床医学专业, 学科体系的意识强, 且在过去的教学实践中, 在专业知识与专业技能上往往是在某一个学科上的纵向发展。重构的医学基础课程, 打破了原有的学科知识体系, 以目标岗位的工作任务为引领, 整合了多门学科知识, 故要求教师具有“宽”而“浅”的专业素质, 教师的专业知识与专业技能需要在整个医学专业体系中的横向拓展。因此, 新课程的实施在工作上要求教师改造和重建自己原有的知识体系, 在情感上要求教师放弃自己原有的专业特长而转向探索自己所不熟悉的领域, 从而使教师面临双重难题。

要解决这一难题, 一是教师必须牢固树立“教为主导、学为主体, 服务学生、教学相长”的职业教育教学理念, 并在行动上努力学习、探索和实践, 以提高自己的专业素质;二是学校应以教师为本, 关心、关注教师的专业成长, 通过有效的培训与激励, 帮助教师调整专业结构与提高教学技能;三是教学管理部门要调整资源配置, 在教材准备、实训设施与设备等方面创设适应新课程教学需要的教学资源环境, 以保证新课程的教学质量。

数据结构课程设计 篇8

的核心课程,教师应以学校的办学特色、本专业人才培养方案、学生自身基本素质及行业需要为导向,在教学理念、教学内容和教学方式等方面进行改革,从而更好地提高教学效果、加强学生的专业素质培养,使《混凝土结构与砌体结构设计》教学质量进一步提高。

关键词:混凝土结构与砌体结构设计教学改革专业素质应用型

0 引言

榆林学院的前身是创建于1958年的绥德师范学院,在2003年经教育部批准升格为本科院校。为了适应社会的发展,当前榆林学院正在处于由传统师范院校全面转型为一所具有地方特色的高水平应用型大学的重要时期。但类似于榆林学院等的新建地方院校土建类专业受师资、实验、学术水平的影响,定位于培养生产一线的高级应用型人才,这就要求在教学过程中,必须转变传统教育观念[1],注重基础教育的同时加强实践教学,构建重基础、强应用的实践教学体系。

《混凝土结构与砌体结构设计》是高等院校土木工程专业学生必修的一门专业课,该课程按结构材料和类型分为“钢筋混凝土结构”和“砌体结构”二部分,课程内容由混凝土结构设计的一般原则和方法、楼盖、单层厂房、多层框架结构和砌体结构等五个部分组成[2]。主要讲授混凝土结构的设计原则,混凝土梁板结构、单层工业厂房、钢筋混凝土多层框架结构的结构形式、组成和布置,计算模型、简化假定、内力计算、内力组合及截面配筋,构造要求等;砌体结构构件计算的基础理论和砌体结构的有关知识等。主要目的是使学生经过本课程的学习之后拥有从事建筑工程中多层框架结构和砌体结构的设计、施工等相关工作的基本素质和能力。

1 教学改革

为适应培养土木工程专业高素质应用型本科人才的要求,文章在《混凝土结构与砌体结构设计》原教学基础上,结合课程目前面临的现状和存在的问题,从教学理念、教学内容和教学方式等方面进行教学改革,突出以学生为本,就业为导向的重基础、强应用的实践教学改革思路:

1.1 通过提升自身实践能力、改变学生认识革新教学理念

目前该课程授课教师基本上是高校毕业后又直接进入另一所高校里从教,期间没有工程实践机会,不能把教材里所学的理论知识运用到实践中,造成教师所具备的教学理念基本上偏重于教材中理论知识的阐述,与实践脱产。再加上近几年,土建类专业的人才市场逐渐趋于饱和,设计单位的招聘要求较高,一般院校土木工程专业毕业的学生受聘于建筑施工一线企业的较多,市场需求会使学生们产生错觉,认为只要把《建筑施工技术与管理》这类有关工程施工和组织管理的课程掌握到位就可以了,对《混凝土结构与砌体结构设计》注重于结构设计类的课程的重要性认识不足。基于以上因素等,导致学生对老师所讲授的内容提不起兴趣,而老师对学生所讲授的内容又比较空洞,缺乏实践没有说服力,得不到学生的关注。

实际上,框架结构梁、板、柱的布置和设计是一般民用建筑中上部结构最基础、最重要、最核心的部分。土建类专业毕业生工作在建筑施工一线时,作为高素质应用型人才,不但要看得懂图纸、放了线,还要有扎实的设计理论基础,知其然知其所以然。例如,钢筋混凝土雨棚属于悬壁板结构,在板面荷载作用下,雨棚板根部受到最大负弯矩,所以在雨棚板的配筋图中,受力钢筋布置在板面而不是板底。据调查历年来大型建筑工程施工事故大都是由于施工现场技术负责人缺乏宏观结构设计理念,乱堆载、乱开挖,擅自改变施工顺序造成的,授课教师通过相关工程案例的讲解,使学生对《混凝土结构与砌体结构设计》课程的重要性有深刻的认识,激发学生的学习兴趣。

《混凝土结构与砌体结构设计》课程实践性强的特点,授课教师应抓住一切机会,利用课余时间和寒暑假在设计单位和施工现场积极实习,努力提高自身实践能力的同时加强理论知识和实践应用相结合,提升授课质量,改变重理论、轻实践的教学理念。

1.2 结合学生自身特点革新教学内容

根据近几届学生在课堂中的表现、考试成绩、课程设计和毕业设计中遇到的问题等,综合反映出新建地方院校土建类专业学生整体底子较薄,尤其高数、力学等基础理论知识不扎实,在该课程讲授过程中涉及到相关计算原理时,学生理解起来较吃力,因此在教学中应和本专业其他基础课程老师及公共课老师加强沟通和交流,从各个方面加强学生基础知识的讲授,使学生学习知识系统化,增强综合运用能力。

另外在授课过程中,要突破教材的束缚,一方面根据学生特点及时补充高数、结构力学、材料力学里等基础知识,例如在讲授框架结构在竖向荷载作用下的内力计算的分层法时,引入结构力学中的弯矩分配法,使学生对教材内容能较好的吸收同时巩固前期基础知识;另一方面,注重学生对学习专业基础知识的宏观把握,适当减少理论公式推导的讲授,例如在讲授“改进后柱的侧向刚度”时,重点介绍柱子侧向刚度的影响因素及侧向刚度降低系数的实际应用,关于改进后柱的侧向刚度其复杂计算过程属于课下内容,这样既保证了课堂教学效果又激发了学生课下思考兴趣。

1.3 通过多方面途径革新教学方式

①在课堂教学过程中,采用多媒体和板书相结合的教学方法。例如讲解结构和结构构件形式、组成与布置时,通过多媒体课件为学生提供大量的实际工程图片,同时通过板书提问与学生共同探讨图片中的柱网布置,梁、板、柱截面尺寸的选取是否合理,其优缺点及是否有更好的改进措施,既活跃课堂气氛又启发学生的思考能力。

②学术交流。与一些兄弟院校、设计院和施工单位等的工作人员进行交流,探讨混凝土结构与砌体结构设计和施工过程中遇到的实际问题、注意事项,增强课堂内容的实践性。

③课程设计。钢筋混凝土肋梁楼盖课程设计、单层工业厂房课程设计是《混凝土结构与砌体结构设计》课程实践教学的一个重要环节,它能使学生通过混凝土结构设计过程中诸如确定结构方案、建立结构计算简图、结构受力分析、结构配筋计算、结构施工图绘制等各个环节的训练,使学生全面消化、吸收和运用在课堂教学中已学到的理论知识,培养学生综合分析和处理实际工程问题的能力,培养学生查找和使用设计规范、设计手册等专业资料的能力,这对综合提高学生的专业素质很有帮助[3]。

④强化学生的规范意识。建筑结构设计规范是保证结构安全性、适用性以及耐久性的重要依据和保障。作为一门实践性强的课程,教学内容涉及到多部规范,如GB500010-2010《混凝土结构设计规范》、GB5003-2011《砌体结构设计规范》等。上课过程中,要把规范的相关条文融入到教学内容之中,让学生理解和掌握强制性条文和技术术语、技术符号等,加强和引导学生树立技术规范意识,养成使用规范、遵守规范的良好习惯。

2 结论

教学改革过程是不断探索、不断完善的过程,今后,对《混凝土结构与砌体结构设计》课程坚持以学生为本,就业为导向的重基础、强应用的实践教学改革思路进行不断地探索和实践,提升课堂教学质量,实现高素质应用型人才培养目标。

参考文献:

[1]袁飞云,彭军,张新库.新建地方院校土建类专业工程实践能力培养的探索[J].价值工程,2012(05):270-272.

[2]程文瀼,王铁成.混凝土结构与砌体结构设计(第五版)[M]. 北京:中国建筑工业出版社,2012.

[3]李佰寿,金松浩,刘相秋.《混凝土结构设计》课程教学改革探讨[J].延边大学学报(自然科学版),2004,30(3):227-230.

上一篇:我学会了写事作文下一篇:廉政专题教育机制