时间:2022-11-09 18:06:14
序论:速发表网结合其深厚的文秘经验,特别为您筛选了11篇数据库课程设计总结范文。如果您需要更多原创资料,欢迎随时与我们的客服老师联系,希望您能从中汲取灵感和知识!
数据库课程设计是计算机相关专业的一门非常重要的专业实践课,该课程总的学习目标是让学生熟练掌握数据库技术的相关理论知识,并能够理论联系实际,解决实际问题。通过数据库课程设计的实践环节,培养学生分析、设计和编程实现数据库应用系统的能力,让学生具备较好的数据库项目实践能力,掌握过硬的职业技能。本文对数据库课程设计教学中存在的主要问题进行了细致的分析,提出了基于项目的数据库课程设计的详细教学方案。
1.数据库课程设计中存在的主要问题
(1)学生参与数据库课程设计的积极性不高、知识和技术储备不够。
(2)学生重编程实现而轻分析和设计。
(3)课程人员组织和时间安排不太合理,任务设计和要求偏低。
(4)课程考核方式、评价体系和管理过程不够科学。
2.基于项目的数据库课程设计教学方案的设计与实施
2.1 基于项目的数据库课程教学方案
本文提出的基于项目的数据库课程设计教学方案是指设计能够吸引学生兴趣、难易适中、选题丰富并且能够满足不同层次的学生需求的项目设计任务,参照软件公司分析、设计、编程实现应用软件的基本步骤和人员组织形式来安排和组织学生进行数据库课程设计。其重点在于把学生的课程设计任务提高到软件工程项目的高度,并通过模拟实训加以实施。按照软件工程传统方法学的思想,结合数据库设计的基本步骤,将数据库应用软件的开发简单划分为需求分析、总体设计、详细设计、编码和测试四个阶段。每个阶段的任务均在指导老师的指导下,由项目组成员通力协作、自主完成。在每个阶段结束后,采用项目评审的方法,对每个小组每个学生的具体工作进行阶段性评审,学生分组汇报工作成果,并按照软件工程的要求提交阶段性技术文档。项目模拟实训根据课程设计选题采用项目小组的形式进行分工,项目规模和难度由指导老师和项目小组全体成员根据课程设计指导书协商决定。每个项目小组由一名同学担任项目组长,项目组长可以根据小组内每个人的能力和经验合理分配任务。每个学生在项目开发过程中,担任不同的角色。在工作中,项目小组的成员相互沟通和交流,组与组之间也可以相互借鉴学习,提高学生的参与积极性,培养学生的团队合作精神。
2.2 基于项目的数据库课程教学方案的实施
2.2.1 课程设计的选题
数据库课程设计是培养学生创新能力的有效途径,其设计题目应该具有一定的应用背景,让学生能够遵循软件工程的基本原理设计一个具有实用价值的数据库应用系统,使所学知识能够融会贯通。
精心准备和策划设计适当的项目,是实施基于项目的数据库课程设计教学的关键。在确定项目时应综合考虑以下几方面的因素:(1)能将数据库的理论知识和实际应用技能较好的结合在一起;(2)所选项目数量要足够多,涉及面要广而且是学生比较熟悉和有兴趣的应用领域;(3)项目的难易程度要能够满足不同层次的学生的需求;(4)项目的整个开发流程要规范,以项目为主线,引导学生把掌握的程序编程知识、数据库和软件工程等理论应用到软件开发实践当中去,让学生掌握软件开发的整个开发流程,具备项目开发的实战经历。
2.2.2 课程设计的人员组织
按照开发流程,参照软件公司的人员组织形式,将班级的学生分组,每组5至6人,以学生自由组合为基础,教师可根据学生的兴趣和特长、编程水平、知识结构、学习能力、性格特点、男女搭配等因素进行调整。每个同学可以担任不同的角色:如项目管理员,系统分析员,系统设计员,系统开发员等。
每个小组由其成员推选产生一名项目组长,负责制定本小组的开发计划、工作任务的分配和调度、监督实施等工作。在组长的指挥下,对小组成员进行分工,语言表达能力强善于沟通的同学负责联系工作和调查研究,美工好的同学负责界面设计,编程能力强的负责代码的编写,程序设计能力强的负责系统的整体设计和程序调试,写作能力强的负责技术文档的书写等。教师要负责帮助把握进度,提醒学生合理分配工作时间等。
按小组形式开发项目,不但有利于培养学生的团队合作精神和提高学生的管理能力,而且更接近工作实际。
2.2.3 综合设计过程
学生发挥各自的特长分工协作,运用已学软件工程、数据库理论思想和数据库设计理念、C#或C++等编程语言,具体设计实现一个小型数据库应用系统。开发设计过程按以下顺序进行——自选课程设计课题,调查用户需求,总结归纳数据流程,分析性能,书写需求分析及总体设计报告(包括数据流图、数据字典、数据库概念模型、逻辑模型、系统功能模块),完成应用系统的开发,进行系统整合和测试,功能完善,汇报设计成果(包括撰写设计报告、系统验收、结果汇报)。主要分为需求分析、项目设计、项目实施和成果展示。
(1)需求分析是保证项目顺利完成的前提。需求分析做得不好,甚至会导致整个系统返工重做。因此,在课程设计环节中学生必须根据教师提供的项目背景资料,通过图书馆、网络或相应的组织、部门、企业去查找相关资料,结合自己的生活经验,对数据和处理进行分析,画出各层数据流图,做好详细地需求分析。教师要对学生的需求分析报告进行指导和评价。
(2)项目设计是关键。本阶段主要包括数据库的概念结构设计、逻辑结构设计和物理结构设计。要求学生在需求分析的基础上,设计E—R模型,详细描述实体的属性及实体之间的联系;实现E-R图向关系模型的转换,并对关系模型进行优化;定义主键、外键、视图、索引等。此外学生还应该设计出系统的功能模块图。教师通过检查学生设计的E-R图、关系模型和功能模块图,对每个组进行分析、评价和指导。
(3)项目实施。项目实施即数据库的实施、运行与维护阶段,主要包括应用系统的编程与调试。指导教师为学生提供技术支持,适时组织讨论、讲解和归纳总结为学生提供解决问题的新思路、新方法。
(4)成果展示。学生以项目组的形式完成了项目的整体设计与开发后,各个小组将在课程设计末期进行成果汇报和展示,接受教师和其他同学的评价。通过作品展示和评价,可以激发学生的竞争意识,促进项目组成员之间的交流与协作。
2.2.4 课程设计的时间安排
针对课程设计时间安排上的不合理问题,采取双管齐下的方式。首先增加教学计划中数据库课程设计的教学学时,由原来的2周改变为4周,使得学生有足够的时间来完成课设任务。其次,提前让学生进入分组和选题环节,并将每个人要完成的任何合理分配,让学生提前进入做好项目的知识储备、调研等前期准备工作。
2.2.5 课程设计的考核与评定
加强过程考核,提高对课程设计的总体要求,细化评价指标。学生在课程设计结束后,不仅要提交软件系统,还要提交课程设计报告,并进行分组汇报。课程设计的最终成绩由以下几部分组成:考勤lO%,平时抽查1O%,答辩20%,课程设计报告30%,系统演示30%。其中前四项由教师评分,系统演示由学生评分,每组各选派一名代表给大家演示系统并介绍基本情况,由各组分组讨论,对其它组开发的系统进行评价和评分,最后取平均分并公布成绩。
为学生提供展示自我的平台,建立完善的考核指标和体系,这样不仅有利于激发学生的学习兴趣和积极性,也有利于提高学生运用数据库理论实际问题的能力。
3.总结
通过基于项目的数据库课程设计教学研究,不仅使学生能够在理解数据库理论的基础上,实际动手开发一个实际的应用系统,而且在一系列的开发设计过程工作中能够树立学生的项目开发管理思想,能够培养学生应有的团队协作、自主管理、主动学习、创新思维、综合运用、动手实践等能力。使数据库课程设计真正成为学生验证理论的“实验场”,成为开发学生潜力、培养实战能力的“战场”,成为体验项目开发过程的“运动场”。
参考文献
[1]王艳红,章小莉,姜湘岗.在数据库课程设计中培养学生项目开发能力[J].教育与教学研究,2009,13.
中图分类号:G642 文献标识码:A 文章编号:1007-0079(2014)21-0022-02
教育部2012年对《普通高等学校本科专业目录》和《普通高等学校本科专业设置管理规定》进行修订。以此为契机,结合华北水利水电大学(以下简称“我校”)软件人才培养模式,根据软件工程专业的培养目标和培养要求,积极借鉴“高等学校本科教学质量与教学改革工程”实施以来的教学改革理念、措施和经验,对“数据库课程设计”实践教学环节存在的问题进行反思,提出将工程设计的理念固化在课程设计的各个环节,对其进行改革和研究,旨在提高学生的实践动手能力和自主创新能力。
一、“数据库课程设计”现状概述
“数据库课程设计”为软件学院(以下简称“我院”)软件工程专业在学习完“数据库系统”(包括“数据库原理”与“数据库应用”)课程之后于学期末独立开设的一个综合实践教学环节。实践教学在工科教学领域是一个不可忽视的环节,它不但是理论知识得以迁移的手段,也是抽象与具体、理论与实践结合的基点。数据库系统是一门理论性、实践性均非常强的课程,开设该环节旨在加深学生对数据库系统相关理论知识的理解,培养学生分析、设计和编程实现数据库应用系统的能力,并在具体的数据库应用系统开发过程中强化学生的专业技能。
“数据库课程设计”是让学生独立地根据具体的应用环境,构造满足相应需求的数据库应用系统,它属于设计性实验范畴。设计性实验不但能够促使学生运用所学知识培养综合解决问题的能力,而且也会充分激发学生的学习动机,培养学生的学习兴趣,加强学生的实践能力。但在目前的实施过程中达不到预期的效果,通过分析和反思主要原因如下:
1.轻视实践教学环节
“数据库课程设计”于学期末开设,为期2周。从时间上考虑课程已全部结束,从心理上处于一个放松的状态,已不能全身心地投入学习。且时间较短,学生总以为2周的时间学不到专业技能,不能充分认识安排实践环节的目的和重要性,缺乏学习的兴趣,不能积极参与。
2.缺乏软件工程观念
在学习完“数据库原理”之后进行“数据库课程设计”,大部分学生认为该课程设计只需编程完成数据库的建立、各位数据库对象的建立及数据的添加、删除、修改和查询等功能。学生根据老师布置的课程设计题目马上就做这部分工作,对系统设计缺乏一个整体认识。这部分工作一天时间足以完成,在实际的实践教学环节中,学生大部分时间会浪费在数据库的连接、登录等问题上。这就出现了重程序设计技能,[1]轻软件工程方法,热衷于探索各种机巧的程序设计方法,忽视需求分析、评审、测试等软件工程的基本原则与方法。
3.考核模式过于传统
“数据库课程设计”作为一个独立的实践教学环节,传统的考核方式为出勤率(10%)、电子版系统(30%,界面+数据库连接+数据库设计)和纸质课程设计报告(50%),没有对学生所设计的数据库应用系统进行深入分析,投入的人力、精力不足,没有充分调动学生的自主创新能力。
如何充分发挥“数据库课程设计”的作用,收到良好的教学效果,是本次教学改革的主要研究任务。基于以上分析,主要从以下几个方面进行研究。
二、课程设计实践环节改革思路
1.任务提前分配
通过“数据库系统”课程的教学及“数据库课程设计”实践教学环节的实施,经过反思和讨论,认为通过对课程设计任务的提前分配可以充分认识到实践环节中的要求,调动学生的学习兴趣积极参与其中。关键问题是任务如何分配,提前到什么时候。
“数据库课程设计”是在学习完“数据库系统”课程之后于学期末开设,课程与实践环节是前后连贯的。那么在讲授“数据库系统”时就把“数据库课程设计”的题目、内容、要求、目标及成果提交的方式等分配给学生,在学生认识到学习完课程之后还有一项重要的任务。在学习课程的过程中,学生自己就能认识到学习的重点与难点。
“数据库系统”课程与“数据库课程设计”各个环节的对应关系如图1所示。
2.注重题目设计
“数据库课程设计”的第一个环节:题目的设计,至关重要。教师查阅资料,认真选题。首先题目的难度要适中,若选题简单,会让学生误认为数据库应用系统开发是一件很容易的事情,学生不能在设计中全面了解数据库设计的全过程及数据库系统的各种功能,达不到课程设计的目的;若选题过难,部分学生会知难而退。其次,题目要充分,避免抄袭现象,要设计到较多的领域,题目示例如表1所示。由于在学期初进行任务分配,学生有充分的时间对自己感兴趣的题目进行详细地实地调研,并能让学生充分认识到所学的知识并不抽象,能用来解决现实生活、工作中的实际问题,理论与实践完美结合。
由于学生的工作经验和社会阅历都不够丰富,在给出题目时,不但包括系统应该完成的功能需求,也包括一些描述系统的素材,同时还对各系统中现实环境中的情景用flash或DV制作了一系列的虚拟片断,从而为学生直观地理解系统中的业务需求奠定了基础。[2]
3.培养团队合作意识
学生分组,每组一题,不能重复,组内成员分工合作,培养团队协作能力,避免出现注重个人程序设计技能的运用和各种经典程序设计难题的解决,轻视团队协作能力和具体项目环境下的工程开发能力。
尤其在设计环节,要求学生灵活运用学过的知识进行设计,给同学们提供了较大的思维想象空间,调动了学生的学习兴趣,勤于思考,充分表达对不同设计的看法,然后集体讨论和总结,发挥集体的智慧,得到较优的数据库模式。
4.加强软件工程观
根据学生在进行数据库信息系统设计时重编程、轻设计的问题,提出把软件工程的观念贯穿到信息系统设计的各个环节。基于国际软件工程学科CC-SE2004规范,软件工程的教学与实践,从早期注重培养学生的软件工程观。
软件开发过程是一个系列活动,应包括:需求分析、软件设计、实现与调试、测试与验收、部署、维护等活动,具体过程如图2所示,在此过程中要借鉴工业工程中的“过程决定质量”的理论,强调过程对于软件开发的作用。[3]由此可见,编程只是其中很小一部分工作,应把重点放在分析和设计阶段。
为帮助学生以工程方法构建中小规模软件系统的知识和技能,演示一完整的项目作品,并制作开发视频,视频中展示数据库应用系统开发中每个阶段的主要任务和具体做法,尤其是需求分析和项目设计阶段,从而避免重编程实现而轻分析、设计的现象。
5.考核模式创新
为充分调动学生积极参与到课程设计各个环节,课程设计最后一天,每个设计小组分别答辩,讲解项目开况并回答老师提出的问题,最后提交课程设计报告。最终的成绩由考勤记录、课程设计报告和答辩三部分组成,成绩比例为2:3:5。该方式可充分调动学生的积极性,让每个学生均参与其中。
在此基础上,院里可以组织系统设计大赛,课程设计的作品可以参赛,并把获奖作品上传到院系网站,让学生自己进行投票,评选出界面设计奖、功能奖、代码设计奖等奖项。
6.实践效果的评价与反思
在课程设计结束后要做好教学效果的反思工作,通过问卷、交谈、建议等方式了解学生的心得体会,[4]特别是在实践动手能力方面的收获以及不足之处,以便进行教学改革,逐步提高教学水平,达到更好地教学和实践效果。
三、总结
根据软件工程专业特色,对“数据库课程设计”实践教学环节的任务分配、题目设计、团队意识、软件工程观及考核模式等方面进行改革和研究。近几年的实践表明,改革后效果良好,提高了学生的实践能力,达到了课程设计的预期效果。
参考文献:
[1]何福保,道,胡开华.基于项目模拟实训的“数据库课程设计”教学方法研究[J].福建电脑,2012,(1):31-32.
中图分类号:TP393文献标识码:A文章编号:1009-3044(2016)01-0023-02
数据库技术是现代软件类人才所必需的三大技能之一,在高校培养软件类人才的课程体系中,数据库原理课程占有举足轻重的地位[1]。数据库技术是一项应用最为广泛,发展最快的技术,几乎涉及所有的计算机应用领域[2]。特别是随着大数据技术的发展,数据库技术已经成为该技术的核心技术之一。而对应于传统的数据库原理课程设计,存在着重原理,轻应用,教学方法较为陈旧等不足[3]。很难适应应用型本科人才的培养目标。通过在数据库原理课程设计中,引入小组互助式教学方法[4],可以改善这些问题。采用小组合作教学模式,教学过程的所有环节以小组活动为核心,依靠小组成员积极的相互依赖关系,面对面的促进式互助来完成学习任务;以小组成绩为最终考核成绩,而非某个成员的成绩。本文探讨了小组互助式教学模式在数据库原理课程设计的运用。
1数据库原理课程设计中存在问题分析
近几年来,全国大多数的高等院校都进行了数据库原理课程设计的改革研究,并取得一定的成果,但数据库原理课程设计教学过程中存在以下不足。
1)重理论轻实践,大部分高校开设数据库原理这门课程存在着理论原理学时和课程设计上机实践学时分布不均衡的问题。也就是注重理论知识的讲授,忽略了学生动手能力的培养,这与应用型人才培养是相矛盾的。
2)课程设计工作量较小,只适合一人独立完成。这与现代软件开发是相抵触的,从软件工程学角度来讲,软件开发需要团队协作完成。
3)课程设计考核制度较为陈旧。传统的数据库课程设计考核,大多以学生所做数据库系统的前台实现情况和后台数据库设计两个方面进行考核。所做系统相对简单,与实际要求的技术水平有出入。不利于激发学生实践的主动性,应用型人才培养的目标也无法真正落到实处。
2小组互助式教学的实施
1)组建数据库原理课设小组
根据学生自选优先的选择,分成若干小组。各小组组建后,求小组成员推荐组长。老师布置好课程设计任务后,学生根据要求开会讨论确定实施方案。有组长牵头实施,统筹全局,并将课程设计任务分解,分配到各小组成员手中。按照相应的工作内容,将小组成员划分为需求分析、概要设计、数据库设计、详细设计等工作的负责人。也就是每个人负责组织在不同阶段的实施内容,例如召集例会讨论、调研、设计等工作。每个小组成员,并不意味着完成自己的相应工作就完成了,也要参与到其他环节中去。
2)数据库原理课程设计题目的选取
根据所学数据库原理知识,根据所给题目,进行数据库设计,选择SQLServer数据库管理系统作为后台开发工具。结合所学面向对象编程知识,选择合适面向对象程序设计语言作为前台开发工具。设计一个数据库应用系统,一般以中型题目为宜,能够对数据进行录入、编辑、修改、删除、添加、浏览等功能。教师规定学生可以从学生成绩管理子系统、课程管理子系统、图书管理子系统、通讯录子系统、教室管理子系统、宿舍管理子系统、个人事务管理子系统,库房入库出库管理子系统进行选取,也可小组自拟题目,但工作量必须由指导教师进行审核。对于题目,教师鼓励小组自拟题目,因为这样学生才能选取与实际项目相近的题目,提高学生的课程设计的兴趣。
3)课设中实施
指导教师,要对各小组的工作进行整体监控。在课设的前期准备工作中,参与到各小组的课设讨论中去,给予相应的开发建议。通过小组间的竞争,点燃各小组的课设工作的热情,激发学生的数据库设计工作的欲望。当各小组进入到课程设计实施过程中时,要进行必要的指导,省得学生走弯路。课程设计环节对学生技能的提升来说非常重要,它能提升学生的设计能力和创新能力。学生在课设的实施环节中,按照小组进行,由组长统筹安排。依据数据库设计的工作流程进行开发,做到人员分工明确,以团队形式进行课程设计工作。课程设计结束后,要以小组为单位进行公开答辩,小组各成员表述自己设计的理念和实施方案,小组成员的结构和分工,遇到问题及解决方案等,由指导教师和各小组组长作为评委进行考核。这样有利于,增强学生的沟通能力,也提高了学生的社交能力和数据库原理实践能力,还培养了学生的团队精神。并且教师在整个过程中,既是主导者又是参与者,融洽了师生关系。
4)课设的总结
答辩结束后,各小组长要代表本组进行总结,主要总结课设过程中存在的不足,以及从其他组学习来的经验,还有对本组课设内容怎么进行完善等。最后教师对每组进一步的点评,包括各组的优缺点,课设中存在的共性和个性问题等。
3小组互助式在课设工作中的优势和不足
小组互助式进行数据库课设工作,是以小组为主导,教师为辅助的一种课设教学方式。比以教师为主导的程序要复杂,但学生在参与热情上明显提升。比较优秀的学生通过此进程,可以提高自身理论实践的水平;中低层次的学生,可以通过与小组其他成员学习,增加自己的学习兴趣。这种方式,给予每名同学展现自我的平等机会,更有利于个体的发展。当一个小组中,责任不清晰,工作不平衡时,会导致课设工作要集中到一两个人的手中,导致其他学生产生不劳而获的状态。所以,指导教师,要监控整个课设活动,积极进行巡查督导,发现问题,解决问题。
4结论
本文分析了数据库原理课程设计中存在的一些问题,并进行了分析,提出了一种基于小组互助式的数据库原理课程设计的实施方案。该方案,为学生的想象力、创造力的发挥提供了平台,也为将来的团队式软件开发工作打下了坚实基础。为数据库原理课程设计和其他实践能力要求比较强的实践教学环节,提供了相应指导。
参考文献:
[1]杨进,郑先荣,唐德玉.数据库课程教学改革探讨与实践[J].教改创新,2011(32):136-137.
[2]王珊,萨师煊.数据库原理概论[M].北京:高等教育出版社,2006.
[3]韩秋英,朱变,张少辉.地方师范院校数据库原理课程教学改革与实践探索[J].周口师范学院学报,2014(31-2):141-142.
中图分类号:G434
文献标志码:A
文章编号:1002-0845(2007)05-0106-02
一、引言
随着信息社会的到来,既掌握专业技能又具有计算机应用能力的人越来越来受到欢迎。为了适应社会的发展,必须培养既熟悉专业又能把计算机技术同各领域的专业需要紧密结合的复合型人才。数据库技术成为高校各学科专业的必修或选修课程。数据库课程设计一般是大学三年级学生在学完计算机应用基础、计算机编程语言、办公自动化软件基础、数据库原理与应用等课程后进行的集中实践环节,主要内容是通过社会调查,选择一个实际课题,完成数据库应用系统设计工作,课程结束后提交应用软件系统和课程设计报告。通过课程设计,可以使学生较全面地理解、掌握和综合运用所学知识,培养学生调查研究,查阅技术文献、资料以及编写技术文献的能力。非计算机专业学生对于计算机类的课程通常有一定的畏惧感,尤其对计算机语言、编程等,觉得难以驾驭和掌握。如何让学生通过数据库课程设计,使他们的各方面能力得到培养和锻炼,一直是值得思考的课题。本文结合教学实践,就教学内容、教学手段、考核方式、课程管理等方面进行初步探索。
二、课程设计的目标、内容及要求
教师应了解学生以往所学过的计算机相关课程,注意课程的衔接,分析非计算机专业学生已经掌握的知识和知识的体系结构,明确数据库课程设计的教学目标、内容及课程设计要求,对需要加强或充实的内容要重点讲解和补充。数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用要求,包括数据库的结构设计(数据静态模型的设计)和数据库的行为设计(应用软件等的设计)。学生应按照数据库结构设计的需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护这六个阶段,分阶段分步骤进行,完成每一个阶段的任务。根据软件工程的方法和理论进行应用程序的设计,熟练运用相关语言编制应用系统的界面,实现开发工具与数据查询语言的无缝连接,建立数据库应用系统。要求学生要提交课程设计报告、所开发的软件系统和程序清单。课程设计报告包括各阶段的设计内容和对所开发的应用系统的评价,以及课程设计的体会与建议。
为了发挥学生的主动性,教师授课的重点应放在系统化的开发步骤和关键性问题的求解上,首先要介绍设计思想、方法和程序设计的思想和方法。课程设计过程中教师要指导学生查资料,如数据库原理及应用,数据库系统,软件工程,管理信息系统等方面的书籍,同时要指导学生善用软件帮助系统,培养学生学会质疑、自学和调查研究解决问题的能力。针对在校学生接触实际比较少,没有实际开发软件和工作经验的特点,应精选有代表性的案例,从问题的提出、方案的设计与实施,到最终问题的解决,给学生全面了解解决问题的全过程。然后,由学生当主角,让学生自己解决问题,锻炼他们综合运用知识的能力。
三、课程设计的选题
选题是整个课程设计的前提和关键。课程设计题目选择的难易程度、范围的大小和是否能激发学生的学习热情,直接影响到这一实践教学环节的效果。一个好的题目应该符合以下原则:首先,要符合教学要求,使学生通过课程设计进一步巩固所学的专业知识,培养学生分析问题、解决问题的能力;其次,一个好的题目应该和实践紧密联系。理论来自于实践,又服务于实践。要贴近学生学习和生活实际,先选择容易开发的实用的数据库应用系统,对学生以后从事相关工作有帮助。脱离实践的题目往往激发不出学生的学习热情,达不到预期的目标。
首先,将学生分成若干个小组。分组的依据为:学生的学习成绩、知识结构、学习能力、性格特点、男女搭配等,遵循互补的原则,成绩好的与成绩差的搭配,性格内向的与外向的搭配等。每组人员为5~6名,每组设组长,全面负责小组的学习讨论和任务安排。在组长的指挥下,对成员进行分工,善于口头表达的负责联系工作和调查研究,计算机操作能力强的负责代码的编写,程序设计能力强的负责整体规划、程序调试和连编,写作能力强的负责技术文档的书写等,成员努力的成果与个体成员共同分享。教师只需提醒学生合理分配工作时间,注意小组成员之间的沟通,帮助把握进度。实践表明:在互相讨论又各自有所负责的学习氛围中,学生之间可以相互学习、取长补短,对知识的掌握与巩固有很大的帮助。
其次,各个小组通过讨论、观察、思考、查资料等方式,结合各个学生的特长,参考教师指定的范围选定课程设计题目,然后与教师进行交流。教师应对学生选定的题目进行批阅,在可行性、工作量大小、小组成员及题目意义等方面进行把关评估,及时将意见反馈给学生,学生再针对教师的意见进行调整,最终确定课程设计的选题。结合教学实践可以选择如下题目:客房管理系统、学籍管理系统、学校工资管理系统、科研项目管理系统、高校设备管理系统、档案管理系统、图书资料管理系统、教学成绩管理系统、后勤管理系统、系办管理系统、居委会管理系统、职工人事管理系统、宿舍管理系统等。
四、方案设计和方案实施
选定题目后,即可着手完成数据库课程设计的各个阶段的任务。首先,各小组应对所选题目进行分析,通过查阅资料、小组讨论、走访专家或社会调查等途径,进行调查研究和可行性分析。通过调查组织机构情况、业务活动情况、数据情况、用户要求,确定新系统的边界,完成系统需求分析。然后,采用实体联系模型确定应用程序中的实体和联系,确定实体的属性和实体之间联系的类型,得到局部E-R模型,异对局部E―R模型集成进行输入/输出设计和软件结构设计等,完成概念结构设计。接下来,实现E-R模型向关系模型的转化,利用关系规范化理论进行关系模式的优化,设计用户视图,同时进行界面设计,模块设计等,完成逻辑结构设计阶段的任务。再往下,进行物理设计和软件实施,最后是应用系统的集成与。小组成员在组长的领导下,可以分头完成各自负责的任务,小组成员要分工负责和团结协作。教师在指导课程设计过程中,可以设置几个检查点,制定阶段性任务。如根据课程内容、教学目的、系统规模、工作量等因素,审查各小组递交的初始设计方案,在设计方案的实现方法、表现形式等方面做出调整建议,以避免在方案实施过程中出现不必要的反复。
在课程设计过程中,提倡通过模仿来学习,只有多模仿才能掌握方法,才有可能创新。学生根据初始方案,通过各种途径查找与自己的题目类似的范例,通过模仿范例来实现自己的程序。有的学生在范例中看到自己感兴趣的内容,通过适当修改,将其应用到自己的程序中,使程序更合理,内容更丰富。学生在掌握了基本方法和解决问题的途径后,对自己感兴趣的内容,自然愿意努力去寻找答案。学生在方案设计、修改、实施的过程中不断发现问题与解决问题,逐步产生了学习的乐趣。为了避免在分组的实验、设计中有的同学不积极参与的现象,可以采用随机抽查的办法来考核小组的成绩,促使小组内部互相监督、互相帮助、互相学习,有利于培养学生学习的积极性,提高教学效果。
数据库课程设计中实验是重要的组成部分,教师要详细布置实验,制订上机纪律,并且督促学生严格按照课程设计各阶段工作要求操作。实验可以参考以下内容安排:(1)建立数据库。包括创建数据库,创建表,建立字段和记录的有效性约束,建立索引,创建表间关系和触发器设计等。(2)使用表单操纵数据库。包括设计表单,创建表单,为表单添加对象,定义表单及其对象的属性、事件和方法。(3)设计用户视图。包括创建不同的用户视图,实现用视图来控制更新数据库中的数据的目的。(4)设计报表。包括创建报表,打印和预览报表,注意各个带区的使用。(5)设计菜单系统。包括规划菜单系统,创建菜单及其子菜单,为菜单指定任务,调试和使用菜单系统。(6)项目集成。包括使用项目管理器集成数据库、表单、视图、报表等数据库对象,设置主控程序,编译和发行软件等。
五、课程设计的考核与评定
学生在课程设计结束后,不仅要提交软件系统,还要提交课程设计报告,阐述其设计思路、运用的知识及自己的体会。课程设计的成绩由以下几部分组成:考勤占10分,平时抽查和提问题情况占10分,课程设计报告占30分,软件系统设计占30分,演示与答辩占20分。课程设计报告主要看各个部分的完备性,分析的透彻性和独到的见解。在评分方式上采取自评和互评的方式,首先由各小组依据教师给出的评价标准给本小组打分,然后由每组各选一名代表给大家介绍系统开发的情况并演示系统,同时回答学生和教师提出的问题。所有小组代表陈述完后,由各组分组讨论,对其它组开发的系统进行评价和评分。最后由教师根据其自评、互评分数结合实际情况(包括软件开发水平、演示能力、回答问题能力、软件开发文档等)适当总结并公布成绩。
为有效避免学生在课程设计过程中的抄袭现象,教师可以对学生进行有针对性地提问,学生当场解答;教师也可以采取删除软件中一些关键性语句由学生当场调试的方法检查学生的学习效果。通过评价和自我评价,学生的学习主体意识得到充分体现和加强,激发了学生发现、分析和解决实际问题的学习积极性,不仅提高了学生运用数据库理论开发出具有实际应用价值的数据库应用系统的能力,而且学生思考和解决实际问题的能力也有了较大提高。
六、结束语
课程设计是一种学习、实践、探索和创新相结合的综合教学,是高等学校培养人才的重要教育教学环节。通过近年来课程设计的指导实践.笔者深切地体会到,正确合适的选题、恰到好处的指导、学生积极性的调动、科学的评价手段及课程设计规范化管理等对提高课程设计质量是至关重要的。实践证明,课程设计大大激发了学生的学习兴趣,促使学生将所学的课程知识运用到实践中去,使学生对所学的知识融会贯通,巩固加深。课程设计培养了学生的团队意识和协作精神,增强了学生的创新意识,提高了学生的创新能力。
参考文献:
中图分类号:G4
文献标识码:A
doi:10.19311/ki.1672-3198.2017.08.080
1 研究背景
《数据库原理及应用》课程是一门理论与实践结合紧密的计算机专业基础课程,分为理论与应用两部分。《数据库课程设计》是与此课程配套的实践课程,对原理的理论教学起着重要的辅助作用。它的教学目标要求学生掌握数据库设计的步骤,将软件工程思想与其结合最终完成应用系统的开发设计。目前在教学过程中两门课程往往作为独立的教学课程完成授课,关联性差,存在弊端,影响了实际教学效果,如何切实有效的将二者结合迫在眉睫。
2 存在问题
《数据库原理及应用》课程理论知识点抽象,课程的实验一般为验证性实验。由于验证性实验的内容来源于理论知识点,每个实验要根据教材各知识点来安排,但教材又受到本身系统性的约束,所以这样使得各实验内容相对孤立缺乏连贯性,学生只能针对各知识点进行专项练习。这种教学方法表面上看似乎符合计算机课程理论与实际相结合的要求,但却存在很大的弊端,学生仅学会了简单“复制”课本知识点,没有从本质上理解所学的知识,只知道按要求去做但没有深入思考为什么要这样去做,因此根本谈不上对学生的创新性思维和综合运用能力的培养。由于理论知识过于抽象,各知识点涉及的实验比较孤立,相关性差,学生缺少系统化设计思路,导致学与用的脱节。学生完成了一个学期的实验之后,对于每个单一的知识点虽然有了一定程度的掌握,对知识点的综合应用没有掌握,对创建一个功能完善的数据库系统一无所知。
《数据库课程设计》是《数据库原理及应用》的实践课,要求学生掌握数据库系统的设计过程,利用原理课程中各分散知识串联成为一个整体,在设计过程中掌握抽象的理论概念,达到对知识的灵活运用。但由于课程设计学时只有一周,面对庞大的数据库设计任务,时间紧任务重很多学生采取敷衍了事的态度,没有认真分析课题,没有考虑原理和课程设计这两门课的联系,无法灵活的将理论知识点转化为相应的功能操作,甚至产生了抄袭的行为,失去了课程设计这门课开设的意义。
3 解决方案
为解决两门课程学习过程中出现的弊端,采用将原理课程与课程设计任务相结合的教学模式。
对于数据库理论知识点抽象单一,实验内容孤立的问题,教师可以根据课程设计的内容要求,挑选优化的与有代表性的项目,从基本概念到课程设计要求由浅入深分步讲解,使学生全面掌握数据库开发过程的整个流程。教学中采用开放式方式,提高学生的自主性与创造性学习。
一直以来,数据库课程设计中因为时间紧课时少,大多数教师采用固定题目供学生使用,这样可以提高教师对课题的指导效率,但学生对教学内容掌握情况参差不齐,导致学生对所学内容不能很好掌握。针对这种情况可以采用分层教学,以“需求”为导向,将任务划分为多个模块,对每一模块提出具体的实验要求,根据学生情况进行分组选择,挑选实力相当的任务模块,在学生完成任务的过程中,教师指出理论课程中与完成各模块任务相关的章节位置,进行基础理论的讲解,将各个单一的知识点串联起来。学生则根据学习的各个知识点及其对应的各个验证性实验,与课程设计要求完成的功能任务一一对应,分阶段完成课程设计的任务。在实验操作过程中要符合教学要求,巩固专业知识,培养学生对问题的分析、解决和综合运用能力。学生在开发过程中产生的问题,教师可以采用针对性引导的方式,引导学生从课本中找到对应知识点,改进设计方法,发现问题本质,实现对稻菘饫砺壑识的真正领悟,以及完成理论指导课程实践,课程实践应用和完善理论知识的作用。
4 教学效果
数据库原理与课程设计任务相结合的教学方法,是在传统单一的教学方法中结合了项目教学方法,通过解决基础理论课程中抽象知识点和孤立实验任务,以及课程设计中庞大而复杂的数据库开发过程为主要目标,在课程设计项目操作实施过程中完成了基础理论知识的教学任务,实现了课程的教学要求和目标。这种相结合的新型教学模式较之前的单一使用传统教学方法更侧重于学生学习兴趣及实践操作能力的培养,在教学过程中以学生为主体,教师为主导,设计任务为主线,充分调动了学生的主观积极性,开阔了学生的思路。
以理论和实践相结合的教学路线,合理的教学计划、优化的课程设计案例,渐进的交互体系等方式提高学生解决问题的能力,培养学生逐渐建立优良的系统分析设计理念,锻炼学生的实际操作能力,可以学以致用,具有积极的作用。
5 总结
本文针对数据库理论及数据库课程设计的教学内容和方法进行了深入探索,对当前学生数据库理论知识掌握程度与课程设计操作实践需求之间存在的差距进行了分析研究,根据现阶段理论课程的教学模式,从课程设计的案例出发,将二者有效的结合起来,激发了学生的学习兴趣。有效的促进了学生学习质量的提高和数据库相关课程的整体水平。
参考文献
中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2013)38-0054-02
《数据库应用技术》课程由早期的dBASE数据库系统发展而来,随后是更强功能的Foxbase。在Windows系统普及以后,教学内容转向基于Windows平台的Foxpro2.5,目前仍有不少高校讲授Visual Foxpro 6.0。随着微软Office系列办公自动化软件的流行,很多院校开始转向Office系列中的Access数据库管理系统。《数据库应用技术》课程是普通高校非计算机专业计算机基础教学指定的课程之一,也是笔者所在的学校文科类计算机基础必修课程。
一、当前教学现状及存在问题
大多数普通高等学校都开设了《数据库应用技术》这门课程,但由于教学内容与实际应用联系不够紧密,教学方法不够灵活,导致学生学习状态不佳,学习目的不明确,学习效果不理想。学生在学完这门课程后,不知道所学习的东西有什么用,在实际应用时也就无从下手。在教授《数据库应用技术》这门课程的过程中,存在的问题主要有如下几个方面。
1.教学及教材内容陈旧。前些年的《数据库应用技术》教材主要以关系数据库Visual FoxPro为例,介绍数据库的基本概念、基本操作及数据库编程,由于教材编写时间相对较早,其中的许多数据库理论和技术在实际应用中很少被采纳,另一方面,教材中过多数据库操作和程序设计命令对没有计算机编程基础的学生来说难以理解和接受。
2.实践教学环节薄弱。目前实验课教学存在很多问题,如学生实验目的不明确,实验内容不全面、并且大多是验证性的实验,缺乏应用性和创造性。用于课程设计的时间短,课程设计的题目和内容大多仿照教材和相应参考书上的实例,有些学生为了完成任务,甚至互相拷贝修改,没有亲身经历数据库应用系统开发的全过程,如:系统调查与需求分析、系统概要设计、系统详细设计、系统测试等环节。
3.课程考核方式单一。课程考核方式一般是考试或课程设计(大作业)。单一的考核方式不能全面体现学生的能力。考试不管是卷面形式还是机试,都容易导致学生死记硬背知识的现象,不能灵活运用所学的知识。课程设计或大作业一般只上交系统的课程设计说明书和开发的应用系统,这种方式难以避免学生相互复制、滥竽充数。
二、课程改革
1.精心设计教学内容,编写教材。在课程内容设计上,目前大致有两种类型:一种侧重数据库理论,另一种偏向数据库基本应用。前一种主要着眼于培养学生数据库理论素养,但这对非计算机专业的学生来说,有“本末倒置”之嫌;后一种虽然着眼于“学以致用”,但要么教学过程以比较陈旧的实例作为素材,要么实验内容设计得过于复杂和费解。结合学校应用型人才培养方案和目标,在总结多年教学经验的基础上,我们长期从事《数据库应用技术》教学第一线的教师重新编写了新的教材。教材选用Access数据库管理系统作为教学示例软件,用案例驱动的方法组织编写,全书以一个完整的数据库应用系统案例“学生信息管理系统”为基础,通过一个个操作实例,详细介绍Access数据库对象的操作方法及开发数据库应用系统的完整过程。
2.采用案例驱动教学。案例的设计和选择对于案例驱动教学的效果很关键。教师设计案例时,在把握教学内容的前提下,从教授学生基础和所学专业出发,尽量设计一些符合学生认知、难度适中的案例。案例设计贯穿前后教学内容,讲授演示时要注意引导学生分析问题、思考问题、发现问题,从而实现知识的扩展。案例教学中引入学生的成果,挑选出历年学生设计的优秀项目,在教学中演示给学生观看,激发学生的学习热情。演示过程时分析项目的设计思路和实现方法,从而引出该项目中涉及的知识点和采用的数据库技术,启发学生对别人项目进行完善和扩展,达到知识融会贯通和创新能力的培养。
3.加强实践教学,编写配套实验教材。《数据库应用技术》是一门实践性很强的课程,学生通过上机实验理解和巩固课堂教学内容。为提高实验效率、达到事半功倍的效果,我们编写了配套实验指导教材,内容包括与主教材各章节配套的实验和习题,每个实验包含实验目的、实验要求及实验步骤,注重实践能力的培养,而且每个实验后面还有实验练习,注重学生独立思考和独立解决问题能力的培养。在整个教学过程中,课堂教学和实验教学各占一半,在上机实验过程中,教师不仅能及时发现学生学习中存在的问题,从而动态地调节课堂教学的内容和进度,还能培养学生利用计算机解决实际问题的能力。
4.重视课程设计。课程设计是整个教学活动的总结,通过课程设计让学生对本课程内容进行系统归纳并应用于实际生活中。根据学生的实际情况,我们采用分组课程设计,每组3~4人。分组的目的是为了培养学生团队合作能力,互相取长补短。课程设计题目可以由教师推荐,也可以由学生自拟。题目的范围不限,可以结合专业或兴趣及学习生活的需要。为了避免学生互相拷贝、不劳而获,同时也为了让每位同学都得到锻炼的机会,要求每组题目不准重复。学生根据课程设计要求,组长分配任务,按照各自具体的任务进度独立完成,在整个项目设计过程中学生是主导者。任务完成后,以组为单位,每组一位同学进行项目答辩,在答辩的过程中,教师提问,学生解答。最后上交已测试可运行的数据库应用系统和课程设计说明书。根据课程设计说明书的质量、课程设计过程中的工作态度、项目答辩情况等综合给学生打分。
5.完善考核制度,重视能力培养。《数据库应用技术》这门课程要求学生既要掌握一定的理论知识,也要熟练运用一种数据库管理系统软件。传统的卷面考试会导致学生死记硬背,出现“高分低能”的现象,这与该课程应用型人才培养目标相悖。为了应用型人才的培养及全面测试学生的能力,我们采用多样化的考核方式。对课堂教学和上机实验采用机考和通过教学平台上交实验作业的考核方式;针对课程设计采用项目答辩的考核方式;以上两个方面按照5∶5的比例,给出最终评定。实践证明,这种方法实施以后,学生那种临时应付和投机取巧的现象减少了,课堂学习效率提高了,教学效果和教学质量也有了明显的提高,从根本上解决了学生重理论、轻实践的问题。
经过多年的教学探索和实践,《数据库应用技术》课程实现了教学、实验、课程设计、课外教学的统一设计,明确了教师的责任由“教”变为“导”,激发了学生自主学习的积极性,培养了学生自主学习的意识和能力,为后续课程学习和实际应用打下了坚实的基础。
参考文献:
[1]梁华,陈振,张波.案例驱动的ACCESS程序设计教学改革[J].计算机教育,2011,(2)26-29.
关键词:课程设计;教学方法;考核手段;能力培养
中图分类号:G642
文献标识码:B
1引言
近年来,各高校越来越重视对学生实践能力的培养,各类课程设计在教学中所占的比重明显增加。对于计算机系的学生,尤其是以培养应用型人才为目标的独立学院的计算机系学生,开设各类课程设计课就显得尤为重要。
本文以数据库课程设计为例,介绍了在实际教学中所采用的教学计划、教学方法以及考核手段,通过对各个教学环节的分析和总结,探讨了如何在实践中培养学生的软件开发能力的方法。
2数据库课程设计教学计划
数据库技术是计算机最重要的应用领域之一,也是发展较快的领域之一。其应用早已渗透到各个行业,数据库系统的开发、管理与维护是计算机专业人员必须要掌握的基本技能。因此,对于计算机专业的学生来说,数据库原理通常都作为专业必修课。该课程完整、系统地讲述了当前数据库技术从基本原理到实践应用的主要内容,理论性、实用性和可操作性都较强。如果我们想单纯通过理论教学使学生既能掌握数据库技术的基本理论,又能掌握数据库设计和使用的方法,是比较困难的。因此在完成了理论教学之后,后续的数据库课程设计的安排是很关键的。
我系根据学生的实际情况,制定了相应的教学计划。要求选修数据库课程设计的同学必须先修数据库原理,具有程序设计的基础。课程的主要内容包括数据库设计概述、需求分析、概念结构设计、逻辑结构设计、数据库的物理设计、数据库的实施和数据库系统的管理维护。本课程以实践为主,教学目标是使学生能独立设计数据库应用系统,掌握数据库设计的过程和方法。根据本课程的特点,充分重视上机实践的环节,课程在机房上,有利于学生学习。要求以一种具体的DBMS 为主,学会C/S模式和B/S模式两种方法。
本课程安排在一个学期内,教学周数为18周,每周4学时。每周具体内容安排如表1。
3各阶段教学方法
由于各阶段的任务不同,要求也不相同,因此分阶段采用不同的教学方法,以一个学生熟悉的、容易理解的数据库项目开发过程为主线,贯穿整个教学过程,将相对枯燥的理论知识与实践联系起来。
题目选取阶段是数据库课程设计的初始阶段,也是决定能否达到教学目标的关键性阶段。如果题目选取得太大、太难,或者是学生不熟悉、很难接触到的领域,做起来太困难,会影响学生的积极性,势必会影响到后期的学习效果。而题目太简单,又达不到教学标准。因此在本阶段,采取教师提供参考题目,学生自主选择的方法。由于是完成一个较完整的项目,而且每个学生擅长的方向可能不一样,因此采用小组分工协作的方式。每组由三至四人组成,由一名组长负责,同组员研究确定开发题目以及任务分工。在小组讨论确定了题目之后,组内负责整理文档的同学要完成开题报告,上交指导教师。开题报告的关键内容包括选题理由以及开发环境的选取。教师根据开题报告整理出小组题目以及成员,并简要分析选题的难易程度。在第二周的开题讨论上让每小组派代表进行发言,大家分析讨论题目的可行性,对于选题不合理的,重新修改。这阶段可以充分调动学生的积极性,活跃大家的思维,实际教学效果良好,很多学生的选题都具有现实应用意义。
题目确定完之后,就要进行需求分析。很多学生认识不到这部分的重要性,选定题目后就想开始代码的编写工作,往往做了一半就进行不下去。因此教师在课堂上要通过实例充分讲解需求的分析重要性,讲解具体的需求分析方法,使学生理解需求分析是整个设计过程的基础,同时掌握基本的需求分析技能。在需求分析阶段,要尽可能收集课题的完备需求,可以利用不同小组互相模拟实际用户的形式,增加学生的交流能力和开发兴趣。在需求分析阶段,要完成系统的数据流图和数据字典。高质量的完成需求分析工作可以巩固学生在理论课上学到的数据流图、数据字典等基础理论知识,并提高学生的归纳总结能力。
确定用户需求后,进入系统设计阶段。系统设计阶段要完成应用系统的设计和数据库设计。应用系统的设计要完成课题应用软件的架构设计和具体功能模块的划分。数据库设计要结合应用系统的设计,逐步完成数据库的概念结构设计、逻辑结构设计和物理设计。概念结构设计阶段是整个数据库设计的关键,该阶段通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型;逻辑结构设计阶段要将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化;物理设计阶段要为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。数据库设计不但可以加深学生对ER图等理论知识的理解,还有助于提高学生的软件系统设计能力。
系统实现阶段,教师对采用的教学案例代码进行演示,针对不同的程序设计语言对数据库的连接部分进行讲解,并给出相应的示例代码。此阶段主要是学生动手编写代码,完成系统功能。具体程序设计语言没有限制,可自由选择。要指导学生编写高质量的代码,包括变量的命名方法、代码的书写规则、代码的注释规则等。这阶段教师可采用启发式教学,对于学生在设计中遇到的问题,要引
导他们学会查找资料,自己思考解决。作为计算机专业的学生,自学能力的培养是很重要的。
系统测试阶段,包括单元测试和集成测试。要指导学生进行测试用例的编写,掌握正确的测试方法。对于数据库系统,还要进行数据库的性能测试和容量测试。通过系统测试,使学生掌握正确的测试方法,有效提高软件的质量。
4考核方式
教师在每个阶段都会进行检查,对完成情况进行记录。开题阶段,要求学生以小组为单位,完成开题报告,并且每组的选题都要在课上进行讲解、讨论,确定选题是否合理。在需求分析阶段,要求每组上交需求分析文档。在接下来的系统设计、实现及测试阶段,要求学生详细记录设计思想、设计方法、实现过程及测试结果,整理出完整的课程设计报告书。在期末结课前,要求学生对所完成的系统进行现场演示,教师及在场学生均可对其设计方法及功能进行提问。最后由教师综合考虑以下几方面的因素,给出总评成绩,包括文档的完成情况、开发环境的选取、系统功能实现情况、用户界面的设计以及现场演示答辩的效果。通过以上方式,较综合、客观地评价了学生的文字及语言的表达能力以及系统设计、程序开发的能力。
5结束语
教学实践表明,这种形式的数据库课程设计,可以使学生有效地巩固对基础理论知识的掌握,可以使学生系统地了解软件开发流程,提高学生的软件工程化开发能力,增强学生的就业竞争力,并且可以建立学生的团队意识,提高学生的交流和协作能力。
参考文献:
[1] 胡颖. 关于提高课程设计教学效果的措施[J]. 职业教育研究,2006.
[2] 邵浩然. 数据库原理课程教学改革探讨[J]. 计算机教育,2007.
中图分类号:G642 文献标识码:B
1引言
随着计算机应用系统在各行各业的普遍应用,数据库技术在计算机应用领域中显示出越来越重要的地位,特别是数据仓库、数据挖掘、决策支持系统、ERP系统、CRM等系统的成功实施和应用,使企业深刻体会到数据就是财富。企业的发展方向、市场的商机、管理中的漏洞等重要的信息就存储在企业数据中,而数据库是目前存储数据的主要方式。因此,数据库建设已成为衡量企业、政府部门信息化建设的重要标志之一,例如我国电子政务一期工程建设方案中,确定“十五”期间重点建设的四大基础性、战略性资源数据库――“人口基础信息库”、“法人单位基础信息库”、“自然资源和空间地理基础信息库”、“宏观经济信息数据库”。从计算机行业对从业人员的技能要求情况看,不论是软件开发、系统维护、网站建设,还是多媒体技术应用、电子商务应用、信息管理与应用等方向,都对数据库技术的掌握提出不同程度的要求。
为满足目前市场对人才的需求,各高校、各层次计算机专业,甚至有些非计算机专业如会计、统计等专业都开设数据库课程。在数据库教学中不但强调理论学习,实践也给予了一定的重视。但是,目前高职高专院校开设的“数据库原理及应用”课程在教学中还存在如下需要改进之处:(1)教学内容方面:过多的强调数据库原理、知识体系的教学,学生学习该课的兴趣不浓;(2)数据库理论与应用脱节,学生感觉不到理论有什么用处;(3)学生课上和课下的学习无法很好地贯通,学生课上所学的数据库的方法、技术在课后没有得到很好的练习和巩固。
本文针对这些问题,主要从课程内容体系、教学模式、理论知识教学和考核方式四个方面进行了一些大胆的尝试,以下是一些经验和体会与同仁分享。
2构建合理的课程内容体系
数据库技术是计算机领域发展最快、应用最广的技术
之一,数据库技术是计算机工程技术人员必备的知识和技能。数据库技术已呈现出与多种学科结合;与其他新兴技术互相渗透。能否在变换快速的数据库技术中把最有用的知识和技能传授给学生是任课教师的一种新的挑战,这就决定了构建合理的课程内容体系的重要地位和作用。
2.1课程内容构建的指导思想
我们通过广泛的调研,建立了如下数据库课程内容构建的指导思想:以“实践、综合和应用”为核心,以培养学生使用数据库管理系统解决实际问题的能力为宗旨,重点培养学生分析、解决实际问题的能力。根据课程内容构建的指导思想,在内容选取上遵从如下原则:(1)理论与实践相结合;(2)以基础知识为主,适当拓展高新知识;(3)加强系统性、完整性;(4)实用性和可操作性。
2.2课程内容体系
根据课程内容构建的指导思想,我们采用以讲授SQL Server 数据库管理系统为主,讲授数据库原理为辅的方式精心规划了适合高职学生的课程内容体系,内容分基本技能、优化与拓展、开发与编程和课程设计四大模块,数据库课程内容体系如图1所示。
(1) 基本技能:主要介绍SQL Server数据库的安装、数据库创建、SQL,数据库管理等基本技能,要求学生熟练掌握和应用,共20学时。
(2) 优化和拓展:介绍索引、完整性、存储过程、触发器、数据备份与恢复、系统安全管理技能,这些技能是为了进一步提高系统的运行效率和安全性,共38学时。
(3) 开发和编程:简要介绍数据库管理系统开发的优秀工具PowerBuilder,要求学生主要掌握PowerBuilder与SQLServer数据库的连接和PowerBuilder的基本使用,共8学时。
(4) 课程设计:主要利用PowerBuilder和SQL Server数据库完成一个简单数据库管理系统的开发,三个学生一组,一周时间,共30学时。
3任务驱动的教学模式
整个“数据库原理及应用”课程的教学是以任务驱动为主,适当以案例的方式补充原理知识。课程的总任务就是开发一个学生管理信息系统,当然,开发的重点在于建立一个数据库,为实现这个目标整过教学由16个大任务和两个案例组成(如图2)。
完成了这16项任务也就实现了数据库课程的教学目的。每一个任务教学我们按如下时间顺序安排:(1)教师提出本节的任务;(2)讲解完成任务的方法和步骤;(3)学生练习;(4)提出针对异常情况的处理技巧,学生练习异常处理技巧;(5)以学生为主体独立完成任务;(6)教师总结完成任务情况及注意事项。
4任务过程中渗透数据库理论知识
“数据库原理及应用”的教学是令人头痛的一件事情,特别是数据库的三范式理论,是数据库课程中的必讲内容,但许多同学反映很难理解,有的费了很大功夫记住了三范式的定义,但在实际中却不会使用,或很少自觉的使用。我们在多年的实践教学中发现,数据库理论虽然很重要,但在课堂教学设计中不应当把它当成重点,应当看作解决问题的辅助工具。当学生掌握了创建学生数据库、表、记录的插入、删除等方法时,引导学生创建其它领域的数据库,学生马上就意识到创建数据库的语句并不困难,难的是如何知道表结构,这时我们再告诉学生解决这个问题有一个很好的理论指导――数据库三范式,然后以案例的方式介绍三范式理论,等学生掌握理论后再引导学生用学过的理论解决前面的问题。这样学生就感觉不到在学无用的理论,而是和老师在一起解决问题,在完成任务中,数据库理论起指导作用。这种把理论溶于实际问题的教学方法对教师提出了很高的要求,老师必须做到:提前熟悉教材全部内容和学生基本情况;有数据库应用系统开发经历;进行设计教学任务,把数据库基本理论融入合适的任务当中去。
5提高课程设计在考核中所占比例
课程设计是“数据库原理及应用”课程内容的一部分,主要目的时对所学数据知识、技能、方法的全面应用、总结和提高。课程设计时间为一周,我们对课程设计同样做到精心规划:(1)老师提前选好题目(10~15个题目),对每个题目都给出详细的说明和要求,包括评分标准;(2)在老师指导下对学生分组,确定小组长和选定小组题目;(3)开始做课程设计,小组内可以讨论和分工,老师巡视并指导;(4)每组推选一名同学讲解自己的课程设计,并回答老师的提问(小组任成员都可以回答);(5)老师评出课程设计的成绩,成绩占该课程成绩的70%。
6结束语
本文针对“数据库原理及应用”课程存在的问题进行了探讨,提出了从课程内容的选择、任务驱动的教学模式、任务过程中渗透数据库理论知识和改进考核方式四个方面的教学改革,并已付诸实施,已在课程的教学中取得较好的教学效果。然而数据库原理及应用课程的教学改革探索之路是无止境的,任课教师只有坚持学习与探索,才能不断的提高课程教学质量和效果。
参考文献:
中图分类号:G642文献标识码:A文章编号:1009-3044(2008)19-30082-02
Exploration of " Programming" Teaching Methods
JIN Ming-xia
(Zhejiang Yuying College of Vocational Technology, Hangzhou 310018, China)
Abstract: At present the institutions of the most computer professional set up rogramming courses, the paper from the course preparation、teaching methods、practice teaching、curriculum design and other aspects sum up how to the better development of programming courses teaching methods.
Key words: ; Programming; Course leader; Teaching Methods; Assessment methods
1 引言
是面向下一代企业级Web应用程序的开发平台,是建立在框架通用语言运行环境上的编程框架,可用于在服务器上生成功能强大的Web应用程序。与以前的Web开发模型相比,具有开发效率高、使用简单快捷、管理更简便、全新的语言支持以及清晰的程序结构等优点。自Microsoft公司推出以来得到了广大编程爱好者的喜爱,是目前主流的网络编程语言之一。当前各院校的计算机专业大都开设了程序设计课程,如何更好的开展程序设计课程的教学是一个值得探讨的问题。实践课程教学要取得好的效果,应该从课程准备、教学方法、实验和实训环节、课程设计等方面进行考虑。
2 课程准备
程序设计课程包含的内容很多,在教学过程中,首先要向学生介绍计算机网络的一般知识及Web体系结构,然后是HTML超文本标记语言,接下来便是或C#语言;数据库操作是程序设计课程中很重要的一部分内容,因此还要向学生介绍数据库的知识及操作,但是由于课程课时的设置以及课程重点难点知识点的设置,教学过程中不可能安排太多的课时讲授这些内容。我校在开设该课程前,静态网页制作、程序设计、SQL Server2000、网站规划与设计等课程相继开设完毕,学生有一定的编程基础,程序设计课程相关的知识又有一定的掌握,再经过一学期的该课程的学习,绝大多数学生的动态网页制作技术都有明显的提高。
3 教学方法
针对高职学生的特点,为了更好地培养学生应用开发能力,我在本课程教学中采用了案例教学方法,教学过程的设计采用全程案例驱动的教学模式。首先要根据课程目标选取一个典型且功能完善的案例,该案例能覆盖课程的主要知识点。课堂教学中模拟软件项目的开发流程,将这个案例作为开发任务,并且将该案例以模块化方式贯穿整个教学,使学生体验使用开发基于WEB的应用程序的实际过程,突出课程的综合能力训练、职业能力培养,达到专业培养目标所必需的知识和能力。
3.1 教学目标分析
程序设计的教学目标是:让学生掌握基本的技术、基本的数据库访问技术以及WEB应用程序开发的基本方法。在此基础上,培养基本的网站应用开发技能,形成良好的编程习惯,提高学生的职业素养。因此,程序设计课程的主要教学单元是:一、HTML语言基础;二、语法基础;三、HTML控件和WEB控件;四、其它控件;五、常用内置对象;六、数据库访问技术。其中,前五个单元是介绍的主要技术,第六单元数据库访问技术是课程的重点和难点。
3.2 综合案例提出
提出学生感兴趣、贴近他们生活的案例可以充分调动学生参与项目设计与开发的热情,激发学生的求知欲望及学习兴趣,在融洽和谐的情境中获得良好的教学效果。课程选用了与学生学习密切相关的学生选课系统作为案例,在这个系统中学生作为系统的主角,可以从自身的角度出发,提出系统的需求,为案例的具体实施作铺垫。
3.3 案例模块化分解
合理分解案例是本课程教学的关键,我们将上述案例分成项目模块,再将模块分解成子模块,直到每个小模块可通过各个知识点来解决。通过模块分解,就将一个综合案例划分成了相对容易的小模块,这样既可以树立学生完成任务的信心,又能使教学过程得以顺利开展。
根据案例的实际情况,我们将案例分成了四个大模块,并将这四大模块又分解成了30多个具体的小模块,在课程教学和实验教学中逐一解决。具体的项目模块划分如下:
3.3.1 HTML语言设计的页面布局
对应“页面布局”模块,主要知识点:常用的HTML标记。
这是案例教学的启动阶段,和学生一起分析学生选课系统需要哪些功能,让学生对案例有个全局
认识,并了解教学的总体目标。然后根据分析结果给学生演示如何设计系统的静态首页,在首页的制作过程中,介绍并字体标记、表格标记以及超链接标记等多种标记的使用。
3.3.2 WEB控件设计的用户窗体
对应“窗体控件设计”模块,主要知识点:基本语法、常用的控件。
在这一部分,我们引导学生在原来设计好的静态页面基础上,利用中的控件,往各页面窗体添加控件,比如该系统的用户登录页面,添加控件加入代码后,让用户登录窗体能够对于输入的用户名给出友好的问候信息。这样,学生不仅熟悉了HTML控件和WEB控件,而且体会到了网页是如何“动”起来的,形象地建立起了动态网页的概念。同时,用户登录窗体的内容更加丰富,用户登录窗体中不仅可以有文本的输入用户名及密码的功能,还以具有单选、多选和下拉菜单等多种输入方式用于提交输入用户资料。
3.3.3 用户窗体与数据的连接
对应“数据库访问”模块。主要知识点:常用内置对象、及数据库访问基础。
在前面设计的登录功能中,用户名和密码都是事先设置在程序代码中,这样的登录检查不具备实用性。学生也会怀有这样的疑问。针对这个问题,在“访问数据库”一章中,引导学生建立合法用户的数据库记录,并利用数据库访问技术,从数据库的合法用户表中检索是否存在登录用户的信息。
这部分内容在本课程教学中是关键的一步。通过新知识点的应用,检查用户登录的功能有了质的提升。用户名和密码的检测不再是程序中事先在代码中事先设定的,而是通过对象连接到后台数据库,查找用户名表中是否有输入用户的记录,如果有,说明是合法用户,登录成功,并转到一个新网页中;若没找到相应的记录,则说明是非法用户,给出相应提示。这样,通过采用数据库访问技术,用户登录窗体对于事先在用户名表中记录的合法用户,都能检验通过。相对于原来仅能检验固定用户的情形来说.新的用户登录窗体的功能得到了很大加强。
3.3.4 用户窗体数据的查看
对应“数据查看”模块。主要知识点:数据绑定及数据显示控件Data Grid、Repeater。
这是案例的最后功能部分,也是教学的最后一部分内容。经过前面模块的操作,学生已经不断提升了案例的功能,在最后这部分,主要是完成各类数据的显示、查询、插入和删除。学生需要做的工作是在前面模块对数据库连接和检索技术的基础上,进一步通过SQL命令来完成学生信息表、成绩表等表的处理,并利用数据绑定技术,将需要的结果通过典型的数据显示控件显示出来。
4 实验和实训环节
程序设计课程是一门实践性非常强的职业技能课,其实践教学环节是实现本课程培养目标的关键因素,为此,在实践教学的设计上,始终贯彻“以学生为主体,以能力培养为目标”的指导思想,充分体现以职业能力,创新能力和就业能力培养为中心的设计思路。整个实践教学设计分成四个阶段:导入阶段模拟阶段实战演习阶段总结提高阶段。在导入阶段,选取合适的实例,通过 Flash 动画或多媒体教学手段来确立目标,激发兴趣;模拟阶段将实践教学设计按任务分解成若干个教学模块,实行分阶段、分层次、循序渐进的能力培养模式组织教学内容。通过“教师做,学生模拟” ,实现从概念的理解到实际编程的转变;实践演练阶段则配备相应的实战演习项目,使学生能牢固的掌握相关的技术,对知识有一个基本的感知与理解;总结提高阶段对所学理论与技能的一个总结提炼,并提供综合多知识点的项目,供能力强的学生练习,实现分层次教学。
5 课程设计
在学习过程中,学生建立起来的知识往往是零散的,通过课程设计,学生能将一学期学到的知识结合起来,提高他们的综合应用能力。课程设计的选题很重要,选题要符合学生的实际水平。选题太难,会打击学生的积极性和信心;选题太简单也不利于学生水平的提高。学生基础和水平参差不齐,因此,在制定课程设计时,指定不同难度的题目,由学生根据自己的实际水平和兴趣来选定。比如,在课程设计中,制定了3个题目:用户注册系统、婚纱摄影网站制作、小型航空公司订票系统。实际上后两个题目已包含了用户注册功能,学得较好和对自己要求较高的学生,他们更乐于选择后面两个题目。在平时的授课中,应灌输一些系统设计和开发的思想、方法和技巧给学生。在课程设计阶段,先详细讲述网站应用系统开发的步骤和过程:需求分析、数据建模、技术架构的选择、界面设计、编写代码、调试。课程设计完成,使学生掌握较系统、较完整的设计方法。
6 考核方式
学生在课程设计结束后,不仅要提交课程设计报告及软件,还要对软件进行讲解,教师有针对性地对系统中的关键设计问题提出问题,学生当场解答;或者教师删除软件中一些关键性语句要学生当场调试。通过这些环节可以有效的避免学生在课程设计中出现抄袭情况。
7 结束语
以上讲述了程序设计课程的一些教学体会,通过在实际教学过程中的实践,取得了很好的教学效果。
参考文献:
系列教材由《C程序设计基础课程设计》、《软件工程课程设计》、《数据结构课程设计》、《数值分析课程设计》、《编译原理课程设计》、《逻辑与计算机设计基础实验教程与课程设计》、《操作系统课程设计》、《数据库课程设计》、《Java程序设计课程设计》、《面向对象程序设计课程设计》、《计算机组成课程设计》、《计算机体系结构课程设计》、《计算机图形学课程设计》等十三门课程的综合实验教材所组成。
下面举例介绍其中几本教材的主要内容及特点。
《C程序设计基础课程设计》:在分析C语言高级编程技术的基础上,通过对“通讯录”、“计算器”、“俄罗斯方块”等3个完整案例的解析,指导读者按照软件工程的生命周期开发过程,从问题分析、设计、编码到测试,循序渐进地完成大型程序的开发。教材还提供了9个大型程序训练的题目及简要分析,供读者练习。本教材还针对教学需要,提供了可参考的实施过程说明、开发文档模版、考核方法和评价标准,特别强调学生团队合作精神的培养。
《数据结构课程设计》:针对堆栈、树、图、排序、哈希查找、算法设计等方面的内容提供了8个课程设计案例,分别从基本知识回顾、设计题目、设计分析、设计实现、测试方法、评分要点等几个方面进行分析。教材还提供了8个课程设计习题,并对实现要点进行了简要的分析。
《计算机组成课程设计》:要求实验者用硬件描述语言(Verilog HDL)设计单元电路、功能部件和指令条数有限而功能较齐全的单时与多时钟CPU。在计算机功能单元仿真模拟正确后, 实验者能把自己设计的结果写入到Spartan-3 Starter Kit Board开发板的FPGA可编程芯片上, 并能直接实验自己的设计(芯片)是否达到预期目标。实验设计由浅入深, 内容丰富。
在传统的教学过程中,教师往往给出1-2个题目,每个学生选择一个题目,课程结束时上交自己完成的系统。这种方式似乎完美,每个学生都完成了一套完整的锻炼:需求分析、模式设计、系统设计、编程调试等。但这只是教师一厢情愿想达到的教学效果,几乎无法实现。
首先,在这个网络时代,几乎没有网络上找不到的信息。少数学生为了完成任务,极可能直接从网络上下载一个系统,敷衍了事,就如本科生的毕业设计一般。还有,题目过少,多数同学都做同一个题目,很难避免相互抄袭行为。因此,不仅不能使学生得到实践的锻炼,还可能助长他们的坏习惯。
其次,不利于团队精神的培养。团队精神是现代企业最重视的品质之一,任何一个项目都不可能由一个人单打独斗来完成,必须学会与人交流、与人协作。而这种每个学生单独完成一个题目的做法无益于团队精神的培养。
最后,不利于培养学生的交流能力。在实际项目过程中,与客户交流、了解他们的需求是必不可少的工作,往往需要经过多次交流才能掌握客户的真实需求。对需求的把握程度直接影响着项目的进度和满意度。这种自己根据自己的需求做项目不但没有培养学生的交流能力,也与现实生活中的项目方式完全脱节。
因此,要培养出满足用人单位需要的合格人才,这种教学模式必须改变,实践课程必须贴近实际的项目开发过程。笔者在教学的过程中采用模拟项目开发的教学模式,不仅增加了课程设计的趣味性,还能培养学生的主动性、提高他们与人交流的能力,取得了较好的教学效果。
2课前准备
数据库课程设计的目的一方面是提供这样一个机会,让学生将所学的数据库理论运用于实践,巩固所学的知识,一方面是要培养学生的动手能力、团队精神和了解数据库技术的基本应用。基于这两点,教师需要从选题、实施规划等方面做好合理的安排。选题是数据库课程设计的一个重要环节,好的题目能激发学生的兴趣。一般来讲,应该选取学生熟悉或有一定了解的应用领域,如学校图书馆管理系统、学生信息管理系统等等。这些熟悉的应用不仅有利于学生收集系统的需求,也有利于他们设计功能。选题的个数不应过少,至少应保证每个小组的题目不重复。实施规划主要包括团队建设即学生分组、数据库软件、开发环境等。另外,对学生常问的一些问题和一些常用的知识,如数据源构建步骤、数据源访问方式等总结成文档,发给每位学生以备查询。这样,教师就不仅是单纯的答疑解惑还是项目组织者。
3实施过程
根据现实经验,一个项目过程大体可分为三个阶段:需求分析阶段、设计阶段、编码调试阶段。
需求分析就是分析用户的需求是什么。如果投入大量的人力、物力、财力、时间、开发出的软件却不满足用户的要求,需要重新开发,这种返工是让人痛心疾首的。需求分析具有决策性、方向性、策略性的作用,在软件开发的过程中具有举足轻重的地位。每个项目团队在拿到自己的题目后还需要选择另一个团队作为自己的客户,如A团队选择B团队为其客户团队,则B团队需要为A团队所选的题目提需求,A团队在B团队确认需求后才可进入设计阶段。
数据库设计可分为概念结构设计、逻辑结构设计和物理设计三个阶段。概念结构设计是整个数据库设计的关键,通过对用户需求进行综合、归纳与抽象,形成一个独立于具体数据库管理系统(DBMS)的概念模型;逻辑结构设计将概念结构转换为某个数据库管理系统所支持的数据模型对其进行优化。物理设计为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。无论是概念模型、数据模型还是最后的物理结构都需要各团队开会讨论通过,需要充分考虑效率、空间的最优性。