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