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