西南石油大學肖斌廖浩德陳汶濱
基于軟件工程專業的JAVA程序設計教學改革
西南石油大學肖斌廖浩德陳汶濱
Java程序設計語言是高校計算機相關專業的核心基礎課程,傳統的教學方法不重視專業的特點,往往只關注語法和算法,導致各專業學生專業方向不明確,和后續課程脫節,學習效果不理想。筆者根據軟件工程專業的培養目標,在教學中結合java的面向對象的特點,融合工程化的思想,采用項目驅動的方式進行教學,強調對問題的分析和設計能力,以及解決實際問題的能力,提高了學生的動手能力和工程運用能力。并為后續的面向對象分析與設計、軟件設計模式以及軟件工程等核心課程做好了鋪墊,達到了該門課程為該專業培養目標服務的目的。
軟件工程專業針對企業選拔人才的標準,都把操作能力強、創新能力強的人才作為培養目標,然而畢業生往往無法達到用人單位的要求,課程教學內容和教學方法存在的問題是造成這一現象的重要原因。JAVA語言課程是計算機專業必修的一門專業課,由于JAVA語言具有面向對象、可移植性、簡單性、動態性、健壯性、分布性等優點,已廣泛應用于游戲控制臺、互聯網、手機智能卡、手持式電子消費類產品和企業應用等多個領域。因此,許多軟件工程專業以JAVA語言為必修課程,并構建JAVA體系課程群以達到其培養目標。課程群分層次逐步推進。以C為編程入門語言,以JAVA SE為JAVA基礎,以Servlet、JSP為WEB開發基礎,以Struts,Spring和Hibernate等框架整合應用為提高,構建JAVA語言四階段培養模式。
在JAVA語言的教學過程中,該門課程往往給學生留下了該語言內容枯燥乏味,理論與實際脫節的印象,使得學生缺乏積極學習的興趣和主動獨立分析問題的能力。其具體分析如下:
面向對象思想不突出,在JAVA語言四階段培養模式下,C語言作為程序入門語言有其獨到的優點,其程序結構簡單,便于學生理解語言基礎知識。其重在培養學生面向過程的編程思想。而JAVA是完全面向對象的語言,應側重于面向對象的編程思想,但是,在JAVA當前的教學內容中,針對JAVA特有語法和算法設計的案例多,JAVA和C之間的教學內容重疊。在JAVA培養四階段模式背景下,不能突出JAVA SE教學的重點,沖淡了面向對象思想培養的主題。
灌輸式的教學方式,目前,JAVA課程教學主要采用灌輸式的教學方法,此方法主要是以教師講課為主,學生聽課為輔的一種教學形式。
教學和實驗脫節,現在的JAVA語言課程的教學模式大部分采用多媒體講課和上機交替進行,且理論課時多,實驗課時少,這種先理論后實驗的模式阻礙了學生的知識的連貫性。
結合軟件工程的工程認證評估的需求,以及本校軟件工程專業的實際情況,在教學班實施以下教學改革。
從設計模式理解面向對象編程,從JAVA教學四階段培養模式的整體考慮,JAVA SE的教學應該重視面向對象思想的培養,這需要重新組織和安排JAVA SE的教學內容,減少JAVA基本語法知識的內容,突出JAVA語言特性,并引入與基礎知識密切相關的常用設計模式,例如簡單工廠模式,工廠方法模式,裝飾模式,觀察者模式等。結合JAVA API,JAVA WEB開發框架中用到的設計模式進行重點分析,開闊學生的設計視野,提高其分析設計能力。教學內容的變化引起教學方法的相應調整,對于設計模式的講解要擅于結合日常生活的例子進行案例設計,并在教學時采用對比法,在不使用設計模式的情況下實現案例代碼,然后分析代碼存在的弊病。應用設計模式改進設計。總結使用模式的優點。
選擇有利于培養學生創新能力的教學形式,教師的教學目標不是讓學生背語法,默寫程序,而是培養學生的軟件開發能力,使學生能夠自己獨立設計程序,采用理論與實踐相結合的教學方式,采取項目驅動式教學,使學生在項目中學習語法,語句和知識點。教師將學生分為項目小組的形式,模擬公司中軟件項目中的各種職員角色(編寫代碼人員,系統架構人員,項目經理,程序測試員等),選擇學生感興趣的具有代表性的實際項目,使學生適應就業需求,強化學生的項目合作意識,鍛煉學生的動手創新能力。
以教師為主導,學生為主體,教學過程中要讓學生參與到教學過程中,充分體現學生的主體地位,避免滿堂灌的現象,否則學生上課時積極性不高,課堂氣氛不活躍,教學效果不理想,針對程序設計課程,教師可以采取讓學生展示講述自己的代碼,老師帶領大家一起分析,評價學生的程序,指出其程序的優點和不足,這種互問互答的討論式和啟發式的教學方式,不僅可以調動學生學習的主動性和積極性,而且有利于學生在整個教學過程中集中精力,培養學生的創造性思維能力。而且更容易鍛煉學生的設計分析能力和實踐能力。
通過一學期的教學,教學效果明顯。首先學生明白了學習java程序設計不是學語法,而是學習用這個工具如何來解決實際問題;學生也清楚了該門課程與后續課程的關系;也懂得了一些軟件工程項目開發的過程。在最后的結業考試中全班同學順利通過考試。同時積極引導學生進行各類項目的申報,成功申報Google創新項目和創業項目2項。完成校內創新創業項目申報6項。參加南橋杯、軟件杯、java甲骨文程序設計大賽均獲得不錯的成績。
軟件工程專業在Java語言教學中實施項目案例教學,通過改革課堂及實驗教學內容和模式,能夠理論與實踐兼顧,能夠提高學生的分析與設計能力,提供學生的實踐能力。從而適應當今社會對軟件人才的需要。項目教學法可以充分調動學生學習的積極性,激發學生的學習熱情,引導學生學習新的知識和技能,提高學生分析問題和解決問題的能力。增強學生的實際動手能力。項目教學法充分體現了學生的主體地位和教師的主導作用。