唐光義 張宏國 于波
摘要:框架類課程在高等院校的教學實踐活動中一直存在,在軟件工程專業中所占比重較高。文章針對在框架類課程教學過程中存在的重理論輕應用、課程之間教學內容相互重疊以及教學案例間缺少關聯的問題,提出框架類課程的整合教學方法,闡述通過對教學方法、教學內容以及教學案例的整合,達到厚基礎、強實踐、重應用的目的。
關鍵詞:框架類課程;J2EE;整合教學方法;軟件工程
0、引言
隨著計算機應用的普及和開源編程語言的廣泛應用,在實際的程序設計中,很多地方都在使用程序開發的基礎框架。以JAVA開發語言為基礎出現的框架有上百種,其中比較流行的三大框架為:STRUTS、SPRING和HEBERNATE。這些框架在實際應用開發當中被廣泛使用,并在高校教學中作為專業方向課進行教學。例如在軟件工程專業的軟件開發技術J2EE方向,就有這些框架類課程的設置:基于MVC的WEB開發(STRUTS)、ORM框架原理與應用(HEBERNATE)和輕量級J2EE框架SPR/NG。
1、框架類課程的特點
在框架類課程中,有些是講某類框架的原理,例如基于MVC的WEB開發就是介紹MVC設計的原理,主要講解MVC的設計思想;ORM框架原理與應用同樣是講解一個框架的原理;而輕量級J2EE框架SPRING就是介紹具體的某個框架。在其他的課程中,也有基于某個框架進行的程序設計,如,NET平臺下Windows程序設計、Android平臺移動云計算開發;也有些課程是部分依賴于某個程序設計框架,如面向對象程序設計(VC++)中就會介紹MFC的使用,MFC是程序設計的框架基礎。
這些框架類課程都有一個共同點,就是先要把握框架的核心,把框架的原理介紹清楚,讓學生明白框架的應用價值、能給程序設計帶來怎樣的好處,然后再通過具體框架實例向學生說明框架的好處。在框架類課程教學中,要向學生強調對框架原理的理解與掌握,通過實踐來提高動手能力,使學生明白在應用中該如何用以及何時用,這就是框架類課程教學當中的“厚基礎、強實踐、重應用”。
2、框架類課程教學中的誤區
在各個高校中,框架類課程開設較多,但在各框架類課程教學中,缺少統一規劃,多門課程之間存在內容重疊,學生的學習效果并不理想。框架類課程的教學過程存在的主要問題包括3個方面。
2.1 重理論輕應用
該問題在本科院校的實踐教學中比較普遍,教師一般只注重原理教學,而輕視理論在實踐中的應用。造成該教學局面的原因是多方面的,首先,教師在教學的過程中認為在課堂上把原理講明白就夠了,實踐動手是學生自己的事情;其次,教學環境與教學時間的約束使框架類課程在本科院校中一般屬于方向選修課,學時較少,在有限的時間內不能過多地涉及到框架的應用方面;最后,現在高校的教師大多是“從學校到學校”,沒有實際項目開發經驗,在講解框架應用時,往往會“避而不談”。
2.2 多門框架類課程間教學內容重疊
在多個不同的框架類課程中,會存在共同點,有些框架類課程之間的基本原理相似,其區別僅僅體現在某些應用當中,這就需要在教學內容上進行整體規劃,在框架類課程中經常會出現的問題是在每門框架類課程開始時,都會介紹程序設計框架帶來的好處。
2.3 教學案例之間缺少關聯
在每門框架類課程教學中,一般都會介紹一些案例,這些案例往往都是孤立的,多門課程之間的案例缺少關聯性,學生沒有整體概念,知識點之間不能有效整合。
3、框架類課程在教學過程中的整合
框架類課程是軟件工程專業最重要的課程之一,在這類課程中包含了許多具體課程:基于MVC的WEB開發(STRUTS)、ORM框架原理與應用(HEBERNATE)、輕量級J2EE框架SPRING、NET平臺下Windows程序設計、Android平臺移動云計算開發等。在這些課程教學中,要通過對4個方面的整合來提高教學質量,提升教學效果。
3.1 教學方法的整合
提升教學效果應從教學方法人手,大學的學習是自主學習,教師在教學過程中需要告訴學生應如何學習,用什么樣的方法學習,這就涉及到教學方法的問題。在框架類課程中,一般強調框架的原理與框架的應用,在課堂教學中主要講解框架的原理,在原理的講解中可以采用案例教學法或對比教學法,通過具體案例應用與對比,學生真實感受到框架在程序設計中的好處。任何事物都有利有弊,框架也不例外。在框架類課程教學中,教師應該明確告知學生在使用框架時可能會帶來的弊端。只有讓學生深刻理解框架的兩面性,才能在以后的實際應用中對具體問題具體分析。例如在基于MVC的WEB開發當中,使用框架的確可以使程序代碼明確分層,降低程序模塊之間的耦合性,提高程序的可維護性和代碼的健壯性,但整個代碼的難度相應增加,直觀性降低。所以要把握在應用中根據要解決的問題來選擇框架,不要盲目使用。如果學生在學完框架的時候,說不出該框架的缺點,那就是沒有學會的表現。
3.2 教學內容的整合
教學內容在各框架的教學中,都是教學的重點,也是該課程的核心。在各框架中,都有自己的核心應用及強勢所在,同時也不可避免地會與其他課程在內容上有重疊,這就需要在教學內容上有所側重和刪減。在框架類課程整合的教學方法當中,每門課程的教學內容設計不能孤立,應在教學設計上把該專業方向的多門課程綜合起來,合理分配,認真考量該專業方向應包括哪些知識點以及每個知識點應該放在哪門課程中講解,均勻分配每門課程的重點與難點,對每門課程的難度以及課程之間的前后依賴關系進行合理設計。
3.3 理論與應用的整合
在框架類課程的教學當中,要注重框架原理介紹,但理論不空洞,要以框架實例為基礎。以軟件開發技術J2EE方向的三大框架為例,基于MVC的WEB開發主要講解MVC的設計模式優點及在應用中如何進行MVC的分層,要結合某個具體框架,例如可以采用STRUTS2。在教學實踐活動中,具體采用哪個框架要根據目前軟件開發中哪個框架應用范圍最廣泛、流行度最好,同時要結合教學的難度和學生的實踐情況來選擇框架實例。
3.4 教學案例的整合
在每個框架的授課中,教師會通過具體案例來進行該課程的知識點和應用點的整合,往往能夠把該課程的知識點整合到一個具體的案例中,但在多個框架學習完成后,學生對框架并沒有整體概念,在實際的應用中,往往是多個框架整合應用,這就需要在多門框架類課程的教學中,對教學案例進行整合,能夠通過一個大的案例把多門課程的知識點和應用點貫穿進來,并通過對比讓學生形成整體概念,加深框架類課程知識點的理解,提高其實際動手能力。例如在軟件開發技術J2EE專業方向中,可以采用“學生檔案管理信息系統”,在講解基于MVC的WEB開發課程時,可使用STRUTS2框架進行該系統的實現;在講解ORM框架原理與應用課程時,可以把HEBERNATE框架添加進來,通過對比使學生清楚地看到所使用框架的好處。當然在其他的課程講解中,可以繼續使用“學生檔案管理信息系統”案例進行知識點的講解,這樣學生就減少了對項目背景以及項目需求的了解,可以將重點放到課程知識點的理解上。
4、結語
框架類課程在高等院校的教學實踐活動中一直存在,從專業基礎課到專業方向課。軟件工程專業的框架類課程所占比重較大,包含的科目較多,在進行框架類課程整合的過程中,不能完全把所有課程都整合進來。在實際的研究探索中主要整合了以JAVA語言為基礎的3大開源框架。通過框架之間整合教學方法的實施,明顯提升了學生的學習興趣,使學生在學習當中,能夠對多個框架進行融會貫通;在實際項目開發中,能夠靈活地根據項目特點進行框架的選擇;近年來軟件工程專業的軟件開發技術J2EE方向的學生就業率逐年攀升、用人單位對學生評價越來越來高。在今后的研究探索中,可以把框架類課程整合教學方法推廣到其他專業方向中,以便更好地完善與提升整體教學水平和教學效果。endprint