趙曉春
摘要:傳統(tǒng)的Java課堂教學(xué)過(guò)程往往是重理論輕實(shí)踐,并且在教學(xué)過(guò)程中存在一些問(wèn)題,和企業(yè)對(duì)Java開(kāi)發(fā)人才需求有著較大的差距。本文研究了Java課堂教學(xué)過(guò)程模擬實(shí)際軟件項(xiàng)目開(kāi)發(fā)場(chǎng)景,形成一種教學(xué)和項(xiàng)目深度融合的教學(xué)模式。整個(gè)教學(xué)過(guò)程以選取的項(xiàng)目案例為引線,讓學(xué)生扮演不同角色完成該項(xiàng)目功能。實(shí)踐證明,這種教學(xué)方法既激發(fā)了學(xué)生的學(xué)習(xí)興趣,提高了學(xué)生學(xué)習(xí)的主動(dòng)性,又增強(qiáng)了學(xué)生的動(dòng)手能力,能達(dá)到事半功倍的效果。
關(guān)鍵詞:Java程序設(shè)計(jì);實(shí)踐教學(xué);軟件項(xiàng)目開(kāi)發(fā)場(chǎng)景
中圖分類號(hào):TP3 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)10-0147-02
開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
Java是當(dāng)前最為流行的程序設(shè)計(jì)語(yǔ)言之一, 憑借著其良好的網(wǎng)絡(luò)地位、語(yǔ)言地位及需求地位,在市場(chǎng)上占領(lǐng)了一席之地,也是受很多企業(yè)青睞的一門開(kāi)發(fā)語(yǔ)言。所以絕大部分高校計(jì)算機(jī)等專業(yè)也會(huì)選擇Java這門語(yǔ)言講解面向?qū)ο蟪绦蛟O(shè)計(jì)相關(guān)課程。在本課程學(xué)習(xí)過(guò)程中,要求理論和實(shí)踐相結(jié)合,重在培養(yǎng)學(xué)生的編程理念,提高學(xué)生的編程水平。
1 目前Java課堂教學(xué)存在的問(wèn)題
1.1 學(xué)生不是課堂主體問(wèn)題
目前的Java課堂教學(xué),通常是由“理論+實(shí)踐”兩部分組成。理論部分采取的是教師灌輸?shù)慕虒W(xué)模式[1],實(shí)踐部分采取上機(jī)的方式實(shí)現(xiàn)。而且理論課所占的比例大于實(shí)踐課程,教學(xué)內(nèi)容絕大部分也僅僅局限于課本上的例題,學(xué)生只學(xué)會(huì)了課上的例題。即使通過(guò)上機(jī)進(jìn)行實(shí)踐,但是效果并不是太好。這樣的教學(xué)方法,導(dǎo)致學(xué)生在自主進(jìn)行程序設(shè)計(jì)時(shí),毫無(wú)頭緒,無(wú)從下手,不能做到活學(xué)活用,理論和實(shí)踐基本上處于脫離的狀態(tài),從而失去了學(xué)生的創(chuàng)造性,實(shí)踐教學(xué)效果不佳。
1.2 學(xué)習(xí)知難而退問(wèn)題
Java技術(shù)在很多行業(yè)中得到了廣泛的應(yīng)用, 同時(shí)很多培訓(xùn)機(jī)構(gòu)也一直在宣傳Java應(yīng)用開(kāi)發(fā)。學(xué)生非常了解社會(huì)對(duì)Java人才的需求量,知道學(xué)習(xí)好Java的重要性。所以在初次學(xué)習(xí)Java課程時(shí),大部分學(xué)生學(xué)習(xí)興趣十分濃厚,并且由于學(xué)習(xí)Java時(shí)有C語(yǔ)言以及C++的基礎(chǔ),比較容易入門。但是隨著課程的不斷深入就會(huì)出現(xiàn)一些問(wèn)題:
1)內(nèi)容太抽象,不易理解
如面向?qū)ο蟪绦蛟O(shè)計(jì)思想、抽象類、接口等內(nèi)容,如果課上選擇的例子不夠形象,學(xué)生很難理解。即使理解了,也不明白為什么要這么做,所以在教學(xué)過(guò)程中,如果沒(méi)有采取合理的教學(xué)方式往往會(huì)使學(xué)生因難而退。
2)思維定式問(wèn)題,不易轉(zhuǎn)換
雖然Java語(yǔ)言是一門高級(jí)語(yǔ)言,應(yīng)用更貼切生活,但有了先入為主的面向過(guò)程編程思維后,有些學(xué)生反而不會(huì)應(yīng)用現(xiàn)實(shí)生活的思維去進(jìn)行程序設(shè)計(jì),影響學(xué)生學(xué)習(xí)的積極性,讓學(xué)生產(chǎn)生畏懼心理,進(jìn)而影響Java課程的整體教學(xué)效果。
1.3 學(xué)習(xí)興趣不濃厚問(wèn)題
學(xué)生在學(xué)習(xí)過(guò)程中一直處于被動(dòng)地位,通過(guò)傳統(tǒng)課堂的講解,學(xué)到的基礎(chǔ)知識(shí)僅僅會(huì)完成課本上的例題,那么所學(xué)的知識(shí)在實(shí)際項(xiàng)目中怎么應(yīng)用,了解甚少。并且在講解Java基礎(chǔ)知識(shí)時(shí),有一部分理論內(nèi)容比較抽象,難理解,這樣很容易引起厭學(xué),使得學(xué)生對(duì)Java程序設(shè)計(jì)這門課程失去興趣。而且課本的實(shí)例學(xué)生不一定感興趣,對(duì)于不熟悉的內(nèi)容學(xué)生有時(shí)候也存在抗拒心理,不愿意去深入學(xué)習(xí)。這樣, 在實(shí)踐過(guò)程中, 導(dǎo)致學(xué)生只能照本宣科去敲代碼,而很少考慮代碼為什么這么實(shí)現(xiàn)的問(wèn)題,更何談自主設(shè)計(jì)、創(chuàng)新。
2 基于實(shí)際項(xiàng)目開(kāi)發(fā)場(chǎng)景的教學(xué)實(shí)踐過(guò)程
目前應(yīng)用型本科院校對(duì)學(xué)生的培養(yǎng)目標(biāo)應(yīng)逐步轉(zhuǎn)向職業(yè)化,在學(xué)習(xí)過(guò)程中要注重學(xué)生的個(gè)性發(fā)展,培養(yǎng)多元化的創(chuàng)新型人才。恰巧Java程序設(shè)計(jì)這門課程是學(xué)生走出象牙塔,初入職場(chǎng)時(shí)必備的技能,所以為了提高學(xué)生的編程能力,Java課程教學(xué)有必要模擬實(shí)際項(xiàng)目開(kāi)發(fā)場(chǎng)景進(jìn)行授課。
基于實(shí)際項(xiàng)目開(kāi)發(fā)場(chǎng)景的教學(xué)是根據(jù)教學(xué)大綱或者課標(biāo)確定具體的學(xué)習(xí)內(nèi)容,學(xué)習(xí)過(guò)程中“以學(xué)生為中心”,綜合考慮制定一種既能培養(yǎng)學(xué)生的綜合能力,又能把教學(xué)任務(wù)貫穿到項(xiàng)目開(kāi)發(fā)過(guò)程中的教學(xué)方案。具體可以從以下幾方面進(jìn)行:
2.1 選擇規(guī)模適中、難易度適中的項(xiàng)目作為實(shí)踐課堂教學(xué)內(nèi)容
選擇規(guī)模合適的項(xiàng)目[2]作為Java課堂教學(xué)內(nèi)容是基礎(chǔ),項(xiàng)目規(guī)模太大,或者是所選項(xiàng)目用到的知識(shí)比較難,對(duì)課程效果都會(huì)有一定的影響。綜合多方面考慮,本文選擇“銀行卡管理系統(tǒng)”作為教學(xué)講解內(nèi)容,銀行卡分為兩種類型:借記卡和信用卡,這兩種類型的銀行卡都包含登錄、修改密碼、查詢個(gè)人信息、消費(fèi)、存款/還款等功能,此外信用卡還具有和信用相關(guān)的一些功能。在銀行卡管理系統(tǒng)功能的實(shí)現(xiàn)過(guò)程中,Java中的封裝、繼承、多態(tài)及抽象等知識(shí)點(diǎn)都會(huì)用到,故該項(xiàng)目適合作為課堂實(shí)踐教學(xué)內(nèi)容。
2.2 按照項(xiàng)目角色分組
在實(shí)際項(xiàng)目開(kāi)發(fā)過(guò)程中,項(xiàng)目組成員各司其職,所以在教學(xué)過(guò)程中,會(huì)對(duì)學(xué)生也進(jìn)行小組及角色劃分,每個(gè)小組由項(xiàng)目經(jīng)理、軟件設(shè)計(jì)人員、研發(fā)人員、測(cè)試人員以及配置管理人員等組成(不同角色可以兼任),角色不同那么所承擔(dān)的責(zé)任也不同。教學(xué)過(guò)程中可以讓學(xué)生自愿或者是輪崗去扮演不同的角色。通過(guò)這種方式進(jìn)行教學(xué),一方面可以讓學(xué)生對(duì)軟件開(kāi)發(fā)過(guò)程有初步認(rèn)識(shí),另一方面可以讓學(xué)生通過(guò)模擬實(shí)際工作發(fā)現(xiàn)自己的興趣愛(ài)好以及特長(zhǎng),甚至可能對(duì)未來(lái)的職業(yè)選擇有一定的影響。同時(shí)通過(guò)小組協(xié)作方式的學(xué)習(xí)過(guò)程,既能鍛煉學(xué)生與人交流及語(yǔ)言表達(dá)能力,也能增強(qiáng)學(xué)生的團(tuán)隊(duì)意識(shí),培養(yǎng)學(xué)生的團(tuán)隊(duì)協(xié)作精神。
2.3 真實(shí)模擬實(shí)際項(xiàng)目開(kāi)發(fā)工作場(chǎng)景
為了增加學(xué)生的動(dòng)手時(shí)間,在教學(xué)過(guò)程中,教師主要從中選擇幾個(gè)具有代表性的模塊進(jìn)行講解,采用MVC或者是傳統(tǒng)的三層架構(gòu)方式,從界面控件如何布局、業(yè)務(wù)邏輯的處理方法及數(shù)據(jù)庫(kù)的具體實(shí)現(xiàn)這三方面實(shí)現(xiàn)模塊功能,講解后讓學(xué)生先實(shí)現(xiàn)教師所講模塊功能,然后再逐個(gè)實(shí)現(xiàn)該系統(tǒng)的其他功能模塊。通過(guò)真實(shí)項(xiàng)目開(kāi)發(fā)過(guò)程鍛煉,既能讓學(xué)生知識(shí)內(nèi)化[3],又能創(chuàng)造性地去實(shí)現(xiàn)其他功能,鍛煉學(xué)生的邏輯思維,同時(shí)能提高動(dòng)手能力。每個(gè)項(xiàng)目完成后,教師對(duì)整個(gè)項(xiàng)目所用到的知識(shí)點(diǎn)和學(xué)生容易出錯(cuò)的地方進(jìn)行總結(jié),進(jìn)一步鞏固學(xué)生的基礎(chǔ)知識(shí),補(bǔ)齊短板。
3 結(jié)束語(yǔ)
Java程序設(shè)計(jì)課程教學(xué)過(guò)程模擬實(shí)際項(xiàng)目開(kāi)發(fā)場(chǎng)景,通過(guò)項(xiàng)目案例進(jìn)行教學(xué)實(shí)踐。在整個(gè)教學(xué)過(guò)程中以學(xué)生為主體,教師起著引導(dǎo)性作用。通過(guò)做這種模式進(jìn)行教學(xué),既能培養(yǎng)學(xué)生的動(dòng)手能力,又能增強(qiáng)學(xué)生的團(tuán)隊(duì)協(xié)作意識(shí),讓學(xué)生在學(xué)習(xí)過(guò)程中逐步培養(yǎng)團(tuán)隊(duì)合作精神。
參考文獻(xiàn):
[1] 雷燕瑞. 高職項(xiàng)目驅(qū)動(dòng)式課程教學(xué)資源庫(kù)的設(shè)計(jì)與應(yīng)用研究[J]. 中國(guó)職業(yè)技術(shù)教育,2018(2)
[2] 吳奕. 層次化項(xiàng)目驅(qū)動(dòng)在JAVA教學(xué)中的應(yīng)用研究與實(shí)踐[J]. 當(dāng)代教育實(shí)踐與教學(xué)研究,2018(10).
[3] 游曉明,方志軍,姚興華.MOOC+翻轉(zhuǎn)課堂混合教學(xué)模式下應(yīng)用型高校教學(xué)改革與實(shí)踐[J].軟件導(dǎo)刊(教育技術(shù)),2017(1):7-9
【通聯(lián)編輯:張薇】