朱強
(合肥師范學(xué)院計算機學(xué)院,安徽 合肥 230061)
[文章編號]1671-802X(2016)04-0048-02
雙驅(qū)動模式下Java語言程序設(shè)計課程改革與實踐
朱強
(合肥師范學(xué)院計算機學(xué)院,安徽 合肥 230061)
將“項目驅(qū)動”和“競賽驅(qū)動”的教學(xué)方法引入到j(luò)ava語言程序設(shè)計課程中,著重培養(yǎng)學(xué)生的編程實踐能力和動手操作能力,使得畢業(yè)生與企業(yè)需求很好的銜接,提高了課程的教學(xué)質(zhì)量和教學(xué)效果。
競賽驅(qū)動;項目驅(qū)動;面向?qū)ο?;實踐
Java語言是一種跨平臺的面向?qū)ο蟮某绦蛟O(shè)計語言,也是當前比較流行的企業(yè)開發(fā)語言,廣泛地應(yīng)用于移動端應(yīng)用程序開發(fā)和企業(yè)級程序開發(fā),是當前計算機類應(yīng)屆畢業(yè)生必須掌握的一門高級編程語言。國內(nèi)很多高校計算機類專業(yè)都開設(shè)了這門課程,但是培養(yǎng)的學(xué)生與用人單位需求間存在很大的鴻溝,導(dǎo)致目前多數(shù)畢業(yè)生必須要經(jīng)過培訓(xùn)機構(gòu)的再培訓(xùn)才能順利找到相關(guān)的工作崗位[1]。因此,在《Java語言程序設(shè)計》課程教學(xué)中,如何加強學(xué)生編程實踐能力的培養(yǎng),實現(xiàn)專業(yè)學(xué)生零距離就業(yè),是個值得深入研究的課題。本文將“項目驅(qū)動”和“競賽驅(qū)動”的教學(xué)模式引入到該課程的教學(xué)中,優(yōu)化課程標準和實踐課程的內(nèi)容,在項目實踐中學(xué)習(xí)語法知識,鞏固所學(xué)內(nèi)容,在競賽活動中拓展Java體系知識視野和創(chuàng)新能力,從而提高學(xué)生工程實踐和編程實踐能力。
(一)當前教學(xué)過程中存在的問題
大多數(shù)計算機類專業(yè)學(xué)生在《Java語言程序設(shè)計》課程前通常已經(jīng)學(xué)習(xí)過至少一門高級語言程序設(shè)計課程,如《C語言程序設(shè)計》等。而計算機高級程序設(shè)計語言在基礎(chǔ)語法、語句等方面都具有很大的相似性[2],因此應(yīng)該盡量的縮短這些內(nèi)容的講解,而將重點放到實踐應(yīng)用知識點中去,如應(yīng)該加大圖形界面、數(shù)據(jù)庫編程和網(wǎng)絡(luò)編程等的講解。同時由于Java基礎(chǔ)包每過一段時間就會有所更新,所有要不斷地關(guān)注新知識點,選擇性地將這些新知識點導(dǎo)入到課程教學(xué)中。實踐教學(xué)作為提高學(xué)生編程實踐能力的重要教學(xué)手段,在現(xiàn)實執(zhí)行中往往得不到應(yīng)有的效果,這是因為一方面實踐教學(xué)學(xué)時的分配太少,另一方面實踐項目往往是對單一知識模塊甚至單一知識點的設(shè)計,很難提高學(xué)生的工程實踐能力。課程考核也在延續(xù)傳統(tǒng)的期末考試形式,這往往并不能反映學(xué)生的動手操作能力。以上種種都嚴重束縛了《Java語言程序設(shè)計》的實踐性課程特點,導(dǎo)致學(xué)生學(xué)習(xí)興趣不高,甚至厭學(xué)。
(二)改革的具體措施
課程組經(jīng)過深入調(diào)研,對《Java語言程序設(shè)計》的課程標準進行了修改,優(yōu)化了課時分配:理論課時24學(xué)時,實踐課程24學(xué)時;優(yōu)化了教學(xué)內(nèi)容:對于大部分語言知識都讓學(xué)生在實踐中來潛移默化的學(xué)習(xí)掌握,同時教學(xué)知識點也不在拘泥于一門教科書,引入新的知識點,比如導(dǎo)入應(yīng)用廣泛的MVC架構(gòu)設(shè)計、引進工廠設(shè)計模式等;改變了以往理論課和實踐課分開上課的模式,所有課時都在實驗室完成,以便邊講邊練,邊練邊學(xué);引入企業(yè)工程師帶學(xué)生學(xué)習(xí)部分實踐課程內(nèi)容。
以上所有的改革措施都是在引入以“項目”驅(qū)動的教學(xué)模式下完成的。所謂的“項目驅(qū)動”的教學(xué)是指以學(xué)生為中心,在教師的指導(dǎo)下,以項目為驅(qū)動的教學(xué)模式,是探究式教學(xué)模式的一種。這種教學(xué)模式是將知識點融入到具體典型項目中,創(chuàng)設(shè)有利于學(xué)生發(fā)揮潛能的學(xué)習(xí)環(huán)境或模擬真實的職場情景,讓學(xué)生主動全程參與教學(xué),在動手實踐中學(xué)習(xí)知識,以培養(yǎng)學(xué)生的實際編程開發(fā)能力。
課程組引入和設(shè)計了成績管理系統(tǒng)、五子棋游戲、投票系統(tǒng)和聊天軟件等實踐項目,系統(tǒng)地將知識點引入到項目中。第一,學(xué)生分組選擇相應(yīng)的項目,學(xué)習(xí)了解項目的功能,并要寫出項目的所有功能劃分;其次,在老師對總體架構(gòu)進行講解或類似項目分析后,要求學(xué)生通過查找相關(guān)的資料,嘗試著去搭建所選系統(tǒng),如界面等;第三,在教師的幫助下,一步步實現(xiàn)所有的功能模塊,在此過程中,教師對學(xué)生的學(xué)習(xí)方向或項目所需知識點進行引導(dǎo)式的指點,知識點的語法功能、類中函數(shù)使用等都由學(xué)生自主獨立完成學(xué)習(xí);第四,在項目完成后,以小組進行項目的驗收答辯,小組之間相互作為裁判打分。最后,小組要總結(jié),完成項目學(xué)習(xí)報告,列出從項目實現(xiàn)中所學(xué)習(xí)到的新知識點,教師再給出下一個有利于知識延伸的項目案例。
高校中《Java語言程序設(shè)計》課程往往都是一個學(xué)期內(nèi)完成,自控能力較弱的學(xué)生在其它學(xué)期就很少接觸到相關(guān)知識,時間一長,本已學(xué)會的知識也都忘記了。為此,課程組引入多種競賽活動,不僅能激發(fā)學(xué)生再學(xué)習(xí)興趣,長期的在Java知識體系中遨游,更能在競賽中獲取新的知識,拓展學(xué)生對Java體系視野的拓展,提高他們的應(yīng)用編程能力和創(chuàng)新應(yīng)用能力。
首先,課程組每年都會組織學(xué)院內(nèi)的程序設(shè)計大賽,大賽模擬ACM程序設(shè)計大賽,在實驗室中搭建大賽的環(huán)境,所有在校學(xué)生都可以參與比賽。比賽結(jié)束后不僅有豐富的物質(zhì)獎勵,更將比賽結(jié)果與相應(yīng)課程掛鉤,獲得二等獎以上的學(xué)生都可以免修或免考該課程。
其次,引入ACM程序設(shè)計大賽,該賽事是在眾多的計算機類競賽中規(guī)格最高、最權(quán)威的競賽[3]。為了使學(xué)生能順利參與比賽并獲得較好的成績,課程組改革實踐課程教學(xué)和考核模式。課程組首先從多所名校的開放平臺式如HUSTOJ上收集整理的相關(guān)的題庫,學(xué)生可在開放實驗室中練習(xí)題庫中的題目。同時,開放實驗室每天都有教師或高年級學(xué)生對他們進行輔導(dǎo)[4]。為了激發(fā)學(xué)生的積極性,更是改革了考核模式,如果學(xué)生能在題庫中隨機抽取5道題目作對3題則可以免于期末考試。
第三,組織學(xué)生參加“中國大學(xué)生服務(wù)外包”競賽,該大賽的主要目的是搭建產(chǎn)學(xué)結(jié)合的大學(xué)生服務(wù)外包創(chuàng)新創(chuàng)業(yè)能力展示平臺,學(xué)生可以自由組隊,經(jīng)過報名參賽、自主選題、分散備賽和集中答辯的環(huán)節(jié),評選出相應(yīng)的優(yōu)秀團隊。在形式上,注重學(xué)生的團隊協(xié)作,在虛擬的商業(yè)環(huán)境中解決問題。賽題一方面來源于現(xiàn)代服務(wù)產(chǎn)業(yè)企業(yè)的現(xiàn)實需求,鼓勵學(xué)生綜合考慮業(yè)務(wù)模型、技術(shù)方案、商業(yè)運營等各種因素,提供完整方案,立足實際情況創(chuàng)新應(yīng)用;另一方面,大賽還鼓勵參賽團隊提出有創(chuàng)造力的創(chuàng)意項目,在優(yōu)秀方案的基礎(chǔ)上實現(xiàn)創(chuàng)業(yè),增強大學(xué)生的創(chuàng)新創(chuàng)業(yè)意識[6]。從近幾年的出題看,該競賽大量用到Java體系知識,參與賽事,能很好地培養(yǎng)學(xué)生的編程實踐能力和創(chuàng)新創(chuàng)業(yè)能力。
另外,課程組也組織學(xué)生參與了安徽省大學(xué)生程序設(shè)計大賽、全國軟件設(shè)計大賽、Java程序設(shè)計大賽等能鍛煉學(xué)生工程應(yīng)用能力和編程實踐能力的各項賽事,課程組會安排教師輪流為學(xué)生對賽事情況進行輔導(dǎo)。同時,加大實驗室開放力度,提供給學(xué)生一個好的實踐鍛煉環(huán)境。
以“項目驅(qū)動”和“競賽驅(qū)動”的教學(xué)方法能夠使學(xué)生對Java語言程序設(shè)計的極大興趣,并能潛移默化地培養(yǎng)學(xué)生計算思維能力和編程實踐能力、動手操作能力,有利于培養(yǎng)較高質(zhì)量的應(yīng)用型人才,提高了學(xué)生的競爭力。但在實施過程中也產(chǎn)生了一些問題,主要表現(xiàn)在來自真實工程項目的案例較少,有些競賽需要指導(dǎo)教師付出大量的心血,但不一定立即有很好的結(jié)果,教師也都是義務(wù)指導(dǎo)學(xué)生,沒有建立相應(yīng)的激勵機制等。
[1]徐 南.基于項目驅(qū)動的Java課程教學(xué)改革研究[J].教育與職業(yè),2011,(14).
[2]梁志紅,肖欣欣.Java程序設(shè)計的教學(xué)思考[J].計算機教育,2013,(16).
[3]項 煒等.以ACM競賽驅(qū)動程序設(shè)計類專業(yè)課教學(xué)改革[J].計算機光盤軟件與應(yīng)用,2012,(19).
[4]李 平,杜 力.以學(xué)科競賽為驅(qū)動的主動式實踐教學(xué)探索[J].中國電力教育,2013,(11).
[5]趙永華等.關(guān)于程序設(shè)計在工科院校中教學(xué)改革的探討[J].教育教學(xué)論壇.2015,(27).
[6]徐勝舟.以學(xué)科競賽驅(qū)動程序設(shè)計類課程教學(xué)改革研究[J].軟件導(dǎo)刊.2015,(5).
(責(zé)任編輯:卓 如)
TP312
A
2016-07-18
朱 強(1981-),男,安徽界首人,講師,碩士,研究方向:圖像處理、機器學(xué)習(xí)。Email:abelhftc@163.com.
資金項目:安徽省教學(xué)研究重點項目(2015jyxm276);合肥師范學(xué)院課程建設(shè)項目(2013hxk06)