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