李施
摘要:针对应用型本科学生理论知识素质不佳和XML课程知识艰深繁杂的特点,基于项目驱动教学法和实验室“教、学、练”一体化教学法,介绍精心设计组织的项目案例,说明教学内容和教学方法,以提高学生XML应用程序开发与编程能力。
关键词:XML;应用型本科;项目驱动教学法;实验室“教、学、练”一体化教学法
引 言
应用型本科高校有两个主要特点,一是培养应用型人才而非研究性人才,因此学生学习XML课程的主要目的是提高XML应用程序编程开发的能力而非学术性知识;二是应用型本科的学生相比重点高校学生而言其理论知识素质较差,理解与掌握复杂抽象知识的能力也较弱,不太适合学术性很强的教学。XML课程是计算机相关专业基础课,根据项目实施层次可将XML妣识体系划分为3个层次 。①数据层:XML基本结构、DTD和XML Schema数据验证;②服务层:XPath. XQuery、DOM、数据库XML应用;③界面层:XS LT、XHTML、CSS。
这些XML技术需要通过Java或.NET等语言编程开发得以应用。该课程几乎与软件开发的主要课程都有关联,所涉及的知识点相当多且难度高。 传统的教学先解释XML知识点基本概念,介绍技术原理,再举应用实例。使用这种教学方法无法在有限的课时里完成所有课程内容的教学,大部分学生往往很难掌握如此繁杂的新知识,更不用说应用XML技术进行实际应用开发。
1 实验室“教、学、练”一体化教学法
常规上课方式已不能满足实践性很强课程教学需要,因此首先应调整上课方式,将上课地点从教室移到实验室,所有讲课、练习、实验和辅导都在实验室展开,每个学生和老师都有一台电脑,老师在自己电脑上讲解教学内容并演示实验任务,同时采用广播教学将电脑操作画面同步显示在学生的电脑上,然后学生模仿老师的操作完成实验内容,学生实验操作中遇到问题可以由老师给予辅导或相互讨论解决。此外实验室可接人互联网,遇到难题鼓励学生上网寻找解决问题的方法和源代码等。这就是实验室“教、学、练”一体化教学法,教学手段不再是单一的“教师课堂讲课,学生实验室练习”的模式,而将以老师授课为中心转变为以学生学习编程为巾心 ,提高学生独立工作能力和团队协作精神,课程教学效果可以得到很大的提高。
2 项目案例及子项目教学内容
项目驱动教学法是通过实施一个完整的项目案例进行知识讲解、教授的教学活动,把理论与实践教学有机地结合起来,提高学生解决实际问题的综合能力。XML课程基于项目驱动教学选用的案例是一个基于XML的Web应用系统,即“基于XML实验大纲管理系统”。该系统的主要功能是实现学校实验大纲的XML文档存储、实验大纲Word文档的转换和导出、数据库XML文档存储和编程、实验大纲的XML文档增删改,以及ASP.NET实验大纲管理系统编程。系统又细分为4个子项目作为实验项目,每个实验项目都使用实验室“教、学、练”一体化教学完成,当学生完成了4个实验项目后,整个Web系统也随之完成。
1)设计实验大纲XML文档结构项目。
根据现有Word文档实验大纲设计实验大纲XML文档,使用XMLSPY软件工具分别设计实验大纲XML文档的DTD和XML Schema,然后创建分别经过DTD和XML Schema验证的实验大纲XML文档。老师使用一门课程的实验大纲演示设计过程,然后学生使用不同课程的实验大纲进行设计与编写,每个学生设计的DTD和XML Schema文档必须能验证所有课程的实验大纲XML文档。通过该项目,学生能掌握XML、DTD和XML Schema语法和设计,同时也能掌握XMLSPY工具的使用。在完成这个实验项目的同时教师穿插讲解教材 中从第一章XML入门到第五章Schema高级技术的内容,融会贯通课程的知识点。
2)设计实验大纲XML文档的XSLT项目。
根据第一实验项目获得的实验大纲XMLSchema设计实验大纲XML文档XSLT,可以分别采用两种方法设计,一种是使用XMLSPY手工编程XSLT文档实现实验大纲XML文档的HTML文档转换,这种方法需要学生有较深的XSLT语法知识,由于课时有限仅需让学生掌握基本的XSLT编程;另一种是使用Stylevision工具设计XSLT文档,实现实验大纲的Word 2007等多种文档格式的转换导出。这种方法对XSLT语法要求不太高,但对XPath和CSS的语法知识有较高的要求。这个实验项目主要涉及所选教材 中的第六章XPath和第七章XSLT的内容。学生通过该实验项目能掌握XSLT、XPath和CSS的语法知识和应用,同时也能掌握Stylevision工具的设计方法。
3)实验大纲SQL SERVER数据库XML应用项目。
“基于XML实验大纲管理系统”的数据库设计可以采用两种形式,一种采用XML数据类型存放实验大纲XML文档,即创建一个表“实验大纲(大纲id int,大纲xml xml)”,将每门课程的实验大纲XML文档作为一条记录插入该表,使用XQuery 将实验大纲XML的内容如实验项目和指导书等创建成为视图;另一种设计方式是按照实验大纲的内容设计多个表,表的结构与前面所建视图相同,然后使用XQuery构建实验大纲XML形成视图或用于程序编程。学生通过该实验项目能熟悉掌握XQuery等编程知识以及其他SQL Server数据库XML应用。
4)“基于XML的实验大纲管理系统”asp.net项目。
“基于XML实验大纲管理系统”的主要功能有实验大纲的增删改、查询和导出实验大纲Word文档等。实验大纲的内容由实验教学目的与基本要求、实验项目、指导书参考书和专业年级等组成,实验大纲管理相当于管理一个父表“实验大纲主内容表”和多个子表如“实验项目表”等。实验大纲系统的工作流程为:①获取数据库实验大纲XML文档;②通过DOM解析XML文档形成实验大纲网页提交给用户;③用户的增删改查通过DOM修改实验大纲XML然后保存到数据库。导出实验大纲Word文档则通过C#XSLT编程导出。学生通过该实验项目能掌握C#的DOM、XPath、XQuery和XSLT等XML编程开发。
3 教学实施策略方式
项目案例教学与传统按教材章节顺序学习不是水火不容的,项目案例教学中有时也需要挑出某些教材章节进行教学,否则学生会搞不清楚概念,或不明白编程的原理,但教材知识也不能安排太多课时教学,所以项目案例与教材教学需要有个平衡。
(1) XML课程的基本概念和项目案例所涉及的知识需要事先或在项目进行中解释清楚,如XML. DTD、XML Schema和XSLT语法等,语法知识的讲解以能够明白项目案例编程原理为限,无需安排太多课时,尽量在项目案例中解释语法知识。
(2)艰深的XML知识仅以能掌握项目案例的应用及扩展项目为目标。XML课程有些知识(如 XPath. XQuery和数据库XML应用等)需要花很多课时才能讲透彻,因此只能以项目案例的应用讲解其用法,只要求能掌握类似的应用即可。例如,数据库的视图、查询或存储过程都用到从实验大纲表的XML查询数据,因此学习如下sql可以掌握如何从数据库XML获取所需数据:
SELECT p.大纲id,T.c.value(@实验属性,.nvarchar(10)),T.c.value(实验项目名称 nvar-char(50)) FROM实验大纲p CROSS APPLY大纲xml.nodes(实验教学大纲/实验项目)AST(C)。
然后学会类似应用触类旁通,有针对性地学习该项目案例中用到的知识,而不必花很多时问把XQuery等知识完全掌握后再开始开发项门,需要用到某些知识时再有目的地学习,这样学生既能很快掌握难懂的核心知识又能运用项目开发。
(3)控制教学进度保证主要教学目标完成。教学计划和项目实施都应该有明确的时间表,除做好教学内容取舍外,教学过程中必须严格按照教学计划安排讲授与练习,避免出现教学进度控制不好的情况。为保证进度,需要随时注意学生的反馈意见,及时调整教学内容和实验子项目的局部需求,以实现整个项目开发为主要目标,兼顾核心XML知识。对于可能反复出现的知识点,如XPath在多处应用,应尽量安排在前期讲解。虽然由于时间关系,无法独立完整教授各个知识点,老师仍需做简要铺垫,以免造成学生的学习困境。
4 XML编程应用能力
系统的4个子项目由老师讲解和演示系统开发的全过程,然后学生在老师的指导下通过相互协作独立完成该系统。模仿开发项日是学习的第一步,能否运用所学知识和技能开发类似项目才是真正掌握XML编程开发的关键。这里要求学生能自主完成“基于XML教学档案管理系统”,该系统将包括课程教学大纲、实验大纲、教学日历和实验进度表等教学资料的管理,是项目案例的扩展和更广的应用。传统教学单纯学习XML理论知识,没有一个贯穿全部知识的案例项目,知识点虽然全面但零碎,很难让学生懂得如何将XML技术应用实际项目巾,知识与应用脱节,XML编程应用能力差。相比而言,学生通过这样XML案例项目,从XML文档设汁、转换,到基于XML数据库应用及Web系统开发,能深刻理解XML在Web应用编程开发过程的所有技术要点,并将大量的时间花在Web系统的开发和XML编程应用中,极大地提高XML编程应用能力。主要体现在以下几个方面:①使用XMLSPY软件工具设计XML文档及DTD和SCHEMA;②使用Stylevision工具设计XSLT义档实现从XML到Word 2007等多种文档格式转换;③在数据库中使用XML文档作为存储元素并用XQuery技术在系统开发中实现数据库XML应用;④基于XML的Web系统DOM等XML编程开发。
这个教学案例能在有限的时间儿学生掌握XML核心知识和应用,虽不能覆盖全面的XML知识,但能灵活应用所学XML知识应用于系统开发,为学生学习和全面掌握XML应用开发打下坚实的基础。
5 结语
根据应用型本科XML课程教学的特点,我们通过XML项目案例的精心设计和教学内容的认真组织安排教学。基于案例项目驱动教学法和实验室“教、学、练”一体化教学法与传统教学方法相比极大地提高了学生学习XML课程的积极性,加深了学生对XML技术的理解和掌握,全面提高了他们XML应用程序开发与编程能力以及工作就业能力。