李施
摘要:針對(duì)應(yīng)用型本科學(xué)生理論知識(shí)素質(zhì)不佳和XML課程知識(shí)艱深繁雜的特點(diǎn),基于項(xiàng)目驅(qū)動(dòng)教學(xué)法和實(shí)驗(yàn)室“教、學(xué)、練”一體化教學(xué)法,介紹精心設(shè)計(jì)組織的項(xiàng)目案例,說(shuō)明教學(xué)內(nèi)容和教學(xué)方法,以提高學(xué)生XML應(yīng)用程序開(kāi)發(fā)與編程能力。
關(guān)鍵詞:XML;應(yīng)用型本科;項(xiàng)目驅(qū)動(dòng)教學(xué)法;實(shí)驗(yàn)室“教、學(xué)、練”一體化教學(xué)法
引 言
應(yīng)用型本科高校有兩個(gè)主要特點(diǎn),一是培養(yǎng)應(yīng)用型人才而非研究性人才,因此學(xué)生學(xué)習(xí)XML課程的主要目的是提高XML應(yīng)用程序編程開(kāi)發(fā)的能力而非學(xué)術(shù)性知識(shí);二是應(yīng)用型本科的學(xué)生相比重點(diǎn)高校學(xué)生而言其理論知識(shí)素質(zhì)較差,理解與掌握復(fù)雜抽象知識(shí)的能力也較弱,不太適合學(xué)術(shù)性很強(qiáng)的教學(xué)。XML課程是計(jì)算機(jī)相關(guān)專業(yè)基礎(chǔ)課,根據(jù)項(xiàng)目實(shí)施層次可將XML妣識(shí)體系劃分為3個(gè)層次 。①數(shù)據(jù)層:XML基本結(jié)構(gòu)、DTD和XML Schema數(shù)據(jù)驗(yàn)證;②服務(wù)層:XPath. XQuery、DOM、數(shù)據(jù)庫(kù)XML應(yīng)用;③界面層:XS LT、XHTML、CSS。
這些XML技術(shù)需要通過(guò)Java或.NET等語(yǔ)言編程開(kāi)發(fā)得以應(yīng)用。該課程幾乎與軟件開(kāi)發(fā)的主要課程都有關(guān)聯(lián),所涉及的知識(shí)點(diǎn)相當(dāng)多且難度高。 傳統(tǒng)的教學(xué)先解釋XML知識(shí)點(diǎn)基本概念,介紹技術(shù)原理,再舉應(yīng)用實(shí)例。使用這種教學(xué)方法無(wú)法在有限的課時(shí)里完成所有課程內(nèi)容的教學(xué),大部分學(xué)生往往很難掌握如此繁雜的新知識(shí),更不用說(shuō)應(yīng)用XML技術(shù)進(jìn)行實(shí)際應(yīng)用開(kāi)發(fā)。
1 實(shí)驗(yàn)室“教、學(xué)、練”一體化教學(xué)法
常規(guī)上課方式已不能滿足實(shí)踐性很強(qiáng)課程教學(xué)需要,因此首先應(yīng)調(diào)整上課方式,將上課地點(diǎn)從教室移到實(shí)驗(yàn)室,所有講課、練習(xí)、實(shí)驗(yàn)和輔導(dǎo)都在實(shí)驗(yàn)室展開(kāi),每個(gè)學(xué)生和老師都有一臺(tái)電腦,老師在自己電腦上講解教學(xué)內(nèi)容并演示實(shí)驗(yàn)任務(wù),同時(shí)采用廣播教學(xué)將電腦操作畫(huà)面同步顯示在學(xué)生的電腦上,然后學(xué)生模仿老師的操作完成實(shí)驗(yàn)內(nèi)容,學(xué)生實(shí)驗(yàn)操作中遇到問(wèn)題可以由老師給予輔導(dǎo)或相互討論解決。此外實(shí)驗(yàn)室可接人互聯(lián)網(wǎng),遇到難題鼓勵(lì)學(xué)生上網(wǎng)尋找解決問(wèn)題的方法和源代碼等。這就是實(shí)驗(yàn)室“教、學(xué)、練”一體化教學(xué)法,教學(xué)手段不再是單一的“教師課堂講課,學(xué)生實(shí)驗(yàn)室練習(xí)”的模式,而將以老師授課為中心轉(zhuǎn)變?yōu)橐詫W(xué)生學(xué)習(xí)編程為巾心 ,提高學(xué)生獨(dú)立工作能力和團(tuán)隊(duì)協(xié)作精神,課程教學(xué)效果可以得到很大的提高。
2 項(xiàng)目案例及子項(xiàng)目教學(xué)內(nèi)容
項(xiàng)目驅(qū)動(dòng)教學(xué)法是通過(guò)實(shí)施一個(gè)完整的項(xiàng)目案例進(jìn)行知識(shí)講解、教授的教學(xué)活動(dòng),把理論與實(shí)踐教學(xué)有機(jī)地結(jié)合起來(lái),提高學(xué)生解決實(shí)際問(wèn)題的綜合能力。XML課程基于項(xiàng)目驅(qū)動(dòng)教學(xué)選用的案例是一個(gè)基于XML的Web應(yīng)用系統(tǒng),即“基于XML實(shí)驗(yàn)大綱管理系統(tǒng)”。該系統(tǒng)的主要功能是實(shí)現(xiàn)學(xué)校實(shí)驗(yàn)大綱的XML文檔存儲(chǔ)、實(shí)驗(yàn)大綱Word文檔的轉(zhuǎn)換和導(dǎo)出、數(shù)據(jù)庫(kù)XML文檔存儲(chǔ)和編程、實(shí)驗(yàn)大綱的XML文檔增刪改,以及ASP.NET實(shí)驗(yàn)大綱管理系統(tǒng)編程。系統(tǒng)又細(xì)分為4個(gè)子項(xiàng)目作為實(shí)驗(yàn)項(xiàng)目,每個(gè)實(shí)驗(yàn)項(xiàng)目都使用實(shí)驗(yàn)室“教、學(xué)、練”一體化教學(xué)完成,當(dāng)學(xué)生完成了4個(gè)實(shí)驗(yàn)項(xiàng)目后,整個(gè)Web系統(tǒng)也隨之完成。
1)設(shè)計(jì)實(shí)驗(yàn)大綱XML文檔結(jié)構(gòu)項(xiàng)目。
根據(jù)現(xiàn)有Word文檔實(shí)驗(yàn)大綱設(shè)計(jì)實(shí)驗(yàn)大綱XML文檔,使用XMLSPY軟件工具分別設(shè)計(jì)實(shí)驗(yàn)大綱XML文檔的DTD和XML Schema,然后創(chuàng)建分別經(jīng)過(guò)DTD和XML Schema驗(yàn)證的實(shí)驗(yàn)大綱XML文檔。老師使用一門課程的實(shí)驗(yàn)大綱演示設(shè)計(jì)過(guò)程,然后學(xué)生使用不同課程的實(shí)驗(yàn)大綱進(jìn)行設(shè)計(jì)與編寫(xiě),每個(gè)學(xué)生設(shè)計(jì)的DTD和XML Schema文檔必須能驗(yàn)證所有課程的實(shí)驗(yàn)大綱XML文檔。通過(guò)該項(xiàng)目,學(xué)生能掌握XML、DTD和XML Schema語(yǔ)法和設(shè)計(jì),同時(shí)也能掌握XMLSPY工具的使用。在完成這個(gè)實(shí)驗(yàn)項(xiàng)目的同時(shí)教師穿插講解教材 中從第一章XML入門到第五章Schema高級(jí)技術(shù)的內(nèi)容,融會(huì)貫通課程的知識(shí)點(diǎn)。
2)設(shè)計(jì)實(shí)驗(yàn)大綱XML文檔的XSLT項(xiàng)目。
根據(jù)第一實(shí)驗(yàn)項(xiàng)目獲得的實(shí)驗(yàn)大綱XMLSchema設(shè)計(jì)實(shí)驗(yàn)大綱XML文檔XSLT,可以分別采用兩種方法設(shè)計(jì),一種是使用XMLSPY手工編程XSLT文檔實(shí)現(xiàn)實(shí)驗(yàn)大綱XML文檔的HTML文檔轉(zhuǎn)換,這種方法需要學(xué)生有較深的XSLT語(yǔ)法知識(shí),由于課時(shí)有限僅需讓學(xué)生掌握基本的XSLT編程;另一種是使用Stylevision工具設(shè)計(jì)XSLT文檔,實(shí)現(xiàn)實(shí)驗(yàn)大綱的Word 2007等多種文檔格式的轉(zhuǎn)換導(dǎo)出。這種方法對(duì)XSLT語(yǔ)法要求不太高,但對(duì)XPath和CSS的語(yǔ)法知識(shí)有較高的要求。這個(gè)實(shí)驗(yàn)項(xiàng)目主要涉及所選教材 中的第六章XPath和第七章XSLT的內(nèi)容。學(xué)生通過(guò)該實(shí)驗(yàn)項(xiàng)目能掌握XSLT、XPath和CSS的語(yǔ)法知識(shí)和應(yīng)用,同時(shí)也能掌握Stylevision工具的設(shè)計(jì)方法。
3)實(shí)驗(yàn)大綱SQL SERVER數(shù)據(jù)庫(kù)XML應(yīng)用項(xiàng)目。
“基于XML實(shí)驗(yàn)大綱管理系統(tǒng)”的數(shù)據(jù)庫(kù)設(shè)計(jì)可以采用兩種形式,一種采用XML數(shù)據(jù)類型存放實(shí)驗(yàn)大綱XML文檔,即創(chuàng)建一個(gè)表“實(shí)驗(yàn)大綱(大綱id int,大綱xml xml)”,將每門課程的實(shí)驗(yàn)大綱XML文檔作為一條記錄插入該表,使用XQuery 將實(shí)驗(yàn)大綱XML的內(nèi)容如實(shí)驗(yàn)項(xiàng)目和指導(dǎo)書(shū)等創(chuàng)建成為視圖;另一種設(shè)計(jì)方式是按照實(shí)驗(yàn)大綱的內(nèi)容設(shè)計(jì)多個(gè)表,表的結(jié)構(gòu)與前面所建視圖相同,然后使用XQuery構(gòu)建實(shí)驗(yàn)大綱XML形成視圖或用于程序編程。學(xué)生通過(guò)該實(shí)驗(yàn)項(xiàng)目能熟悉掌握XQuery等編程知識(shí)以及其他SQL Server數(shù)據(jù)庫(kù)XML應(yīng)用。
4)“基于XML的實(shí)驗(yàn)大綱管理系統(tǒng)”asp.net項(xiàng)目。
“基于XML實(shí)驗(yàn)大綱管理系統(tǒng)”的主要功能有實(shí)驗(yàn)大綱的增刪改、查詢和導(dǎo)出實(shí)驗(yàn)大綱Word文檔等。實(shí)驗(yàn)大綱的內(nèi)容由實(shí)驗(yàn)教學(xué)目的與基本要求、實(shí)驗(yàn)項(xiàng)目、指導(dǎo)書(shū)參考書(shū)和專業(yè)年級(jí)等組成,實(shí)驗(yàn)大綱管理相當(dāng)于管理一個(gè)父表“實(shí)驗(yàn)大綱主內(nèi)容表”和多個(gè)子表如“實(shí)驗(yàn)項(xiàng)目表”等。實(shí)驗(yàn)大綱系統(tǒng)的工作流程為:①獲取數(shù)據(jù)庫(kù)實(shí)驗(yàn)大綱XML文檔;②通過(guò)DOM解析XML文檔形成實(shí)驗(yàn)大綱網(wǎng)頁(yè)提交給用戶;③用戶的增刪改查通過(guò)DOM修改實(shí)驗(yàn)大綱XML然后保存到數(shù)據(jù)庫(kù)。導(dǎo)出實(shí)驗(yàn)大綱Word文檔則通過(guò)C#XSLT編程導(dǎo)出。學(xué)生通過(guò)該實(shí)驗(yàn)項(xiàng)目能掌握C#的DOM、XPath、XQuery和XSLT等XML編程開(kāi)發(fā)。
3 教學(xué)實(shí)施策略方式
項(xiàng)目案例教學(xué)與傳統(tǒng)按教材章節(jié)順序?qū)W習(xí)不是水火不容的,項(xiàng)目案例教學(xué)中有時(shí)也需要挑出某些教材章節(jié)進(jìn)行教學(xué),否則學(xué)生會(huì)搞不清楚概念,或不明白編程的原理,但教材知識(shí)也不能安排太多課時(shí)教學(xué),所以項(xiàng)目案例與教材教學(xué)需要有個(gè)平衡。
(1) XML課程的基本概念和項(xiàng)目案例所涉及的知識(shí)需要事先或在項(xiàng)目進(jìn)行中解釋清楚,如XML. DTD、XML Schema和XSLT語(yǔ)法等,語(yǔ)法知識(shí)的講解以能夠明白項(xiàng)目案例編程原理為限,無(wú)需安排太多課時(shí),盡量在項(xiàng)目案例中解釋語(yǔ)法知識(shí)。
(2)艱深的XML知識(shí)僅以能掌握項(xiàng)目案例的應(yīng)用及擴(kuò)展項(xiàng)目為目標(biāo)。XML課程有些知識(shí)(如 XPath. XQuery和數(shù)據(jù)庫(kù)XML應(yīng)用等)需要花很多課時(shí)才能講透徹,因此只能以項(xiàng)目案例的應(yīng)用講解其用法,只要求能掌握類似的應(yīng)用即可。例如,數(shù)據(jù)庫(kù)的視圖、查詢或存儲(chǔ)過(guò)程都用到從實(shí)驗(yàn)大綱表的XML查詢數(shù)據(jù),因此學(xué)習(xí)如下sql可以掌握如何從數(shù)據(jù)庫(kù)XML獲取所需數(shù)據(jù):
SELECT p.大綱id,T.c.value(@實(shí)驗(yàn)屬性,.nvarchar(10)),T.c.value(實(shí)驗(yàn)項(xiàng)目名稱 nvar-char(50)) FROM實(shí)驗(yàn)大綱p CROSS APPLY大綱xml.nodes(實(shí)驗(yàn)教學(xué)大綱/實(shí)驗(yàn)項(xiàng)目)AST(C)。
然后學(xué)會(huì)類似應(yīng)用觸類旁通,有針對(duì)性地學(xué)習(xí)該項(xiàng)目案例中用到的知識(shí),而不必花很多時(shí)問(wèn)把XQuery等知識(shí)完全掌握后再開(kāi)始開(kāi)發(fā)項(xiàng)門,需要用到某些知識(shí)時(shí)再有目的地學(xué)習(xí),這樣學(xué)生既能很快掌握難懂的核心知識(shí)又能運(yùn)用項(xiàng)目開(kāi)發(fā)。
(3)控制教學(xué)進(jìn)度保證主要教學(xué)目標(biāo)完成。教學(xué)計(jì)劃和項(xiàng)目實(shí)施都應(yīng)該有明確的時(shí)間表,除做好教學(xué)內(nèi)容取舍外,教學(xué)過(guò)程中必須嚴(yán)格按照教學(xué)計(jì)劃安排講授與練習(xí),避免出現(xiàn)教學(xué)進(jìn)度控制不好的情況。為保證進(jìn)度,需要隨時(shí)注意學(xué)生的反饋意見(jiàn),及時(shí)調(diào)整教學(xué)內(nèi)容和實(shí)驗(yàn)子項(xiàng)目的局部需求,以實(shí)現(xiàn)整個(gè)項(xiàng)目開(kāi)發(fā)為主要目標(biāo),兼顧核心XML知識(shí)。對(duì)于可能反復(fù)出現(xiàn)的知識(shí)點(diǎn),如XPath在多處應(yīng)用,應(yīng)盡量安排在前期講解。雖然由于時(shí)間關(guān)系,無(wú)法獨(dú)立完整教授各個(gè)知識(shí)點(diǎn),老師仍需做簡(jiǎn)要鋪墊,以免造成學(xué)生的學(xué)習(xí)困境。
4 XML編程應(yīng)用能力
系統(tǒng)的4個(gè)子項(xiàng)目由老師講解和演示系統(tǒng)開(kāi)發(fā)的全過(guò)程,然后學(xué)生在老師的指導(dǎo)下通過(guò)相互協(xié)作獨(dú)立完成該系統(tǒng)。模仿開(kāi)發(fā)項(xiàng)日是學(xué)習(xí)的第一步,能否運(yùn)用所學(xué)知識(shí)和技能開(kāi)發(fā)類似項(xiàng)目才是真正掌握XML編程開(kāi)發(fā)的關(guān)鍵。這里要求學(xué)生能自主完成“基于XML教學(xué)檔案管理系統(tǒng)”,該系統(tǒng)將包括課程教學(xué)大綱、實(shí)驗(yàn)大綱、教學(xué)日歷和實(shí)驗(yàn)進(jìn)度表等教學(xué)資料的管理,是項(xiàng)目案例的擴(kuò)展和更廣的應(yīng)用。傳統(tǒng)教學(xué)單純學(xué)習(xí)XML理論知識(shí),沒(méi)有一個(gè)貫穿全部知識(shí)的案例項(xiàng)目,知識(shí)點(diǎn)雖然全面但零碎,很難讓學(xué)生懂得如何將XML技術(shù)應(yīng)用實(shí)際項(xiàng)目巾,知識(shí)與應(yīng)用脫節(jié),XML編程應(yīng)用能力差。相比而言,學(xué)生通過(guò)這樣X(jué)ML案例項(xiàng)目,從XML文檔設(shè)汁、轉(zhuǎn)換,到基于XML數(shù)據(jù)庫(kù)應(yīng)用及Web系統(tǒng)開(kāi)發(fā),能深刻理解XML在Web應(yīng)用編程開(kāi)發(fā)過(guò)程的所有技術(shù)要點(diǎn),并將大量的時(shí)間花在Web系統(tǒng)的開(kāi)發(fā)和XML編程應(yīng)用中,極大地提高XML編程應(yīng)用能力。主要體現(xiàn)在以下幾個(gè)方面:①使用XMLSPY軟件工具設(shè)計(jì)XML文檔及DTD和SCHEMA;②使用Stylevision工具設(shè)計(jì)XSLT義檔實(shí)現(xiàn)從XML到Word 2007等多種文檔格式轉(zhuǎn)換;③在數(shù)據(jù)庫(kù)中使用XML文檔作為存儲(chǔ)元素并用XQuery技術(shù)在系統(tǒng)開(kāi)發(fā)中實(shí)現(xiàn)數(shù)據(jù)庫(kù)XML應(yīng)用;④基于XML的Web系統(tǒng)DOM等XML編程開(kāi)發(fā)。
這個(gè)教學(xué)案例能在有限的時(shí)間兒學(xué)生掌握XML核心知識(shí)和應(yīng)用,雖不能覆蓋全面的XML知識(shí),但能靈活應(yīng)用所學(xué)XML知識(shí)應(yīng)用于系統(tǒng)開(kāi)發(fā),為學(xué)生學(xué)習(xí)和全面掌握XML應(yīng)用開(kāi)發(fā)打下堅(jiān)實(shí)的基礎(chǔ)。
5 結(jié)語(yǔ)
根據(jù)應(yīng)用型本科XML課程教學(xué)的特點(diǎn),我們通過(guò)XML項(xiàng)目案例的精心設(shè)計(jì)和教學(xué)內(nèi)容的認(rèn)真組織安排教學(xué)?;诎咐?xiàng)目驅(qū)動(dòng)教學(xué)法和實(shí)驗(yàn)室“教、學(xué)、練”一體化教學(xué)法與傳統(tǒng)教學(xué)方法相比極大地提高了學(xué)生學(xué)習(xí)XML課程的積極性,加深了學(xué)生對(duì)XML技術(shù)的理解和掌握,全面提高了他們XML應(yīng)用程序開(kāi)發(fā)與編程能力以及工作就業(yè)能力。