陳世強
基于版本控制的《WEB應用開發(fā)—ASP.NET2.0》案例教學實踐
陳世強
福建師范大學盈峰信息技術學院軟件技術教研室
通過基于版本控制的案例教學解決了《WEB應用開發(fā)——ASP.NET2.0》涉及知識面廣、授課難度大的問題,使不同層次的學生都獲得了較好的學習效果。
版本控制 高職教育 案例教學
隨著各種技術的發(fā)展,Web應用已經不僅是一個網站,而是可以作為完整的企業(yè)級解決方案。特別是隨著Web2.0的各種技術(比如Blog、RSS、Podcasting、SNS和WIKI等)的出現(xiàn),更加顯示出了Web應用的發(fā)展?jié)摿??!禬EB應用開發(fā)——ASP.NET2.0》主要講解ASP.NET 2.0的相關技術,從最廣泛的Web應用原理到具體的技術實現(xiàn)和編程細節(jié)。如此龐大的知識體系,如何在一個學期內比較高質量地完成教學?案例教學是比較好的方式。
案例教學具有生動、形象、具體、實效性強的潛在優(yōu)勢,如何把案例教學的潛在優(yōu)勢,變成實實在在的教學效果? 我在《WEB應用開發(fā)——ASP.NET2.0》教學實踐中有較為深切的體會,這就是:“好案例 + 好教法 = 好效果”。
案例選擇要具有代表性,要能吸引學生,同時要能涉及到企業(yè)開發(fā)使用的較新的技術。電子商務系統(tǒng)(Adventure Works)就是這么一個好案例。一方面,網上銷售是比較新的銷售理念,學生迫切想了解,提起學生的興趣,你的授課就已經成功一半了。另一方面,該案例將WEB開發(fā)涉及到的較新技術極好地融合,有助于學生通過該案例的了解學到較新的技術。
版本控制(Revision control)是一種軟件工程技巧,籍以在開發(fā)的過程中,確保由不同人或同一個人不同時期所編輯的同一檔案都得到更新。在現(xiàn)代軟件開發(fā)中,對于大中型軟件而言,版本控制已經成為開發(fā)團隊必不可少的一種協(xié)作方法。版本控制能夠幫助團隊在較長的開發(fā)周期中,實現(xiàn)整個項目的可持續(xù)性和可迭代性。所謂可持續(xù)性,是指在整個開發(fā)周期中不會因為一些主觀或者客觀的因素如人力變更、設備損壞等引起項目的中斷,能夠保持項目的完整性。而可迭代性,則希望當項目的需求出現(xiàn)變更能夠返回較早的版本。
Adventure Works案例功能比較大,涉及的知識面很廣,因此,將案例進行功能拆分變得十分關鍵。按照《WEB應用開發(fā)——ASP.NET2.0》課程的要求以及WEB2.0的知識結構,將Adventure Works拆分為14個授課版本,依次編號為Adventure Works V1.0~ Adventure Works V14.0。
通過AdventureWorks教師授課版本的介紹,讓學生了解到相應的知識點。這樣就避免了過多的理論介紹,而是使教學內容應用化,教學目的功能化,能極大地提高老師學生的互動性,提高學生的動手能力。因為學生的層次水平有著比較大的差距,即使已經將案例拆分為比較小的版本,隨著知識層次的深入,部分學生還是會跟不上老師的進度,越學越沒有信心!為了解決這個問題,將教師案例版本做了稍微的調整,提供了Adventure Works學生版本。每個教師版本對應一個學生版本,如教師版本AdventureWorks V2.0對應學生版本AdventureWorks V2.0(實際上是教師版本AdventureWorks V1.0),這樣就可以有效地解決學生的進度問題。當然,對于能力比較好的學生,學生完全可以拋開老師提供的案例版本,而按照自己做的版本繼續(xù)完成新的版本。
在了解整個項目的實施流程之后,我們來看如何結合版本控制進行具體的實施。整個實施過程,為了讓學生和教師能夠同步完成項目,并允許部分比較優(yōu)秀的學生能夠提前完成項目或者進行項目創(chuàng)新改革;同時讓進度較慢的學生能夠在課后自習當中自我熟悉項目,引入版本控制。具體流程如圖1所示。
圖1 教學實施流程
如圖所示,整個項目的版本可以分成兩種類型:教師一種、進度較快的學生實施另一種。教師的版本作為授課版本,按照正常流程,實現(xiàn)序列從1到N的進度;而在實施過程中,結合傳授相關知識點和技術,實現(xiàn)從易到難的過程。如同我們上面將AdventureWorks項目分為14個版本一樣。對于進度較慢的學生,采取模仿同步,與教師版本同步,一旦中間某個版本出現(xiàn)難題,可以迭代返回到之前任何一個版本鞏固加強,再進行下一版本的學習。而對于掌握進度較快的學生,可以在教師版本基礎上進行擴展,擴展過程中如果出現(xiàn)問題也可以迭代到之前的任何一個版本。
在課程學習中,學生可以參與從項目最初版本開始,直到項目最后一個版本結束,通過項目的版本學習,能很好地了解課程在項目設計中的地位,以及課程相關知識點在項目中的體現(xiàn)。
案例版本控制解決了各個層次學生的學習問題,優(yōu)秀的學生可以根據項目版本設計進行適當的擴展,而學習相對有困難的學生則可以依據版本次序,逐層深入。跟不上教學進度的學生,則可以使用教師版本暫時替代,不至于影響下一個版本的學習。
一是在授課過程中,因為提供了項目的教師版本,學生容易產生依賴心理。二是在版本控制教學法中,教師版本的提供容易讓學生依葫蘆畫瓢,從而抹殺了學生的自我創(chuàng)新意識。
上述版本控制教學法存在一定的優(yōu)缺點,為了更好地發(fā)揮版本控制教學法的作用,在使用該教學法的過程中應該注意如下幾點:
4.1 案例設計要夠新穎,要對學生有吸引力,最好是能貼近學生生活的。
4.2 案例設計難易要適中,太難會讓學生有挫折感,太簡單又不能激起學生的學習欲望,同時案例設計中要將課程的重要知識點包含在內,不能完全脫離相關知識點。
4.3 案例的版本控制要逐級遞進,版本之間功能跳躍不能太大,否則容易讓學生迷茫。
4.4 教學中分析問題時老師不能將版本代碼全盤端出,而應以引導為主,鼓勵學生多動手,否則如果學生完全照搬照抄,就失去了教學的意義。
4.5 案例設計應該有可擴展性,留給學生創(chuàng)新的空間,這樣能讓優(yōu)秀的學生有發(fā)揮的空間。
[1] 微軟公司.WEB應用開發(fā)——ASP.NET2.0[M].北京:高等教育出版社,2007.
[2] 奚江華.圣殿祭司的ASP.NET 2.0開發(fā)詳解——使用C#[M].北京:電子工業(yè)出版社,2006.