摘 要:XML課程涉及的知識點繁多,技術新穎,且應用性強。傳統XML教學方案一般通過獨立案例逐步對各個知識點進行講授,實踐環節的設計簡單而分散,使得學生難以形成完整的知識體系,影響了他們對新知識的運用。本文給出基于項目驅動的XML課程教學方案,以項目貫穿整個課程教學過程,將XML相關各技術要點有機聯系和統一起來,在知識講授的同時著重于學生技能的培養,以提高學生綜合解決實際問題的能力。
關鍵詞:XML課程;項目驅動;教學方案設計
本科高校開設的XML課程[1-2] 是一門面向應用的課程,一般涵蓋XML應用和XML程序設計技術。XML本身是由各種適用于解決特定問題的技術所組成的龐大技術體系,該課程所涉及的知識點多,針對的應用面廣。傳統的教學方案中,對教學內容的組織一般按各種技術點進行劃分,每種知識點先解釋基本概念,介紹技術原理,再舉應用實例。這種方法完全由教師主宰教學進程,僅采用講授法進行知識灌輸,學生往往難于接受繁雜的新知識;而僅憑簡單應用實例來講解知識和技術,學生完成學習后,難于應對實際開發問題。
項目驅動法在教學過程中以項目的設計和實施為主線,把知識點融入項目執行的各個環節中,隨著項目的進展完成各項教學任務。項目驅動的學習是一種基于建構主義學習理論的探究式學習模式[3]。建構主義的學習觀強調學習的本質是學習者積極主動地進行知識意義的建構過程[4]。教師指定應用場景,提出項目需求,引導學生在已有的基礎上積極建構新的知識體系;學生則是項目的主動參與者,需要運用已有知識和技能,結合新知識去嘗試自主解決問題。該教學模式通過學生參與和師生互動,充分激發學生的
學習積極性,把新知識融入已有的知識框架中,并用于解決實際問題。
項目驅動的教學方法近年來得到大量關注,已在不少應用型課程的教學中得到了研究和實踐[5-7]。由于不同課程存在特殊性,教學方案的可操作性很大程度與課程內容相關。針對XML課程的特點和傳統教3ea1d154a859ea7e85f63145e31ab61702459c861bdbce89aa4e1321e0677852學方案的不足,本文提出基于項目驅動的教學方案。
1 教學方案概覽
XML課程的項目驅動教學方案的基本框架如圖1所示。教學過程中的基本角色——教師和學生通過項目這個媒介完成基本教學任務。為了使課程知識點的與項目實施緊密結合,教師需要深刻領會XML知識點的分布和聯系情況,從而合理設計項目框架。一方面需要組織教學用項目,便于知識點的介紹和技術的講解,以及合理引導學生展開學習;另一方面,需要指定能與教學項目同步的實踐用項目,讓學生應用所學的新技能,獨立完成設計任務。由于項目教學過程中,師生之間需要較多互動,因此教師需要隨時觀察學生的學習情況,積極聽取學生的反饋信息,及時調整教學進度,從而保證整個課程的教學效果。
基金項目:福建省自然科學基金項目(2008J04005)。
作者簡介:陳榮鑫,男,講師,研究方向為軟件自動化、數據庫技術;江邊,女,碩士研究生,研究方向為高等教育管理。
本門課程安排在第三學年,計算機專業本科三年級學生一般都學過高級語言程序設計和數據庫技術這兩門重要的先修課程,掌握了相關背景知識和基本編程技術。由于進行過課程設計,學生曾經接受過中小型項目開發的訓練,具備基本的開發經驗。筆者所在學校的多數學生還學習了Web程序設計這門選修課,學生所具備的這些基本素質和訓練都為項目教學的順利開展提供了基本條件。此外,從事該門課程教學工作的教師大多具備有企業級項目開發經歷,承擔或參與過各類橫向項目,項目實踐經驗較為豐富,師資情況為項目教學的成功進行提供重要保障。
2 教學內容組織
教學內容組織是開展教學工作的前提。首先需要根據大綱規定的教學知識點,對教學內容合理分析和劃分,使之易于融入教學項目實施的過程中。其次對各個有內在聯系的知識模塊協同項目實施進程進行
組織。最后為教學計劃制定課時安排,包括分配講授課時和實踐課時。
2.1 內容劃分
XML課程教學知識要點包括XML數據本身的描述和組織形式,XML數據的正確性驗證,XML數據對象與應用,XML的解析模型和解析方法,以XPath為關鍵技術的各種查詢、變換方法,以及界面格式化應用。圖2展示了項目層次與XML課程知識點的關系,圖中的圓圈表示各知識要點,箭頭反映了知識點之間的依賴關系,也決定了知識點的教學先后次序。
一個Web典型應用項目的開發層次主要有三個,即數據層、服務層和界面層。XML技術體系為此類開發提供了豐富和完整的解決方案,對應各個設計層面提供相應的技術設施,課程中的知識要點可以劃分到相應的開發層次中去。圖2反映了XML知識體系根據項目實施層次劃分的結果。
2.2 內容組織
在教學內容劃分的基礎上,可以清晰地發現各個知識要點的分布情況,這有利于進一步把知識要點映射到教學項目實施進程上來。教學項目的具體功能的需求分析要和所要介紹的知識點或技術要點結合起來。如下表所示,項目總體按三個功能層次劃分,細化的功能描述說明了每個單位模塊的具體需求。
數據層部分:需要定義基本的信息數據,即完成XML數據庫設計。需要分別通過兩種重要的XML數據驗證手段——DTD和XML Schema對數據進行合法驗證。
服務層部分:完成XML操作基本功能的設計,包括實現對數據的新建、增加、刪除和修改等操作。還要完成各種附加功能,如pdf文檔輸出,與關系數據庫連接以及遠程通信服務等。應用的核心技術點包括DSO數據島技術,以及XPath技術等,這些應用使得項目系統具備較為完善的功能,技術含量也大為增加。
界面層部分:根據功能需求,采用CSS,XSLT等不同方法,完成數據的個性化顯示設計。
2.3 課時安排
教學順序基本可以按下表中安排的次序進行,先學習數據層,接著服務層,最后是界面層。鑒于界面層相對比較簡單,知識點較為單一,也可以安排在服務層之前學習。進度可參照表中右列的教學課時進行,按總計36個授課學時進行分配。由于數據層的內容涉及較多XML入門知識,分配了8個課時;服務層部分集中了XML關鍵技術應用,有些知識點還有相互交叉和依賴現象,較為復雜,故分配了22課時;界面層相對較為容易,故用6個課時完成。
實踐環節共計18個課時,一般是完成一個教學要點講授后,對可獨立實現的功能安排實驗課。數據層實踐由于需要熟悉開發環境和各種軟件操作,可適當安排多些時間,分配6課時。服務層的實踐內容豐富,主要功能在這階段開發完成,分配8個課時。其中按功能需求細化,查找操作類的功能實現占3課時,更新操作類的占3課時,其他應用類占2課時。界面層的設計較為簡單,安排2個課時。最后留出2個課時作為系統整合調試用。如表1所示。
3 教學實施過程
教學實施過程由講授、實踐、評價三個環節組成。其中講授和實踐兩個環節同步進行,評價環節則在實踐環節開展過程中分階段進行。
3.1 講授環節
項目驅動教學法以項目作為新知識講授和新技能培養的載體,講授不僅需要強調基本概念和技術原理,這一環節更重要的目標是引導學生以開發者的角度出發,用工程應用的方法來解決實際問題,學生在參與項目學習的過程中,完成新知識體系的建構。講授過程中需要處理好以下幾個關鍵問題。
1) 知識講解和技能培養的結合。
在教學項目教授過程中,教師本身扮演了兩個身份,即是需求專家,又是總設計師。講授時需要引導學生如何解決實際問題,從而理解某項技術的用途和基本原理。學生則需要用項目參與者的角度,加深對新概念的理解和掌握,并與已有知識融合,活學活用,培養使用新技能進行應用開發的意識。比如在進行界面層的教學時,給出對XML數據進行可視化的需求,首先可選用級聯樣式單(CSS),該法與傳統Html的格式化輸出方法一致,簡單易用。接著提出對XML更細致的格式化要求,比如要求抽取部分數據,包裝后按要求顯示,CSS無法做到此類更為靈活的格式化輸出,此時引入可擴展樣式語言轉換(XSLT)技術,才能很好解決該問題。學生在學習新知識時,很快能理解該技術的產生的背景和適合的應用場景。
2) 重點突出和邏輯清晰。
教學項目的實現與實際項目開發的目的存在差別,需要把握好度。教學項目的實施原則上要求獲得一定效果,但是更重要的是幫助學生建構新的知識和技能體系,而該體系的建立依靠概念的深入理解和基本原理的掌握。項目的完善需要注重設計和編碼開發,如果一味追求項目的實施效果,而把XML關鍵知識的學習放在次要位置,容易造成舍本逐末。
傳統教學方法基本上是按章節組織教學,先見樹木,后見森林,容易隔斷知識點之間的聯系。項目驅動方法的引入,不能弱化知識點的介紹。由于項目功能通常會涉及幾種技術,各種技術之間的聯系不可避免,但太多聯系,容易造成混亂,因此需要有清晰的邏輯框架,組織知識點的講授。每個重要知識點的講授都需要依靠一個合適的項目功能作為實施載體,也就是說每個項目功能的實現需要突出一個知識要點。比如服務功能開發中,登陸驗證功能的需求主要為了引入XPath技術的應用;而搜索帖子功能仍可以利用XPath實現部分功能,但主要是為了引入XQuery技術的介紹。
3) 教學進度的控制。
教學計劃有明確的時間表,項目實施也有時間表,二者不可能完全一致,但應盡量把二者統一。要使得兩條時間線要很好吻合,除了做好教學內容取舍以外,教學過程中必須嚴格按照教學計劃安排講授時間。若教學進度控制不好,容易造成有始無終的后果,整個教學效果將大打折扣。由于教學情況是動態的,學生接受狀態等諸多因素都可能影響教學進度。為保證進度,需要隨時注意學生的反饋意見,及時調整教學內容和項目的局部需求。
4) 交叉內容的講解。
雖然整個XML知識體系存在層次脈絡,而且教學設計時完成了教學內容劃分,但還是無法把各個知識點進行獨立完整教學。表現在教學項目實施時,所涉及的某些知識點出現在后續章節;而某些知識點則是反復出現的。對于涉及的后續章節知識,由于時間關系不能展開細致的講解,教師仍需要做簡明扼要的鋪墊,否則可能造成學生的學習困境。對于可能反復出現的知識點,應盡量安排在前期講解,這些是教學內容組織時應該重點考慮的問題。
3.2 實踐環節
實踐環節和講授環節是同步進行的,需要強調有以下兩點:一是實踐項目和講授項目要有相似性。采用新學習的知識完成項目設計和實施畢竟難度較大,一個完全陌生的實踐項目難于在有限時間內被理解和實施,從而可能打擊學生的學習熱情。二是教學計劃中對講授和實踐的時間要求同步,便于學生能把新知識及時融入實踐中。
實踐環節完全以學生為主體,教師仍然需要把握好總體要求和進度。教師首先要提出明確的項目需求,在學生實踐過程中注意充分激發其主動性,鼓勵創新積極性,讓學生完成特定實踐環節后能獲得成就感。采用的措施包括點評較好完成的學生作品并予以表揚;對學生的反饋及時反映并加以引導,以項目合作者的角度與學生平等交流、討論設計與實現思路。
在實踐環節應該保留一定的區分度,對不同程度的學生在項目達成的程度上應制定不同的要求。包括技術選用難度和實現功能的數量等。比如對指定完成搜索帖子的功能,需進一步細化要求。在技術選用難度方面,基本要求是采用XPath獲取特定查詢結果,更高的要求是采用XQuery獲取查詢結果,并進行排序和除重等操作;在實現功能的數量方面,基本要求是完成兩個類似的查詢設計,更高的要求是增加更多類似的查詢設計需求。對于初學者,期望其在18個課時內完成所有實踐任務是不太現實的。為此,需要保證實踐課時的有效利用,集中解決學生設計和編碼過程中的疑問。同時,需要督促學生課后開展工作,鼓勵通過網絡自尋答案或共同探討等方式,解決實踐中遇到的各種問題。
實踐nWDZ93fzn28HD8nUAr8I4o8YqnlZtLTSDzdpTK8OZTU=項目的實施是分工合作的過程。小組成員原則可以自由組合,為保證實踐項目有效完成,教師需要適當介入和干預,盡量使得每個小組由學習較好的和較差的同學組成,并且要求各個成員有明確的分工。
3.3 評價環節
傳統的試卷筆試只能反映學生對知識的記憶情況和對技術的部分理解程度,難于全面考察學生對本課程的掌握程度。實踐性強是XML課程的最大特點,強調在應用中加深對知識理解和對技術靈活掌握,項目實施效果可為考核提供依據。因此考核不采用試卷筆試這種形式,而是根據實驗驗收情況和實驗報告質量來評定成績。成績分配方面,大體上實踐環節的設計和編碼效果占70%,實驗報告占30%。
實驗驗收通過問答考核方式進行,對每組的各個成員口頭提問,指定演示操作。要求學生按序進行,其他學生不得圍觀討論,以便確認每位學生完成工作的實際情況以及對技術要點的掌握程度。由于驗收是按階段進行的,因此可以達到密切跟蹤教學效果的目的,從而使教師及時發現問題,進行教學調整。驗收階段基本可按照實踐環節的進度安排,比如完成數據層設計,就進行第一次驗收;完成服務層設計的各個階段可以適當安排時間驗收。驗收前提是需要有可展示的階段設計和實施成果。
實驗報告反映了項目實施情況,反映了學生對知識的理解程度,以及基本的表達組織能力,應作為教學實施的重要記錄。在實驗報告的評價過程中應注意每個小組成員是否完成大致相等的工作量,避免他人代勞。
4 結語
針對XML課程的特點和傳統教學方案的不足,我們提出了項目驅動的教學方案,嘗試以項目作為知識學習和技能訓練的載體,把相關各技術要點有機統一起來。該法的目標不僅在于知識和技能的有效傳授,還在于學生實際應用能力的培養和提高。XML課程的教學實踐表明,項目驅動法能充分調動學生學習的主動性和積極性,使學生在學習和領會了XML課程基本知識和技能的同時,綜合應用能力和解決實際問題的能力得到了提高。今后我們還需要通過更多的教學實踐積累經驗,對該教學方案的內容、進度等各方面進行精心調整,使之更為合理有效,并適時加以推廣。
參考文獻:
[1]