苗德成
(韶关学院 信息科学与工程学院,广东 韶关512005)
数据库课程是信息技术类的一门理论性和实践性要求很强的综合性基础课程[1],随着信息技术的快速发展与普遍应用,数据库技术应用范围越发广泛,进一步突出了数据库课程的重要地位。
经过几十年的发展,我国研究型大学的数据库课程教学已形成特有的教学模式与方法,但应用型本科院校的数据库课程教学仍处于探索阶段,在应用型人才培养的定位与教学内容的设计等方面还存在一些问题。研究分析并解决这些问题,对应用型本科院校数据库课程教学改革与实践具有重要意义。
数据库课程的综合性要求较高,其脉络结构如图1所示。“离散数学”“数据结构与算法”与“计算机组成原理”等先修课程的思想、理论和算法为数据库课程的学习奠定了重要基础。学生在系统、全面学习了数据库系统的基础理论、基本方法和技术之后,能够应用一种具体的程序设计语言(如C++、Java等),以具体的数据库管理系统,如MySQL、SQL Server与Access等作为数据存储平台,面向某一应用领域开发中、小型的数据库应用系统。
图1 数据库课程脉络结构
数据库课程的教学不能单纯地停留在课堂理论教学的层面,图1的脉络结构是一个涵盖了理论教学与课程实践的一体化教学体系,特别是数据库课程的后续课程“数据库课程设计”,地位较为特殊,同时与“软件工程”“管理信息系统”等后续课程有密切联系。“数据库课程设计”既可以作为课堂理论教学中数据库设计部分的一个重要环节,也可以突出其实践性强的特点,将其作为一门课程独立出来,成为“软件工程”与“管理信息系统”的实践基础。
针对应用型人才培养模式的要求与特点,韶关学院信息科学与工程学院经过十余年的精品课程建设,已经建立了完整的理论教学体系、实验教学体系、考试评价体系,上线运行多年的网络课程平台作为学生自主学习的一个平台与载体,已成为数据库课程教学的有益补充。教材选用中国人民大学王珊与萨师煊教授编著的“十二五”普通高等教育本科国家级规划教材《数据库系统概论》,课堂理论教学与实验教学的内容体系分别如图2与图3所示。
图2 数据库课程理论教学内容
数据库课程的理论教学内容共48个学时,分为3个部分:基础部分、设计开发部分和系统技术部分。图2的数据库管理系统作为课堂理论教学的选修部分,视教学班专业差异(如计算机科学与技术、通信工程等)采取课堂讲授或在网络课程平台上自主学习的形式教学。
在数据库课程的实际教学过程中,针对应用型本科人才培养需求,不断改进数据库实验教学内容,并应用到实践教学中。图3是学院当前实验教学内容的体系结构,共18学时,验证性实验3个,综合性实验和设计性实验各1个。
课堂理论教学与实验教学相互促进,前者通过后者上机测试与理论拓展,而后者又建立在前者的理论基础上。实际教学过程中,采用理论讲解、实验验证与课外大作业相结合的三级教学模式,促使学生在具体的案例教学中理解数据库的基础理论,特别注重动手能力的提升。经过多年的实践教学改革,取得了良好的教学效果。
以应用型人才培养为导向,重构数据库课程的教学体系。通过对粤北地区和珠三角IT企业的广泛调研,将数据库应用系统研发领域的最新行业需求与数据库前沿技术及时对接,明确“理论为基础,实践为重点,应用为目的”的应用型本科人才培养目标,着力培养学生应用数据库技术分析、解决实际问题的能力。
图3 数据库课程实验教学内容
首先,深入数据库研发行业一线了解市场对程序员、分析师、设计师、架构师、测试师及管理员的人才需求。其次,在广泛调研的基础上详细列出数据库研发所需的基本理论知识点与实践动手能力需求,如可行性分析、体系结构设计、数据库编程与系统测试等。再次,院系领导组织任课教师充分研讨,以理论知识与应用实践相结合为基本原则,适当选取教材的教学内容,保证课堂教学的完整性与系统性,突出实验教学的操作性与应用性。最后,根据数据库研发市场对应用型人才培养的实际需求,周期性地调整教学大纲,及时引入最新的数据库应用技术,解决教材与教学大纲的滞后问题,重构数据库课程的教学体系。
数据库是一门研究如何利用计算机技术对实际应用中的大量数据进行高效管理的课程[2],计算机及其相关专业均开设数据库课程,但由于各应用型本科院校的培养定位、课程设置、课时安排等因素不同,现阶段的数据库课程教学过程中主要存在以下问题:
数据库课程覆盖内容广泛,许多知识点都是先修课程的延续与拓展,因此对先修课程的基础性知识要求较强。但部分先修课程局限于其授课范围内孤立讲解,课程间缺乏有效的横向比较与纵向联系,尤其是先修课程间的纵向联系不紧凑。
学生对先修课程的学习不扎实,主要体现在两个方面:一方面,课堂学习时对基础性理论知识理解不到位,掌握不牢,整体知识脉络体系不清晰。另一方面,实验操作时动手能力弱,常见语法错误不会分析,不会调试,无法顺利编译简单的数据库应用程序。例如,数据库课程的“数据模型、关系数据理论”等内容是先修课“离散数学”的深化与拓展,而“数据库设计、数据库编程”等内容则主要应用先修课“程序设计语言”的语言工具(如 C++、Java等)来编写,而学生对这些先修课程学得不到位,导致对数据库的基础理论和基本方法一知半解,课程实践无法与数据库理论知识有机联系起来,不具备运用基本原理分析与解决问题的能力,缺乏数据库应用系统的设计与开发能力。
数据库课程自身的综合性、规范性及其对理论性和实践性要求较高的特点,客观上对初学者确实产生了一定的难度,特别是对于刚刚步入大学二、三年级的学生,习惯以往基础课程,如“多媒体技术”“网页设计”等“所见即所得”的学习模式,初次开始接触数据库,觉得这门课程体系庞大,概念抽象,结构复杂,内容繁多,对数据库基础理论知识的理解较为困难,学习兴趣不高。
同时,由于应用型本科院校教学条件和科研环境等因素的限制,数据库课程的实践性和应用性难以体现,缺乏中、小型数据库应用系统设计与开发的实践支撑,没有软件工程项目的实战机会,导致学生感觉数据库理论苍白空泛,进而对数据库课程学习的目的与意义不明确,无法积累软件工程项目开发的实战经验,不具备数据库应用系统项目开发的实战能力。
如图2所示,数据库课程的理论体系主要包括基础、设计开发和系统技术3个层面。数据库基础技术以数据模型为主线,围绕数据模型的3个组成要素,即数据结构、数据操作和数据约束,展开数据库安全性和完整性的阐述。数据库设计开发技术主要论述数据库设计与编程,其目标是为用户和各种应用系统提供一个信息基础设施和高效率的运行环境,使其有效地表示、组织、存储和管理数据,满足信息管理和数据操作要求。数据库系统技术进一步阐述数据库管理系统中查询优化、事务管理、数据库恢复和并发控制等系统层面的高级技术。每个层面的知识点都很重要,教学内容难以取舍,课堂教学中难以面面俱到。同时,更为重要的是,48个学时的理论课时非常有限,理论教学力度不够,难以对数据库理论知识进行系统、全面的讲解,导致理论知识体系结构不完善。
数据库是一门理论研究和工程实践联系非常紧密的综合性课程,客观上给学生的学习造成了一定的负面影响和学习难度[3]。然而,更重要的是,学生主观上对课程实践环节的不重视,导致实践性要求难以得到满足。
如图3所示,数据库实验划分为交互式SQL和嵌入式SQL两大类。交互式SQL实验相对简单,综合性要求不高,但对于初学者来说,数据库管理系统的使用、SQL语言的熟练掌握与运用、数据库各种基本操作(如增加、删除、修改与查询)的练习等都具有一定的难度,同时需要大量时间进行反复练习;嵌入式SQL要求更高,在熟练掌握SQL交互式语法基础上,应用程序设计语言在集成开发环境中(如Visual Studio、Eclipse等)进行复杂数据库应用程序的设计与调试。数据库应用系统源代码冗长,程序结构相对复杂,同时还要熟悉常用数据库管理系统,如SQL Server、MySQL等的数据源管理技术、大量应用程序API接口,Windows环境下编译和调试数据库程序还要具备Win 64位应用程序开发的基础,这些要求无疑增大了学生的学习难度,许多学生望而却步,知难而退。
另外,实验课成绩在课程考核中占比偏低,成绩评定很大程度上取决于期末考试的卷面分数。因此,学生对课程实践环节不重视,难以完成实验任务,少数学生甚至完全放弃实验课的训练任务,浪费宝贵的实验课学时,使重要的实践环节流于形式。
当前国内多数应用型本科院校的数据库课程教学仍停留在课堂教学层面,教学手段不完善[4]。同时,由于各院校基础教学设备和配套硬件设施差异较大,教学要求和课程标准各不相同等因素,导致教学方式的多样性难以实现。
数据库课程知识体系结构的复杂性和综合性等特点使得采用单一的课堂教学模式远远不能满足实际的教学要求。因此,建立和完善课外教学的自主学习平台显得十分重要而又紧迫。基于种种原因,当前拥有自主学习平台的应用型本科院校不多,师生互动和交流严重依赖于短暂的课堂教学时间。课外利用电子邮件或者QQ等工具交流,难以达到快速、及时的良好互动效果。
数据库最重要的先修课程是“离散数学”和“程序设计语言”,前者是“数据模型、关系数据库理论”等理论知识讲解的重要基础,后者是“数据库设计、数据库编程”等实践知识应用的重要工具。通常情况下,各先修课程主讲教师的教学重点以本课程独立的体系结构定位,并不关注课程间的横向比较与纵向联系,而对数据库课程涉及的相关基础知识不做比较联系,仅作为一般性的了解内容讲授,导致学生学习数据库课程时搞不清、听不懂。
因此,改革数据库先修课程教学设计,夯实专业基础知识,在制度上强化应用型人才培养模式的完善非常重要。一种思路是尝试把“离散数学”“程序设计语言”和“数据库”三门课程进行捆绑式教学,尽可能安排同一个教师连贯性地讲授;另一种思路是加强“离散数学”“程序设计语言”和“数据库”三门课程主讲教师的交流和沟通,这样在讲解先修课程时可以有意识地把与数据库技术联系紧密的内容重点强调,让学生熟练掌握相关知识点,为后续课程的学习埋下伏笔,奠定基础。
数据库课程自身的综合性、实践性、规范性及其对理论性和实践性要求较高的特点,客观上造成学生对数据库知识的理解较为困难,学习兴趣不高[5]。同时,由于应用型本科院校教学条件的限制,数据库课程的实践性和应用性难以体现,缺乏中、小型数据库应用系统项目设计与开发的实战机会,学生感觉数据库理论苍白空泛,无法积累软件工程项目开发的实战经验,难以具备数据库项目开发的实战能力。
因此,改革数据库课程强调理论知识的传统教学目标,在理论教学过程中主动创造项目开发条件,以项目驱动方式布置数据库课程大作业,一方面可以作为毕业论文设计的选题,另一方面可以作为学生就业面试时的作品,充分调动和激发学生的学习积极性和热情。通过数据库课程大作业的布置,培养学生运用数据库基本技术和方法对实际问题的分析和解决能力,培养学生的创新思维和创新能力,特别是通过小组形式的分工协作,培养学生的团队合作意识和协作能力,这是现代IT行业软件项目开发的主流和趋势,结合专业特点充分做到学以致用,为毕业后的就业积极做好准备。
作为数据高效管理的一种重要工具,应用型本科院校各相关专业,如数学与应用数学、计算机科学与技术、通信工程、经济管理等专业,开设数据库课程的主要目的是拓展与提升本专业在信息技术应用方面的应用。因此,改革传统数据库课程教学片面强调系统、深入地讲授理论知识的教学理念,在实际教学过程中结合本专业特色、就业方向和学生的实际接受能力,灵活调整数据库课程教学大纲和理论课教学内容,删除一些与本专业不相关或者弱相关,过于抽象和理论性过强的章节。
总结、提炼、精化理论课教学内容,但同时注意一方面保证数据库课程基本内容的完整和重点章节的讲解,另一方面兼顾扩展内容,强化应用型人才应用能力的训练,突出数据库课程特有的动手能力、实验能力培养,突出与本专业联系的紧密性。着重培养学生对数据库技术整体上的理解能力与思维方法,提高学生应用数据库理论知识分析和解决实际应用中各种问题的能力。
数据库是一门特别注重理论联系实际的综合性课程,理论知识与应用实践相辅相成,互为促进,主要体现在以下两个方面:一方面,仅学会理论知识,但程序设计和编码测试的实践动手能力不提高,课程的实用性也难以体现;另一方面,数据库应用系统项目的实际开发过程离开数据库理论知识的指导,数据库应用系统的功能和性能都难以优化并得以完善。
当前,大部分应用型本科院校开设的数据库课程,其实验课成绩在课程考核中所占的比重偏低,导致学生对课程实践环节不重视,实验课教学流于形式。因此,在数据库课程考核中,加大实践教学考核力度,提高实验成绩在总评成绩中的比重,充分发挥考核与考试对学生学习的督促作用,以及考试内容对学生学习的引导作用。
在进行数据库课程实践教学时,精心选择数据库应用系统工程项目典型的开发案例,分析系统应用需求,论证项目设计可行性,剖析系统体系结构,讲解源代码编写思路,设计单元测试与系统测试的测试用例。通过对数据库应用系统项目开发各环节的实践,培养学生开发中、小型数据库应用系统能力,以小组分工协作的形式培养学生的团队合作意识。
数据库理论知识的理解和数据库应用系统的开发都比较困难,真正学好并对其进行应用实践不仅要求学生投入大量的时间与精力,注重课堂理论知识的理解,还要强化课后大量的编码练习。做好本课程的教学组织工作极其重要,需要灵活多样的教学方法与较高的授课技巧,目前国内大部分应用型本科院校数据库课程教学的主要方式是课堂教学,难以满足实际的教学要求。
针对数据库课程在理论性和实践性方面要求都很高的特点,积极探索、综合使用课堂教学、多媒体教学、网络教学、案例教学等多种教学手段,以最优的组合完成本课程的教学任务。正确、充分、恰当地使用现代教育技术手段,利用网络和多媒体工具,编制大信息容量的课件,组织计算机多媒体辅助教学。将各种抽象、复杂、枯燥的数据库理论知识点用生动的图像和动画表现出来,使学生可以更直观地理解教学内容,激发学生学习的主动性。通过数据库应用系统项目开发的案例教学,并结合软件项目开发的经历、经验,市场对数据库人才的需求和IT行业的就业前景,进一步激发学生的学习兴趣与学习热情。
近五年来,学院针对应用型本科人才培养的目标定位,积极开展数据库课程的教学改革与实践,在师资队伍建设、网络教学环境、人才培养质量、教材建设与产学研合作办学等方面,取得了初步成效。
经过近五年的数据库课程教学改革与实践,进一步优化师资队伍的年龄结构、学历结构和学缘结构,师资队伍结构明显改善,整体水平显著提升。师资队伍相对稳定,后备学术带头人和教学骨干队伍已形成良好的发展态势。
培养若干名省内外具有一定知名度的学术带头人,建成一支整体水平高、适应数据库教学发展需要的师资队伍。目前,学院从事数据库教学与科研的专任教师7人,其中2人具有教授、副教授等高级职称;5人具有博士、硕士学位,在读博士1人。2人获得省自然科学基金,1人为广东省高等学校“千百十人才培养工程”培养对象,1人为省级优秀青年教师培养对象。其中,1人主讲的“数据库系统”在广东省第二届高校青年教师教学竞赛中获得了自然科学类应用学科优秀奖。
学院承担数据库教学任务的专任教师,不但具有扎实的理论功底和较高的学术研究水平,还具备数据库应用系统的设计、开发与测试能力。学院制定了“双师双能型”师资队伍建设办法,每年送3-4名教师到知名IT企业进行项目开发能力和工程实践能力的培养,到2020年使“双师双能型”教师比例达到60%以上。
通过加大实验教学的考核力度,特别是数据库应用系统的开发,显著提高了学生的动手能力,培养了团队合作意识。同时,更为重要的是,进一步加大数据库课程实验教学的改革力度,不停留在数据库应用系统设计开发的初级层面,而以数据库作为底层数据存储与管理的载体,拓展各类信息应用领域的业务范围,通过积极参与各项专业赛事,培养学生创新思维和解决实际问题的能力。在一系列重要专业比赛中,学院取得了良好的成绩。例如,获得第八届蓝桥杯全国软件和信息技术专业人才大赛Java组全国一等奖1项、二等奖1项、三等奖3项,是广东省内本科院校唯一获Java组全国一等奖的单位;获得第三届全国高校移动互联网应用开发创新大赛全国总决赛全国二等奖和全国三等奖各1项;获得2016年中国机器人大赛一等奖1项,二等奖1项,三等奖2项。
当前学院的数据库课程已经建立了网络教学环境,制定了课程标准、课程介绍、教学大纲、教学进度计划等教学文件,制作了多媒体课件、电子教案、教学题库、作业习题及考试题库等教学资源。同时,学校已建立了完善的校园网,学生可以在实验室、图书馆、宿舍等地联入校园网,网络教学的硬件建设条件已基本具备。进一步建设数据库课程专属的自主学习平台,通过网络辅助传统的理论课堂教学和实验教学,增强学生对本课程知识的选择性自主学习,从而取得更好的教学效果。
韶关学院数据库课程主讲教师出版2部教材并已投入实际教学,强化了实验教学力度,提升了实验教学效果,学生反映良好。《数据库课程设计》由电子科技大学出版社2016年8月出版,被列入普通高等教育“十三五”计算机专业系列规划教材。全书依据数据库应用系统设计与开发的步骤,详细介绍了使用面向对象程序语言开发数据库应用系统的完整过程。本书主要针对应用型本科院校学生,在系统学习数据库课程后,及时将课堂教学的理论知识转化为数据库应用系统的项目开发与动手能力,切实提高数据库课程设计的水平,增强软件开发的信心。
《数据库应用系统完整项目开发实例(Visual C++2012&SQL Server 2008)》由东北师范大学出版社2017年4月出版,被列入普通高等教育“十三五”规划教材。全书以高校人事信息管理的实际需求为背景,以数据库应用系统的开发实践为主线,在真实的开发环境中从零开始,逐步设计与开发数据库应用系统的各个模块,采用“模仿、重复、练习”的思路与方法详细讲解数据库应用系统设计与开发的模式与步骤,切实提高数据库应用系统开发的技能。
学院一直注重应用型本科人才的培养质量,将在校学习与企业实践有效融合,建立学校与企业资源、信息共享的“双赢”模式。有针对性地开展校企合作,在专业建设、实践基地建设、师资队伍建设、教学资源建设等方面取得了较好的效果,人才培养质量稳步提升。
结合数据库行业前沿技术发展,引入适应应用型本科教学及企业人才需求的实验设备,培养对接行业需求的高素质、应用型人才。学院与中软国际有限公司、深圳软件园、长沙蓝狐网络科技公司、广东昆仑信息技术有限公司、中国电信韶关分公司等单位共建了20多个稳定的教学实践基地。每年都组织学生到实践基地开展实习、见习和实训工作,给学生提供了良好的学习和实践机会,深化了学生对专业知识的理解和掌握。
数据库是一门理论性和实践性要求都很高的综合性课程,课堂教学与实验教学两个重要环节相辅相成,互为促进。在多年的教学实践中,我们立足于应用型本科人才的专业型、技能型培养目标,不断对理论教学和实验教学环节进行改革与探索,并注重与加强实践教学的力度,通过专门开设“数据库课程设计”课程,自编教材,让学生有案例可模仿,重现实验教学案例。多年的教学实践表明,数据库课程的实践教学改革提高了学生的学习兴趣,强化了学生应用数据库原理和方法解决实际问题的能力,培养了学生团队合作意识以及创新研究能力。
随着数据库技术和数据库应用开发环境的不断更新,我们将根据实际教学情况,一方面继续落实教材建设工作的力度,争取出版一本适合应用型本科院校的数据库教材;另一方面不断改革和创新数据库课程的教学方法,总结教学经验,加大实践教学改革,使数据库课程教学更加科学、合理、完善,将教学质量提高到一个新的水平,进而培养出专业型、高素质的应用型本科人才。
参考文献:
[1]王乐球,周文琼,路永和.“数据库原理”课程教学改革与实践[J].软件导刊,2014(2):168-170.
[2]叶霞,李俊山,李海龙.数据库原理及应用实践教学改革[J].计算机教育,2011(1):56-59.
[3]邢慧芬,吴其林,梁宝华.《Oracle 大型数据库》教学改革研究与实践[J].巢湖学院学报,2017(3):130-133.
[4]张华.ACCESS数据库及应用课程教学改革研究——以独立学院非计算机专业为例[J].重庆科技学院学报(社会科学版),2016(12):126-128.
[5]庄海燕.数据库课程在网络安全与执法专业能力培养中的重要性及其实践教学改革研究[J].教育教学论坛,2017(26):255-256.