已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
编程能力的后续培养 摘 要:本文针对高年级学生编程能力后续培养不足的问题进行了研究,以发挥学生的主动性积极性为核心,以施加对学生的积极影响为出发点,从知识体系、自学指导、学生组织、项目实践、交流合作等方面进行了多样化的尝试与探讨。关键词本文来自:计算机毕业网 :编程能力;后续培养;素质教育1 传统培养方法的不足程序员最重要的能力就是编程能力。就我国目前的情况而言,绝大多数程序员都是经高校培养成才1-2。传统的教学观念认为,编程类课程是学生获得编程能力的主要途径,因而在这方面进行了较多的研究3-7,也取得了一定的成果。但是这种观点是不够全面的,在教学实践中,它往往导致以下几种情况的出现:第一,对学生能力的培养不具有持续性。在低年级教完编程语言之后,高年级缺乏后续的指导。第二,学生在编程方面的学习偏重于理论方面,尤其是语法方面。学生的实践机会不多,应用能力不强。第三,学生学习的主体地位得不到保障。学生没有被有效的组织起来,不能积极主动的学习编程。这些问题极大地阻碍了学生编程能力的培养。针对这些问题,我们以提升学生的编程能力为目标,以发挥学生的主动性积极性为核心,以施加对学生的积极影响为出发点,从知识体系、自学指导、学生组织、项目实践、交流合作等方面对编程能力的后续培养进行了多样化的尝试与探讨,取得了较好的效果。2 后续培养的主要途径2.1 知识体系结构的健全一名合格的程序员除了掌握程序开发语言之外,还需要相当多的软件工程知识与广博的背景知识,这些远不是一两门编程类课程所能传授给学生的。因此,为了进一步建立与健全学生的知识体系结构,我们主要开设了三类后续课程,如表1所示。第一类是直接与编程相关的课程,包括理论性课程与实践性课程两种。理论性课程或者偏重于编程技能的传授,或者与某一应用领域相结合,着重于软件或者平台工具的使用及再开发。实践性课程旨在培养学生的动手能力,主要是让学生在老师的指导下来完成一个算法或软件模块。实践性课程是一个很重要的环节,我们一般在二年级和三年级的每个学期中都安排两个星期让学生来专门进行此项活动。第二类是软件工程相关的课程,主要是帮助学生了解和掌握软件工程体系,竖立软件质量观念。大多数高校都开设了其中的部分或者全部,在此不再赘述。第三类课程主要是计算机相关应用领域的课程。这些课程与学生的所学专业相关,因此不同学校、不同专业各有侧重。重要的是,这些课程的老师也应当认识到自己对学生编程能力的培养负有间接责任。2.2 自学的指导编程能力的培养离不开学生的自学。在高年级,自学应该成为学生获取相关知识与内容的重要途径之一,并且良好的学习能力本身也是一名合格的程序员所必需的素质。在这个阶段,教师应当更多的提供学习的指导,而非知识的传授。自学肯定会遇到很多困难,因此这个环节中面临的主要问题是如何让学生从尽可能多的渠道获取指导与帮助。围绕这个问题,我们作了三个方面的工作,如表2所示。(1) 参考书目的推荐。我们推荐的书籍基本都是与编程直接相关的,分为两类,一类是开发语言的指导书籍,旨在让学生更深入的学习编程语言,这类书包括C程序设计、Effective C+等。另一类书籍主要侧重于编程的技能与技巧传授,包括代码大全、程序设计实践等。(2) 依托课程的教学平台,我们在上面建立了BBS及讨论区,在这些网络空间中,不仅有课程相关内容的补充与延伸,还有学习经验介绍、开发技巧交流、在线课堂等内容,并有教师来负责相关的答疑与指导工作。(3) 为了让学生更多的接触实际,更好地使用网络工具,我们筛选了一批比较知名的网站与技术博客,如程序员网站()、微软开发人员网络()等。除此之外,我们整理了一部分讨论比较热烈的网络技术组,如Google的C语言(comp.lang.c.moderated)、C+语言(comp.lang.c+.moderated)讨论组。这些技术组成员众多,分布于全球各个国家,许多顶级开发人员也参与其中,并热心讨论、回答每一个问题。往往一个问题在半小时之内就能得到相当专业的答复。因此我们鼓励学生参与这些技术组的讨论,并积极尝试回答问题。2.3 学生的组织在编程能力的后续培养中,面临的一个问题是学生没有被很好地组织起来,学习处于自发的摸索状态,主要靠单打独斗,缺乏必要的交流与引导。为了增强学生与学生、学生与实际之间的接触,让学生从交流中获取更多的“信息量”。在学校的组织下,我们做了如下工作:(1) 将学生组织成各种层次、各种类型的兴趣小组和社团,并进行各种内部学习和交流,这样高年级学生或者编程能力较强的学生能够将学习经验、开发技巧传授给相对较弱的学生。(2) 为了提升学生的兴趣,扩大先进编程技术、编程思想的影响力,我们组织了不同级别的程序设计竞赛,并选出一些优秀的学生参加更高级别的比赛,如ACM程序设计大赛、数学建模等。(3) 定期举办硕博论坛、校友论坛等学术活动,请一些编程能力出众的硕士生、博士生,或者毕业的校友来进行讲座,为在校的学生介绍前沿技术动态,并提供学习指导与帮助。2.4 多层次的实践学生必须经过一定的项目实践,才能真正提高编程能力。除此以外,项目实践还能培养团队协作、编程风格、文档习惯等程序员所必需的能力。学校应该尽可能的提供实践机会。在项目实践方面,除了前面提到的程序设计、算法设计、软件设计等实践环节外,我校还向学生提供了多种机会:(1) 建立创新基地。学校成立了三个校级大学生实践创新活动基地,七个院(系)大学生实践创新基地。学生在这里不仅可以结识很多高水平的老师,还可以寻找到兴趣一致的同学,从而大大提高了研究的劲头。(2) 开放实验室。我校有不少国家级和省部级实验室。这些实验室不仅项目较多,而且相当多的属于前沿学术项目。只要学生具备一定的编程功底,就可以与实验室老师联系,得到加入科研项目的机会。(3) 与培训机构合作。我校与全球最大的IT培训机构印度NIIT公司合作,学生可以申请参加其中的课程,在培训人员与教师的指导下完成预定的项目。不仅学生可以从中得到较多的收获,合作的教师也能掌握先进的培训方法,了解行业的实际需求。(4) 提供资金赞助学生。学校每年都提供一定的资金。学生如果有感兴趣的项目,或者比较有创新的想法,都可以向学校申请,由学校来资助。(5) 对外交流合作。我校与诺基亚、江苏移动、江苏电信等多个IT知名企业合作,与不少企业建立了合作关系。我校在一些企业建立了软件开发培训基地和嵌入式开发人才培养基地,由企业代为培训。另外,中兴、华为等大型企业也为我校提供了专门的实习岗位,学生可以直接参与实际的工程项目。这些培训与岗位,为学生了解行业背景、培养动手能力和锻炼编程技术提供了最直接、最有效的途径。3 反响与效果几年的尝试证明,上述举措收到了学生的热烈欢迎。学生以争做技术牛人为荣,也普遍感觉“动手时感觉没有以前那么多困难”、“对一些算法的理解比以前深多了”,在各级各类竞赛中,我校学生也斩获颇丰,仅2007年在国际、国内各种竞赛中获奖就达几十人,获奖人数及获奖率均列前茅。一些后续课程的老师也表示学生的基本编程功较以前更为扎实,教学相对顺利一些。更重要的是来自用人单位的好评,根据用人单位的反馈,不少用人单位均表示“学生的动手能力很强”、“上手很快”等。而我校的就业率一直稳居江苏省前列,这也从一个侧面反映了效果。4 结束语在教学过程中,学生知识的获得、编程能力的培养,不可能只依靠一门或几门编程课就能达到目标,这些仅仅是一个开始,还有很多后续的工作要做。我们对编程能力的后续培养进行了多样化的改革与尝试,取得了较好的效果。而这些措施,反过来也能促进教学内容与实际需求的贴近,以及教师自身水平的提高。 参考文献1 李晓明,陈平,张铭,朱敏悦关于计算机人才需求的调研报告J计算机教育,2004,(8):11-18.2 教育部计算机科学与技术专业教学指导分委员会中国计算机本科专业发展战略研究报告R中国大学教学,2005,(5):7-10.3 郑芸运用目标教学方法培养学生编程能力J高教论坛,2007,(2):118-119.4 徐进华提高学生程序设计能力的几个措施J计算机时代,2005,(11):52-53.5 田孟红培养学生编程能力的实践与思考J文山师范高等专科学校学报,2004,17(4):367-369.6 吴海珍,蒋加伏面向编程能力培养的VB语言教学改革J湖南师范大学教育科学学报,2005,4(6):120-122.7 李海伦,唐全“程序设计”课程教学改革的研究与实践加强算法设计教学,提高学生编程能力J计算机教育,2005,(7):21-22. 摘要:本文在分析当前“数据结构”课程教学主要问题的基础上,提出了以教学为基础、实训为手段、竞赛为激励机制的“数据结构”课程三位一体教学模式。关键词:数据结构;教学模式;实训;竞赛;动态演示 本研究基于多媒体平台进行“数据结构”实训教学,致力于建立“数据结构”课程以教学为基础、实训为手段、竞赛为激励机制的三位一体教学模式,运用多媒体等现代化教学手段提高教学效果,为参加全国大学生数学建模、ACM等国家级、国际级竞赛进行人才储备,并对学生进一步学习计算机领域的其他课程、今后从事理论研究、应用开发及技术管理工作发挥重要作用。1国内外研究现状目前国内外对“数据结构”课程教学改革的研究主要基于以下几方面。(1) 教学内容:设立了以算法为核心、以应用为驱动的教学主线。在算法介绍上注重对问题求解过程的理解,注重算法设计思路和分析过程的讲解,对于每个算法都给出了逻辑步骤,力图培养学生的抽象思维能力和开放性思维方式。(2) 教学手段:现代化多媒体教学与传统教学方式综合使用,已成为深化教学改革的一种有效手段。多媒体教学法具有知识信息量大、内容丰富生动的特点,多媒体教学在教案设计、备课方法、上课方式等方面带来了教学观念、教学思想和教学方法的变化。(3) 教材体系:改变传统单一依赖一本教材的模式,参考国内外经典教材,自编集教材、实验指导、习题解析、案例指导等为一体的多层次、立体化教材体系。(4) 教学环境:建立“讲坛、网坛、论坛”多平台紧密结合的教学环境。虽然目前“数据结构”教学中,基本普及了现代化教学手段的应用,但在课件制作的水平方面、在使用课件的尺度把握方面,还存在一些问题,以至于把课堂变成纯粹的计算机媒体演示室,学生也是走马观花,不知所云,无法达到预期的教学效果。另外多数研究对教学实践环节没有提出较好的理论指导,实践方面的素材相对贫乏,致使教学过程中理论与实践相脱节,学生缺乏解决实际问题的能力,只会是纸上谈兵。作者多年从事计算机本科专业“数据结构”课程教学工作,该课程2006年被确立为河北省精品课程,所开发的“数据结构动态算法演示”系统获得第三届全国高等学校计算机课件评比大赛一等奖。2三位一体教学模式 纵观该体系结构,由下至上分为三层,分别是基础设施层、教学实践层和能力提升层。基础设施层是整个系统的基石,它包含电子教案、算法动态演示系统和实训题库。教学过程中教师依托电子教案进行基础知识讲解,通过算法动态演示系统形象表现算法运行过程,动静结合,加强学生对算法的理解和掌握。实训题库是实践环节的主要素材,它由基础实验、设计实验、综合实验组成。在扎实的教学和丰富的实验基础上,组织学生进行不同级别的竞赛活动,激发学生潜能,培养学生解决实际问题能力和团队协作精神。2.1多媒体教学平台就“数据结构”而言,由于一些理论知识较抽象,单纯的电子教案在教学过程中无法将理论知识直观地表现出来,理解起来非常困难,教学难度较大,所以要改变以往“老师在上面念幻灯片,学生在下面匆忙记笔记”的教学方式,建立多媒体教学平台,制作算法的动态演示系统,生动、形象地描绘算法执行的动态变化过程,从而激发学生在课堂教学过程中的参与积极性,提高教学效果。“数据结构算法动态演示系统”内容主要是关于数据结构经典算法的动态演示,制作过程中参考了国内外“数据结构”课程经典教材,结果汇集了“数据结构”课程众多的算法,该系统是在Visual S 2005集成开发环境下基于最新的面向对象语言C#开发完成,利用.Net Framework平台,类型安全,可移植性强。系统的主要特点有:(1) 实现算法代码的执行与动态图形演示相同步,描绘了算法执行的动态变化过程,并可实时观察系统堆栈和算法中变量的变化过程,生动、形象,加深了学生对算法的理解程度。(2) 利用多线程编程技术,可随用户需要,随时暂停、继续算法运行过程,用户可及时调整数据,自行控制算法的执行速度,根据个人的进度需要控制算法执行的进程。(3) 提供了算法实现的C+源代码,既可辅助教师进行自主教学,又可帮助学生自主学习,尤其对学生上机实践具有指导作用。图2所示是“数据结构”经典算法“走迷宫”的动态运行过程。整个界面分为控制区和演示区,控制区包含若干按钮,主要完成数据的输入和算法执行过程的控制。演示区从左至右分别是图形演示区、代码演示区和堆栈演示区,生动的描绘出算法执行的每一步系统状态和堆栈情况。通过控制按钮,学习者可以改变迷宫样式、调节算法执行的速度以便于观察。2.2上机实训综合实践教学体系“数据结构”是一门实践性很重的课程,实践环节要根据一个知识点形成由基础实验(点) 设计实验(线) 综合实验(面)一体化多层次的实践教学体系。基础实验是将理论课上讲的抽象数据类型上机编程实现,在实现的过程中,深刻理解抽象数据类型和类之间的关系、算法设计和程序实现之间的关系、问题描述和成员函数之间的关系;设计实验是在基础实验的基础上,给出面向实际应用的实践题目,由学生自己设计数据结构、定义类、实现类,从而解决该实际问题,这样将几个知识点连接起来,自己设计解决一个小的问题;综合实验是给出面向实际应用的稍大一些的实践题目,由学生自己分析问题,设计几个数据结构并探究他们之间的关系,定义几个类并实现,此外,还需要一些类外的函数,进而解决这个稍大的实践题目。2.3多层次竞赛机制竞赛能激发人的潜能,通过组织各种级别的竞赛,强化学生对基础知识的掌握,培养学生的团队协作精神,提高他们解决实际问题的能力。竞赛按照规模分为初级、中级和高级。初级竞赛主要指班级内部竞赛,主要题目来自于实训题库的综合实验。班级内三至五个人为一小组,分工协作,在规定时间内完成给定题目。初级竞赛组织形式简单,相对频度可以高一些,难度和强度要适中,既能强化对知识点的巩固,又能充分发挥学生的主观能动性,享受解决问题的成就感。中级竞赛指校际间同专业学生的比赛。通过初级比赛可以遴选出一些较有实力的参赛队参加中级比赛,加强校际间的学术交流与合作。因为要涉及到参赛学校的协作,所以建议中级比赛每年举办一到两次。高级竞赛主要指全国及其以上规模的比赛,如数学建模竞赛和ACM大赛。自实施“数据结构”三位一体教学模式以来,我专业学生在各类比赛中的成绩稳步上升。07年数学建模比赛中全国一等奖1名,省一等奖、二等奖多名;ACM程序设计大赛06年西安赛区取得第29名,07年成都赛区取得第32名。3结束语本课题的特色及创新点就是理论与实践并重、教学与实训并举,通过多媒体等现代化教学手段,全方位、立体化地对“数据结构”课程教学进行包装,提升其教学效果。课题的研究成果可被用于计算机专业“数据结构”必修课程及其他相关理工专业“数据结构”选修课程的教学实践。所包含的知识与提倡的技术方法,无论对进一步学习计算机领域的其他课程,还是对今后从事理论研究、应用开发及技术管理工作都发挥着重要的作用。 参考文献:1 马燕. 关于“数据结构”教学模式改革的探索与实践J. 教育与职业,2007,(2).2 张恩胜,娄雅斌,顾红生. 数据结构教学改革初探J.“鞍山师范学院学报”,2005,7(6).3 殷人坤,邓俊辉. 清华大学“数据结构”精品课程建设J.“计算机教育”,2006,(5).4 程满玲. 创新数据结构的教学模式 探索课程改革的新思路J. 考试周刊,2007,(23).5 张荣博,梁文静. 非计算机专业“数据结构”教学研究探讨J. 科技信息,2006,(5).6 李治军,廖明宏,张岩. 数据结构与算法课程设计教学模式的探讨J. 计算机教育,2006,(2). 高等职业教育教学改革工作是以人才培养模式改革、课程体系重构和教学内容改革为重点,而工学结合优质核心课程标准的制订作为课程体系和教学内容改革落到实处的保障。在以工作过程为导向的新高职课程体系下,课程标准制订的思路与内容,对于明确课程目标、课程内容,制订课程实施方案,规范课程的教学过程,指导任课教师完成各项教学任务具有重要的指导意义,也是当前示范院校重点专业建设面临的一个实际问题。本文以我院计算机应用技术重点建设专业核心课程嵌入式应用与开发课程标准为例,探讨课程标准制订的思路和内容。1 课程标准设计思路以工作过程为导向的高职课程体系,要求课程设计要基于工作过程,充分体现工学结合的特点,以真实的工作任务或产品为载体来实施课程整体设计。课程标准设计的思路首先应依据专业人才培养方案中关于人才培养目标的阐述,明确课程目标;其次应结合职业教育课程观、教学观、能力观,基于软件工程的开发过程,以项目化教学来组织课程内容,在课程内容的选择与排序中,以软件工程实施的不同阶段、典型任务为载体,将课程内容划分为互相联系的学习情景;第三应通过对各学习情景中学习目标、主要内容、授课方式、师生要求等各项内容的描述,来规范课程所要求的内容;第四应通过对课程内容的选取和组合,以一个完整的项目为载体,完成课程的实施;最后,通过对项目实施过程中各个环节的考察和评价,来完成对课程的评鉴与考核。嵌入式应用与开发课程标准制订的设计思路可以用图1来表示。1.1 课程标准制订依据由于嵌入式系统应用技术是一门新兴的技术,发展历史较短,发展速度很快,所以课程的设置与开发,既要以国家职业标准为基础,又要依据市场变化和企业对人才的需求进行调整。根据市场调研和企业人才分析,我院计算机应用技术专业嵌入式应用与开发课程所面向的工作岗位主要是J2ME程序员、手机软件测试员、手机多媒体程序员、手机游戏工程师以及相关的3G网络环境下的无线应用型人才嵌入式应用与开发课程的开设,紧密结合市场对人才的需求,具有一定的前瞻性。结合目前3G市场对手机软件开发人才的需求,课程的内容设计将以此为依据进行动态更新。课程内容将随着市场的变化、企业对人才的需求和嵌入式系统应用技术的发展及时更新和补充;基于目前的教学环境,本课程主要以J2ME应用软件开发为主。1.2 课程标准框架结构嵌入式应用与开发课程标准共有七个部分组成:前言部分、课程目标、课程内容、课程实施、课程评鉴、教材编写与使用建议、附录。其中,前言部分包括目的、设计思路、课程性质与任务、课程职业面向、课程能力培养分解、参考文档;课程目标包括总体目标和具体目标;课程内容包括学习情景、课程单元、情感态度、学习策略;课程实施包括教学模式、教学建议、项目参考实例说明等;课程评鉴包括课程考核和课程评价;教材编写与使用建议包括教材编写原则和教材使用建议;附录部分包括国家职业标准、参考数目、网络资源、精品课程等。2 嵌入式应用与开发课程标准内容2.1 课程目标课程目标是课程学习的预期结果:即完成某个专业或某门课程之后,学生将要达到某一确定的知识、能力、素质的人才规格要求,其总目标与专业培养目标一致。专业培养目标是由社会需求分析、个体需求分析、教学现状分析的综合结果来确定的,因此也是课程目标确定的依据。2.1.1 总体目标嵌入式应用与开发课程的总体目标是加强学生的嵌入式软件应用与开发意识,培养学生基于J2ME开发和应用嵌入式手机软件的综合能力。该能力的形成建立在学生基础知识、基本技能、情感态度、学习策略和文化意识等素养整体发展的基础上。2.1.2 具体目标依据总体目标,嵌入式应用与开发课程的具体能力目标如下:(1) 熟悉嵌入式软件开发的一般流程;(2) 能够安装并配置J2ME开发环境;(3) 能够根据需求分析设计并完成UI设计;(4) 能够根据详细设计文档完成事件处理;(5) 能够应用MIDP通用框架实现网络互联;(6) 能够在移动设备中保存数据;(7) 能够完成多媒体编程(使用MMA);(8) 能够完成短信息编程;(9) 能够完成简单的手机游戏开发。加的为课程的扩展目标,对于个别学有余力的同学通过组建兴趣小组的形式进行指导。2.2 课程内容同一课程目标可以用不同的内容来实现,包括不同的课程、学程与方法途径。课程作为人才培养方案的基本实施单元,其科学性与合理性直接影响人才质量。课程内容的确定以前面的课程目标分析为依据,以职业综合能力的细化分析为基础,按照定向配置、动态优化的原则来选择课程内容。依据课程的具体目标以及上述课程选择的原则,确定嵌入式应用与开发课程内容如表1所示。2.2.1 学习情景根据课程目标,确定“嵌入式应用与开发”课程共包括八个学习情景,每个学习情景包括:学习目标、课时、主要内容、教学方法与建议、考核与评价、教学材料、学生知识与能力要求、教师能力及知识要求。以“根据需求分析设计并实现UI”学习情景为例,如表2所示。2.2.2 课程单元以完整的项目为载体,按照软件工程的实施过程,将上述典型工作任务融入其中,以每四个学时为一个课程单元,将整个课程内容组织起来。各课程单元包括学习目标、主要内容(重难点)、教学设计与组织、教学地点、教学仪器设备、教材及参考资料、练习与习题等。以“认识J2ME软件开发项目”为例,如表3所示。2.3 课程实施2.3.1 教学模式不同课程模式是不同课程观念的具体体现,所以对课程模式的选择首先是对课程观念的选择。课程观是教育观在课程领域中的体现,是人们对课程本质、属性、功能、目的、规律、原理和法则等问题所持的基本态度,是人们对课程的价值取向。模式的本质特性有三个:典型性、可分类性、可复制性。它反映了教学规律的主要矛盾和主要特征。为了在教学中潜移默化地提高学生的软件工程素养,拟在整个场景教学的过程中,全程贯穿软件工程思想,并提供软件工程管理工具。提供Step By Step的实训指导手册,来指导学生一步步完成开发环境搭建、需求分析、详细设计、编码调试、测试、源代码管理、进度管理等一系列软件项目管理相关的工作。同时还会提供涉及到的软件工程管理工具,例如源代码管理工具、Bug管理工具、进度管理工具等等,并提供相应的说明书。2.3.2 项目教学参考实例课程标准中给出课程实施过程中可以应用的参考实例,并明确项目内容、形式和具体要求。实例如下:项目名称:手机版列车时刻表的设计与实现(J2ME平台;单机版)。项目内容:根据课程学习的内容,在充分理解并掌握J2ME相关知识的基础上,以项目小组(35人)的形式,在J2ME平台上设计并实现列车时刻表软件(单机版)的开发,主要功能包括软件界面设计、车次查询、站站查询和列车详细信息查询。主要内容包括:(1) 项目小组组建与成员分工;(2) 项目需求分析与总体设计;(3) 项目详细设计与模块划分;(4) 代码编写与单元测试;(5) 在PC模拟机上试运行;(6) 在支持J2ME的手机上真机运行并投入使用。具体要求:(1) 项目小组各个成员明确自己的分工和定位,积极主动完成各项任务;(2) 在小组讨论会议上积极发言,阐述自己对项目开发的建设性意见,记入成绩考核;(3) 集体讨论并确定总体设计方案和详细模块设计;(4) 认真完成个人的模块任务;(5) 撰写需求分析报告、项目总体设计(小组全部成员);(6) 撰写模块详细设计文档(对应模块的责任人);(7) 撰写测试报告与试运行报告(该项工作的完成人);(8) 撰写实训报告,并提交作品。(项目小组)。3 结束语“嵌入式应用与开发”课程标准已经初步形成,并用于指导任课教师进行教学实践,取得了较好的效果。但是课程标准的制订是一项系统而复杂的工程,需要经历调研、分析、设计、实施、评鉴、反馈、修订的完整过程才能够更好地指导教学。在以工作过程为导向的课程体系架构下,开发适合高职计算机应用专业人才培养需求的课程标准,还面临企业在标准制订过程中参与的方式、课程实施相关的考核与评鉴、学生对于新的教学模式变革的接受程度等新的问题,需要经过实践的检验和不断的反馈来趋于完善,希望本文的研究对于推动高职教育教学改革的发展具有一定的意义。参考文献1 石伟平, 徐国庆. 职业教育课程开发技术M. 上海: 上海教育出版社, 2006.2 邓泽民, 王宽. 现代四大职教模式M. 北京: 中国铁道出版社,2006.3 孙国菊. 高职计算机软件人才培养的思与行J. 计算机教育, 2005,(3).4 姜大源. 职业教育的通用教学论J. 中国职业技术教育, 2007, (16).5 丁继安等. 高职院校实施校本课程标准若干问题的探索J. 辽宁教育研究,2003. 摘要:初学者由于缺乏系统分析和设计的全局概念,设计数据库时往往脱离需求分析,对所设计数据库缺乏有效的验证方法。本文给出了一种以案例为主线的数据库设计及验证方法,不但能有效验证所设计数据库能否满足系统需求,而且在方法实施过程中能够用一条实践主线贯穿数据库设计和应用等主要知识点。关键词:数据库设计;案例教学;验证式教学G6421引言“数据库”课程是信息管理及计算机类专业的主干课程。但“数据库”课程抽象、实践性强,部分学生在学完该课程后总是一头雾水,对很多概念仍然似懂非懂。亲身经历告诉我这不完全是学生方面的原因,其中关键的原因是在有限的学时内对所学知识缺乏有效的实践检验环节,学习只能依靠陈述式记忆,不能上升到程序式记忆高度,只能局部理解知识点,没有一条实践的主线对知识点的贯通,自然对课程不能很好的把握。文章首先通过引入了数据库设计的特点及其教学难点,然后结合信息系统开发及多年教学工作给出了一种基于案例为主线的数据库设计及结果验证方法,最后部分对全文进行了总结。2数据库设计的特点及教学难点分析根据王珊等人的总结,数据库设计的特点主要有两点:其一,数据库建设的基本规律是“三分技术,七分管理,十二分基础数据”;其二,数据库设计是结构设计和行为设计的相结合。2.1三分技术,七分管理,十二分基础数据“三分技术,七分管理,十二分基础数据”,说明在数据库设计中,技术是十分重要的,但除了技术之外更重要的还有管理和基础数据的准备。管理一部分是指对数据库建设本身这个大项目的管理,另一个隐藏含义是指企业的管理流程规范化、制度化、成熟化,后续课程“管理信息系统”将要解决该问题。它说的是数据库建设与企业的业务管理密切相关,如果企业的业务流程没有规范化、经常在变,那么任何人不可能设计出满足这个企业的数据库。“十二分基础数据”则强调了基础数据在数据库建设中的地位和作用,基础数据的准备直接影响到数据库的表结构以及用户使用的方便性,甚至是数据的一致性。例如,在图书馆管理系统给读者办证功能中,考虑输入每个读者的专业信息时,由于一个学校的专业是相对固定但又可能会有变动的情况,所以在设计图书馆数据库时就有必要建立一个“专业”数据表,维护学校的专业信息,在需要输入“专业”信息的地方,不是让用户输入,而是直接将“专业”表中的数据显示给用户供用户选择,这样不但方便了用户的使用,而且可以防止用户输入造成的数据不一致的现象。 2.2结构设计和行为设计的相结合由教材,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求,包括信息要求和处理要求。简单地说就是指设计出的数据库(结构设计)要满足系统所有处理(行为设计)所涉及的数据存取操作。数据流程图和数据字典详细的描述了应用系统的行为(处理)以及所涉及的数据,结构设计的任务就是要为这些所涉及的数据提供一个良好的数据组织方式,所以结构设计是必须与行为设计为前提的,行为设计直接影响到结构设计,两者是相辅相成的。例如,在OA的文件审核中,如果每个文件只需要一个人审核时,那么直接在文件信息表中增加“是否审核”、“审核人”和“审核意见”等属性就可以满足要求,但如果审核是固定流程:文件主管审核财务审核副总经理审核总经理审核,那么至少需要增加一个审核表(审核表中有所审文件、审核人、是否审核、审核意见等属性)即可以处理,更进一步,如果审核流程不固定,有的文件只需要主管审核就可以,有的文件必须有财务审核相应的数据库设计就越来越复杂了。所以说结构设计必须和行为设计相结合。从数据库设计的特点可以看出数据库设计是以实践为基础的,离开了实践,数据库课程的教学没有任何意义。毛主席说过,实践是检验真理的唯一标准,既然来源于实践就经得起实践的检验,检验是为了让学生从实践中来,到实践中去,真正体会数据库的内涵与实质,避免空对空的学习。3案例教学及验证方法鉴于理论课时的限制,只有在教学过程中充分安排好数据库课程教学的各个环节,理论课程阶段学好数据库基本原理及设计的方法,数据库课程设计环节让学生独立完成系统简单需求分析、数据库设计任务并对完成的设计进行简单的验证。验证是关键,让学生深刻体会设计出的数据库(结构设计)能否满足用户的数据处理要求(行为设计),从而消除学生需求分析和数据库设计脱节的现象,举一反三,加深理解。基于案例为主线的数据库设计及结果检验方法简单过程如下。(1) 针对具体应用,确定系统边界及功能,通过企业业务流程分析,最终得到系统需求数据流程图和数据字典数据流程图是从计算机视角描绘系统的逻辑模型,只描绘数据流在系统中的流动和处理情况,是逻辑系统的图形表示。数据流程图具有对复杂客观流程的高度抽象性(在图中去掉了具体的组织结构、工作场所、物质流等,只剩下信息和数据存储、流动、使用以及处理等抽象数据)和概括性(把系统对各种业务的处理过程联系起来考虑,形成一个总体,可反应数据流之间的概括情况);而数据字典是对数据流图的进一步补充,图1给出了借书过程的数据流图(图中正方形表示外部实体,圆角矩形表示处理,右开口矩形表示数据存储,带箭头线段表示数据流)。数据流图和数据字典(篇幅限制,省略图1所对应的数据字典)描述了系统所有处理要求和信息要求,根据处理要求和信息要求能够抽象出实体及其实体间的联系,从而得到系统的概念结构。图1读者借书数据流图(2) 根据需求分析,逐步得到系统的总E-R图,得到系统的概念结构设计很多学生由于没有完全掌握数据库设计的本质,认为概念结构完全是一个多余的中间层次。其实不然,概念结构能够清晰的反映实体和实体之间的联系类型,逻辑结构虽然也能通过外码引用反映数据之间的联系,但它很不直观,不具有易理解性的特点,所以数据库设计往往先得到概念结构,然后转换成逻辑结构。图2给出了图书馆借还书系统的简单E-R图(只列出了实体的主要属性)。图2图书馆借还书简单E-R图(3) 根据E-R图到关系模式的转换规则将概念结构转化为关系模式,并进行优化,得到数据库的逻辑结构,即最终的数据库表结构图2所示的E-R图转换成关系模式并进行优化后得到以下数据库表(带下划线的是主码,斜线是外码):图书(ISBN,书名,作者,出版社);书目(条码号,ISBN,借书室,状态),其中书目状态有“已借出”,“在库可借”,“库本”;借书室(编号,名称,简介);借书证(卡号,条码号,学号,姓名,性别,年龄,专业,类别,状态),其中借书证状态有“正常”,“注销”,“挂失”;借书记录(借书序号,书目条码号,借书证条码号,借书日期,应还日期,还书日期,状态),其中状态有“已还”,“未还”。(4) 根据系统功能划分及需求分析,简单设计出每个功能的界面,标注出界面每个按钮的流转情况及功能界面设计的首要原则是让用户使用方便,以简洁、清晰为主,同一个界面尽量不要实现过多的功能,同时界面设计的好坏也直接影响到实现的难易。以学生借书过程为例,设计出图3和图4所示界面。 图3借书界面(扫描借书证)图4图书馆借书界面设计示意图(5) 验证所设计数据库的合理性针对第4步的每个界面,使用SQL语言详细说明,界面中数据的来源及每个按钮操作所涉及数据的去向。例如,针对第4步给出的读者借书过程界面设计,图书管理员进入系统后停留在图3所示页面,当读者递给管理员借书证和要借的书籍时,系统执行以下操作,其中对读者借书过程的数据存取详细说明(也可以用通俗的文字进行描述)/*begin管理员使用条码机输入条码号(TiaoMa) 点击“确定”按钮;“SELECT 卡号,学号,姓名,类别,状态 FROM 借书证 WHERE 条码号=TiaoMa”,返回所有记录; If 没有记录返回Msg(“非法读者”);Else if 返回多条记录Msg(“多个借书证条码号相同!”);Else取出该记录各分量依次赋给变量CN(卡号),SNO(学号),SNAME(姓名),TYPE(类型),STATUS(状态);if(STATUS =“注销” or STATUS =“挂失”)Msg(“借书证已注销或挂失,不能借书!”);Else重定向到图4所示界面;将CN(卡号),SNO(学号),SNAME(姓名),TYPE(类型)等学生信息显示在相应位置;“SELECT 书目条码号,ISBN,书名,借书日期,应还日期FROM 图书,书目,借书记录 WHERE书目.ISBN=图书.ISBN and 书目.条码号=借书记录.书目条码号 and 借书证条码号=TiaoMa and 状态=未还”;将查询结果显示在借书记录列表并得到借书记录数(BQTY);管理员使用条码机输入条码号(BookTiaoMa)点击“确定”按钮;根据读者类型TYPE得出可同时借书册数(QTY);If BQTY QTYInsert into 借书记录 values(SerialNo,BookTiaoMa,TiaoMa,Borrowdate,Backdate,未还);Update 书目 set 状态=已借出 where 条码号=BookTiaoMa;ElseMsg(“已达到最大借书数量!”);/*end(6) 如果在前两步某些功能实现不了或不好实现,那么有可能是所对应数据流图存在的不合理地方,或者数据库设计不满足数据流程图的某些数据要求,返回第一或第二步对某些不合理地方重新考虑界面设计及其说明其实就是系统详细设计的一部分,是数据流图所展现功能的详细化、具体化。对于初学者,设计界面和 由教育部高等学校计算机科学与技术教学指导委员会(以下简称“计算机教指委”)组织编制的高等学校计算机科学与技术专业核心课程教学实施方案(以下简称“教学实施方案”) 2009年7月由高等教育出版社出版发行。1 “教学实施方案”建立的背景从1999年开始,经过几年的大规模扩张,人们对大面积扩招后形成的新的高等教育态势进行了重新认识,并把普通高等学校一般地分为研究型大学、教学科研型大学、教学型本科院校 (前面分类在一定程度上可对应于我国高校本科的“一本”、“二本”和“三本”)、高等专科院校和高等职业院校等几种办学类型。随着高等教育大众化、普及化时期的到来,初步形成了各类大学相对稳定地分层次办学的格局。在社会需求和学科发展的推动下,我国大陆现有598所高等院校设置了847个计算机科学与技术本科专业点,在校生40余万,构成了一个巨大、复杂的专业群体。这不仅在规模上实现了从精英教育向大众化教育的转变,而且面对一个宽阔、缤纷的人才市场,正在从内涵上实现从精英教育向大众化教育的转变。精英教育注重厚基础和广适应,而大众化教育更强调特色和应用性,强调学校和专业更精确的培养定位。不同类型学校根据学生在知识和能力上的差异,所制定的培养目标应该有所区别,这是实现精英教育转入大众化教育所急需解决的问题。针对不同的培养目标,按照科学办学的基本思路,采用不同的教育策略,规划和提供不同的教学内容,以实现更有效的教育,提高专业的教育教学水平。2006年,计算机教指委发布了高等学校计算机科学与技术专业发展战略研究报告暨专业规范(试行),提出了以“规格分类”为核心思想的计算机专业发展建议,鼓励不同高校在“计算机科学与技术”专业名称下,根据社会需求和自身实际情况,为学生提供不同类型人才培养的教学计划和培养方案。在“规格分类”思想的指导下,根据计算机学科覆盖面广,计算机专业规模大的特点,将计算机专业人才分成科学型(也称“研究型”)、工程型和应用型。2007年和2008年,计算机教指委又先后发布了高等学校计算机科学与技术专业公共核心知识体系与课程和高等学校计算机科学与技术专业实践教学体系与规范,旨在为“规范”的实行提供支持。据此,我们至少可以认为:所在院校的办学类型不同、培养目标不同、所在地及其周边地区社会需求的不同,这些计算机专业的教学内容应该有所不同。计算机专业的核心课程,针对不同院校的不同教学目的,应该有不同和分层次的教学设计。例如,对于大多数计算机专业以及IT相关专业的学生,尤其是非研究型院校的学生,应该把学习定位在理解、熟悉和能够灵活运用的基础上,而把那些“考研”所需要的更深层次理论性内容放在选修或者考研复习阶段来解决。从长远看,应该对各层次院校的计算机专业所开设的核心课程的教学内容进行研究,对其教学方法进行积极的探索。为推动分类培养思想的落实,建设优质教学资源,解决现在相关课程建设中普遍存在的问题,推进计算机科学与技术专业的科学办学进程,计算机教指委、中国计算机学会教育专业委员会联合高等教育出版社立项开展了“教学实施方案”的研究。28门计算机专业核心课程根据高等学校计算机科学与技术专
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 客户关系管理系统CRM应用指南
- 如何准备医学人才招聘面试实战指南与技巧分享
- 代谢导向的MND干细胞治疗优化方案
- 常平企业运营策略及案例分析
- VR术前疼痛预期管理策略与效果
- VLP疫苗与mRNA疫苗的联合免疫方案
- 心理学在职场中的应用沟通与决策技巧
- 大数据分析师工作职责与实操手册
- 教育集团面试实战经验案例分析不同行业与岗位的面试策略
- SRS治疗脑转移瘤的剂量分割方案比较
- 业务连续性管理(BCM)课件
- 医疗事故处理法律制度教案
- GB/T 25622.1-2023土方机械司机手册第1部分:内容和格式
- 污水厂管网运行管理方案
- 小区开放对道路的影响
- (完整word版)高中英语3500词汇表
- 水利工程概论练习题+答案
- 建筑施工安全检查评分汇总表及评分表2011版自动计算
- 世界著名童话故事英文绘本故事丑小鸭
- GB/T 224-2019钢的脱碳层深度测定法
- 涉密文件借阅登记表
评论
0/150
提交评论