前言:想要寫出一篇引人入勝的文章?我們特意為您整理了軟件工程專業(yè)Java語言教學改革范文,希望能給你帶來靈感和參考,敬請閱讀。
1前言
軟件工程專業(yè)是一門實用性強、與企業(yè)緊密關聯(lián)的專業(yè),其教學質量決定了所培養(yǎng)學生的專業(yè)素養(yǎng)和軟件從業(yè)能力,因此,大量的教學人員從各個方面對軟件工程教學進行改革探討。文獻[1]提出以企業(yè)需求為導向的java課程教學改革,著眼于提高學生實踐能力;文獻[2-3]提出基于教學團隊增強系列課程的教學效果;文獻[4]提出軟件工程專業(yè)實踐教學改革,提高學生的實踐能力;文獻[5]提出軟件工程教學改革與學生能力評估的探討,更客觀地反映教學效果。在軟件工程專業(yè)中,Java相關課程構成一組系列課程。這些課程之間相互關聯(lián),前修課程的教學效果直接影響后續(xù)課程的教學質量。因此,系列課程的教學計劃、教學大綱、教學團隊等元素要整體規(guī)劃、統(tǒng)一安排,將多門課程的教學方案做成一個整體,使得各課程之間能夠緊密銜接、階段項目之間合理進階,最終改善Java系列課程的整體教學效果。
2教學中的問題
課程之間銜接不夠緊密,課程安排不合理傳統(tǒng)Java系列課程在安排上存在如下問題。
1)課程安排不夠緊密。在這些課程之間還要穿插DoNet課程,如C#語言程序設計、ASP.NET程序設計等,因此,學生在學習一段時間的Java課程后,又需要進行一段時間DoNet課程的學習,使得之前學習的Java知識容易被遺忘,教學效果差。
2)課程安排不合理。如JavaWeb程序設計與XML與Web應用這兩門課程的講解內容都是Web開發(fā),可以合并為一門課程,而Java框架技術則是一門重要的企業(yè)級開發(fā)課程,沒有配置足夠的課時來保證課程的教學質量。教師之間缺乏交流,教學內容銜接不夠Java系列課程較多,參與教學的教師較多,教師之間沒有進行頻繁有效的交流,這不僅使得教師之間難以形成良好的團隊教學氛圍,而且影響了教學效果。
1)教學內容銜接不夠順暢。不同課程的教師往往按照自己的理解進行課程的講解,沒有考慮到該課程的教學如何為后續(xù)課程的學習打下堅實基礎。
2)教學案例進階不夠。不同教師的教學案例設計只考慮到本課程的教學需要,沒有考慮本課程在整個系列課程中的位置,使得不同課程的教學案例之間幾乎不存在繼承性和延續(xù)性,導致整體教學難以有效地進階,無法將學生的能力提升到一個新的高度。實踐環(huán)節(jié)不夠深入,難以提升學生的動手實踐能力實踐環(huán)節(jié)是保障學生動手能力的重要環(huán)節(jié),安排適合每門課程的階段項目是非常必要的。目前的教學沒有考慮不同課程的實踐重點,只注重完成相似功能的項目,難以深入全面地改善學生的實踐能力。
3教學改革措施
修訂教學計劃針對傳統(tǒng)Java教學中課程之間銜接不夠緊密,課程安排不合理的問題,對教學計劃進行修訂,主要內容如下。
1)基礎知識部分。該部分的課程為Java程序設計,課程主要講解Java語言的基礎,設定課時為64課時,開設時間為第一學年第二學期。
2)高級開發(fā)部分。本部分的課程將JavaWeb程序開發(fā)與XML與Web應用合并為Java高級編程,教學內容主要是結合Web開發(fā)技術講解抽象的組件開發(fā)技術,如表單封裝、數(shù)據(jù)庫模板、數(shù)據(jù)庫連接池、分頁等常用組件的編寫。本環(huán)節(jié)安排的課時為80課時,開設時間為第二學年第一學期。
3)企業(yè)級開發(fā)部分。企業(yè)開發(fā)部分的課程為Java框架技術(40學時)和Java框架技術實踐(32學時),開設時間為第二學年的第二學期。通過這一系列的教學計劃修訂,在沒有總體增加課時的基礎上達到對Java系列課程教學方案的優(yōu)化,使得Java系列課程能夠盡早、連續(xù)地開出,而且每門主要課程的學習課時得到顯著增加,有力地保證教學質量的提升?;诮虒W團隊開發(fā)教學內容參與Java系列課程教學的教師自動組建教學團隊,按照團隊制訂的教學大綱進行教學是保證Java系列課程深入有效開展的重要因素。因此,制訂符合每個階段課程的教學大綱是非常重要的。具體來說,每個階段的教學內容和教學案例如下所示。
1)Java程序設計階段:本階段的知識點涉及較多,主要是Java基本編程思想以及為后續(xù)課程準備的知識點,如多線程、反射、設計模式等,主要內容如下所示。
①類與對象:掌握必要的抽象思維,學會類的編寫和對象的使用;掌握類的繼承與多態(tài),學會使用多態(tài)進行程序設計。相應的案例是利用多態(tài)對不同的形狀對象計算面積。
②集合類:掌握常用的集合類及相關的數(shù)據(jù)結構,理解集合框架的結構及集合內存動態(tài)增長原理,理解迭代模式。案例是編程模擬實現(xiàn)ArrayList類。
③輸入輸出:掌握字符、字節(jié)的輸入輸出,理解裝飾者模式。案例是編程將學生對象輸出到外部文件。
④多線程:多線程的創(chuàng)建、并發(fā)控制等。案例是利用多線程模擬多用戶取錢業(yè)務。
⑤反射機制:掌握利用反射創(chuàng)建對象、反射調用對象方法。案例是將文件中的學生信息自動封裝為學生對象。
⑥設計模式:模板模式和動態(tài)模式。案例是利用動態(tài)模式實現(xiàn)中介賣票程序。
2)Java高級編程階段。本階段利用第一階段的學習內容開展深入的學習,以Web開發(fā)為基礎講解重要組件的編程實現(xiàn),如利用反射、模板模式和動態(tài)模式實現(xiàn)表單封裝組件、JDBCTemplate組件、分頁組件等,主要內容如下所示。
①DHTML:掌握HTML標簽、CSS、Javascript語法,特別是Javascript面向對象的特征。案例是制作網上商城主頁。
②Web服務器:介紹Web服務器Tomcat,并使用網絡編程的方法模擬服務器的響應。
③數(shù)據(jù)庫訪問技術:掌握利用JDBCAPI進行數(shù)據(jù)庫操作,結合模板模式來重構數(shù)據(jù)訪問的代碼。案例是利用模板模式、反射機制等實現(xiàn)JDBCTemplate組件;結合動態(tài)模式實現(xiàn)數(shù)據(jù)庫連接池組件,并利用多線程測試多用戶環(huán)境下程序的性能。
④Web開發(fā)技術:掌握Servlet的開發(fā)方法,掌握客戶端參數(shù)的傳遞和獲取。案例是結合反射機制實現(xiàn)表單自動封裝組件。
⑤標簽技術:掌握JavaBean、EL表達式和標準標簽,掌握數(shù)據(jù)顯示的方法。案例是使用反射和JavaBean實現(xiàn)分頁組件。
3)Java框架技術階段。本階段主要講解Struts、Spring和Hibernate三個框架的使用,其創(chuàng)新點在于通過利用Java高級編程階段編寫的組件來對框架主要功能進行模擬實現(xiàn),主要內容如下。
①Struts框架:掌握Struts的基本使用方法,理解Struts的工作流程,掌握Struts標簽、國際化、輸入驗證等。案例是利用表單封裝組件、反射機制、多態(tài)、XML等技術實現(xiàn)Struts框架功能。
②Hibernate框架:掌握Hibernate主要功能,特別是對象—關系映射ORM功能、緩存、HQL查詢、數(shù)據(jù)庫鎖、繼承、關聯(lián)等。案例是利用JDBCTemplate組件和XML解析實現(xiàn)Hibernate的ORM功能;利用CGLib動態(tài)模式模擬實現(xiàn)Hibernate的延遲加載(Lazy)功能。
③Spring框架:掌握Spring的主要功能,包括控制反轉IoC、面向切面編程AOP等。案例是利用AOP實現(xiàn)系統(tǒng)日志管理、數(shù)據(jù)庫事務管理。
④框架整合:將Struts、Spring、Hibernate框架進行整合,并利用團隊開發(fā)環(huán)境進行項目開發(fā)。從這個教學大綱的設計來看,基于團隊開發(fā)的教學大綱在內容上是無縫銜接的,將Java系列的主要課程整合為一個整體,有利于快速進階,改善學生的知識結構,提高學生的編程素質,達到企業(yè)用人需求。階段項目的設計對于每門課程,設計合適的、遞進的階段項目,對于深入掌握相關知識點,強化學生的動手能力是至關重要的。
1)Java程序設計階段。本階段課程主要涉及Java語言的編程基礎,綜合掌握相應的知識點對于理解Java編程思想、后續(xù)Java課程的學習有重要的作用。這一階段知識點眾多,而且受知識結構的限制,難以實施大規(guī)模的項目,為此,考慮將這些零碎的知識點結合起來,形成一個有實際意義的游戲項目——《飛機大戰(zhàn)》。通過游戲的開發(fā),學生可以在界面上看到程序中對象的狀態(tài),直觀地了解程序運行的過程;而且通過游戲開發(fā),可以提高學生的程序設計興趣;更重要的是,游戲集合了眾多知識點,這為學生深入掌握和應用這些知識點提供了一個良好的平臺。
2)Java高級編程階段。本階段主要進行可復用Java組件的開發(fā),因此,項目的設計與考查側重于Java組件的實踐。這一階段的項目是《網上商城》,該項目的背景清楚,學生大都具有使用網上商城的經歷,這能夠直觀地幫助學生了解項目的需求背景。將Web組件開發(fā)技術應用至《網上商城》的開發(fā),不僅可以使學生深入地掌握Java編程思想,而且可以大大加快軟件項目的開發(fā)。項目在考查時不僅需要查看項目的外觀、功能等因素,還需要了解學生在實踐中是否設計、開發(fā)并應用了Java組件,這對于提高學生的抽象思維能力以及動手實踐能力具有重要的意義。
3)Java框架技術階段。本階段主要是框架技術的使用,需要設計大型的企業(yè)級開發(fā)項目,并利用Java框架技術實踐課程來保證項目的實施質量。本階段的項目為《企業(yè)固定資產管理》,通過提供項目需求,使學生掌握軟件需求分析的步驟和方法,提高學生的系統(tǒng)分析能力和實踐能力。通過第二、三階段課程的學習,學生能夠深入理解框架的原理,而通過第三階段項目的開發(fā),則能使學生熟練掌握軟件開發(fā)的步驟與方法、框架技術的使用,從而達到企業(yè)的用人需求。
4結束語
本文針對Java語言系列課程在教學過程中出現(xiàn)的問題,提出一系列的優(yōu)化方案。通過優(yōu)化已有課程,使Java系列課程能夠盡早、連續(xù)地開出;通過建設Java教學團隊,設計了符合Java系列課程特點的教學大綱,使得Java系列課程的知識點形成一個漸進的整體;通過階段項目的設計,使得學生能夠在不同的階段開發(fā)側重點不同的項目,顯著提高學生的動手實踐能力。通過這一系列的改革措施,學生在學完Java系列課程后對Java語言、數(shù)據(jù)庫技術、設計模式、框架技術具有更好的綜合應用能力,對于提高學生的綜合素質有明顯的改善作用。
作者:鄧澤林 謝中科