李躍飛
摘要:項(xiàng)目驅(qū)動(dòng)教學(xué)法是一種以學(xué)生為核心、以項(xiàng)目研究為主線,強(qiáng)調(diào)學(xué)生實(shí)踐能力的培養(yǎng)的教學(xué)方法。本文采用該方法對(duì)《Java程序設(shè)計(jì)》做課程教學(xué)設(shè)計(jì),確立教學(xué)目標(biāo)、選取難度和規(guī)模適中的項(xiàng)目、按軟件工程思想管理和實(shí)施項(xiàng)目開發(fā)過程,并提出多元化的考核評(píng)價(jià)方式。
關(guān)鍵詞:Java程序設(shè)計(jì);項(xiàng)目驅(qū)動(dòng)教學(xué)法;教學(xué)設(shè)計(jì)
中圖分類號(hào):G71文獻(xiàn)標(biāo)志碼:A文章編號(hào):2095-9214(2015)06-0090-01
《Java程序設(shè)計(jì)》是我校軟件技術(shù)專業(yè)的專業(yè)基礎(chǔ)課,開設(shè)在一年級(jí)第二學(xué)期,前導(dǎo)課程有《C語言程序設(shè)計(jì)》。課程一共開設(shè)了96課時(shí),理論課與實(shí)訓(xùn)課的比例為1:2。
一、目前教學(xué)存在的不足
在教學(xué)過程中,我們發(fā)現(xiàn)了以下問題。
1.學(xué)生前半學(xué)期學(xué)習(xí)興趣高,大部分的學(xué)生愿意參與到理論和實(shí)踐教學(xué)中來。但是,隨著課程知識(shí)難度和代碼量的增加,一部分學(xué)生開始不能適應(yīng)教學(xué),體現(xiàn)在:基礎(chǔ)知識(shí)不扎實(shí);不能靈活應(yīng)用所學(xué)知識(shí);實(shí)踐能力不高。
2.教師一般采用這樣的教學(xué)模式:根據(jù)教材章節(jié)組織理論教學(xué),實(shí)訓(xùn)課針對(duì)當(dāng)次理論課設(shè)計(jì)內(nèi)容。整個(gè)教學(xué)圍繞“知識(shí)點(diǎn)”展開,卻忽略了知識(shí)點(diǎn)之間的聯(lián)系,缺乏設(shè)計(jì)型、創(chuàng)新型和綜合型的實(shí)驗(yàn),與實(shí)際應(yīng)用脫節(jié)。
二、項(xiàng)目驅(qū)動(dòng)教學(xué)法的特點(diǎn)
項(xiàng)目驅(qū)動(dòng)教學(xué)法是指在教學(xué)過程中,以學(xué)生為中心,以項(xiàng)目為驅(qū)動(dòng)的教學(xué)方式。其項(xiàng)目都是與企業(yè)實(shí)際生產(chǎn)過程或現(xiàn)實(shí)商業(yè)活動(dòng)有直接的關(guān)系,能轉(zhuǎn)化成具有實(shí)際應(yīng)用價(jià)值的產(chǎn)品為目的的任務(wù)。項(xiàng)目教學(xué)法的特點(diǎn)是:
1.學(xué)生是核心。項(xiàng)目驅(qū)動(dòng)教學(xué)法的核心是學(xué)生,通過學(xué)生自主、協(xié)同、探索式的學(xué)習(xí),完成項(xiàng)目的開發(fā)。
2.項(xiàng)目是導(dǎo)向。項(xiàng)目的主題與真實(shí)世界密切聯(lián)系,以項(xiàng)目為驅(qū)動(dòng)力。
3.強(qiáng)調(diào)實(shí)踐性。項(xiàng)目不是針對(duì)知識(shí)點(diǎn)設(shè)計(jì)的案例,而是與實(shí)際應(yīng)用緊密聯(lián)系的軟件,項(xiàng)目驅(qū)動(dòng)強(qiáng)調(diào)的是學(xué)生的實(shí)踐能力的培養(yǎng)。
4.具有綜合性。選取的項(xiàng)目不是針對(duì)某一個(gè)知識(shí)點(diǎn),而是一個(gè)完整、有實(shí)際意義的軟件,它綜合了多個(gè)知識(shí)點(diǎn)且利用軟件工程思想來管理項(xiàng)目的開發(fā)。
5.學(xué)習(xí)評(píng)價(jià)的多元性。項(xiàng)目教學(xué)法的評(píng)價(jià)注重學(xué)生在項(xiàng)目活動(dòng)中能力的發(fā)展,測(cè)評(píng)內(nèi)容包括學(xué)生參與活動(dòng)各環(huán)節(jié)的表現(xiàn)以及完成作業(yè)的質(zhì)量。
三、基于項(xiàng)目驅(qū)動(dòng)法的課程教學(xué)設(shè)計(jì)
1.教學(xué)目標(biāo)。根據(jù)人才培養(yǎng)方案和教學(xué)大綱,確定知識(shí)目標(biāo)為掌握以下六個(gè)模塊的內(nèi)容。
(1)Java基礎(chǔ),包括標(biāo)識(shí)符、變量、常量、運(yùn)算符和流程控制語句。(2)面向?qū)ο蟪绦蛟O(shè)計(jì)知識(shí),包括類型、對(duì)象、接口、封裝、繼承和多態(tài)。(3)數(shù)據(jù)與異常處理,包括常用的I/O流、異常類及異常處理模式。(4)界面設(shè)計(jì),包括常用的控件類、布局管理器及事件監(jiān)聽器。(5)網(wǎng)絡(luò)與多線程。能力目標(biāo)為理解面向?qū)ο蟪绦蛟O(shè)計(jì)思想,能編碼實(shí)現(xiàn)業(yè)務(wù)流程較簡(jiǎn)單的軟件系統(tǒng),具備一定的代碼調(diào)試能力。
素質(zhì)目標(biāo)為具備一定的獨(dú)立思考、團(tuán)隊(duì)合作、勇于探索等素質(zhì)。
2.項(xiàng)目選題原則。項(xiàng)目選題是教學(xué)設(shè)計(jì)的關(guān)鍵,選題既要涵蓋課程知識(shí)體系、與實(shí)際應(yīng)用緊密聯(lián)系、還要能提高學(xué)生的能力和素質(zhì)。合理進(jìn)行項(xiàng)目選題,應(yīng)考慮以下幾個(gè)因素:
一是規(guī)模和難度。規(guī)模應(yīng)適中,難度具有“階梯”性。項(xiàng)目過小,難以提升綜合應(yīng)用能力和實(shí)踐能力;項(xiàng)目過大,學(xué)生無法在有限的時(shí)間內(nèi)完成,影響教學(xué)進(jìn)度、有損學(xué)生信心;建議選取若干“階梯”性項(xiàng)目,難度由小到大。
二是應(yīng)用性和趣味性。項(xiàng)目選擇應(yīng)具有一定應(yīng)用價(jià)值,且是學(xué)生比較熟悉的領(lǐng)域,能激發(fā)學(xué)生的學(xué)習(xí)興趣。
3.項(xiàng)目實(shí)施。項(xiàng)目采用小組合作開發(fā)的方式進(jìn)行,4~5人為一組。項(xiàng)目實(shí)施過程按照軟件工程的思想來管理,分為需求分析、概要和詳細(xì)設(shè)計(jì)、編碼和測(cè)試等幾個(gè)階段。
(1)需求分析階段。需求分析是基礎(chǔ),直接影響項(xiàng)目的開展。在此階段,教師扮演用戶角色,學(xué)生通過與“客戶”交流、小組成員之間交流、探究已有系統(tǒng)的功能等方式,掌握系統(tǒng)的需求,撰寫需求分析文檔。
(2)設(shè)計(jì)階段。根據(jù)項(xiàng)目的規(guī)模和復(fù)雜度,對(duì)項(xiàng)目做概要設(shè)計(jì)或詳細(xì)設(shè)計(jì),或兩種設(shè)計(jì)都做。概要設(shè)計(jì)的主要任務(wù)是把需求分析得到的系統(tǒng)擴(kuò)展用例圖轉(zhuǎn)換為軟件結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)。設(shè)計(jì)軟件結(jié)構(gòu)的具體任務(wù)是:將一個(gè)復(fù)雜系統(tǒng)按功能進(jìn)行模塊劃分、建立模塊的層次結(jié)構(gòu)及調(diào)用關(guān)系、確定模塊間的接口及人機(jī)界面等。數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)包括數(shù)據(jù)特征的描述、確定數(shù)據(jù)的結(jié)構(gòu)特性。詳細(xì)設(shè)計(jì)的主要任務(wù)是設(shè)計(jì)每個(gè)模塊的實(shí)現(xiàn)算法、所需的局部數(shù)據(jù)結(jié)構(gòu)。撰寫設(shè)計(jì)文檔。
(3)編碼和測(cè)試階段
編碼是根據(jù)項(xiàng)目設(shè)計(jì)階段中對(duì)數(shù)據(jù)結(jié)構(gòu)、模塊功能以及模塊之間的調(diào)用關(guān)系等方面的描述、用Java語言編寫程序、實(shí)現(xiàn)各模塊功能的過程。在編碼過程中,需要做單元的白盒測(cè)試,編碼結(jié)束后要做集成測(cè)試和功能測(cè)試。
4.評(píng)價(jià)與考核。采用復(fù)合形式做出評(píng)價(jià)與考核。一是考核項(xiàng)目進(jìn)展情況,根據(jù)學(xué)生提交的源碼,從功能實(shí)現(xiàn)、編碼規(guī)范等角度做出評(píng)價(jià);二是考核文檔撰寫情況,根據(jù)學(xué)生提交的文檔,從文檔是否齊全、編寫是否規(guī)范等角度做出評(píng)價(jià);三是考核項(xiàng)目實(shí)施的真實(shí)性,通過答辯的方式來做出評(píng)價(jià);四是考核團(tuán)隊(duì)合作情況,根據(jù)答辯情況促進(jìn)學(xué)生之間的交流,并對(duì)小組成員間的合作和互助情況作出評(píng)價(jià)。
四、結(jié)束語
軟件技術(shù)專業(yè)的培養(yǎng)目標(biāo)是培養(yǎng)適應(yīng)企業(yè)需要,能夠解決實(shí)際問題的專業(yè)應(yīng)用型人才。將項(xiàng)目驅(qū)動(dòng)法應(yīng)用在《Java程序設(shè)計(jì)》課程教學(xué)中,以項(xiàng)目來驅(qū)動(dòng)教學(xué),不僅能充分調(diào)動(dòng)學(xué)生的學(xué)習(xí)興趣和學(xué)習(xí)自主性,更能提高學(xué)生的實(shí)踐能力和項(xiàng)目開發(fā)能力,培養(yǎng)學(xué)生的團(tuán)隊(duì)合作精神。為學(xué)生從事軟件開發(fā)工作,奠定了知識(shí)和能力基礎(chǔ)。
(作者單位:湖南信息學(xué)院)
參考文獻(xiàn):
[1]趙丹丹,李錫祚,宋海玉,王玲芬.項(xiàng)目驅(qū)動(dòng)教學(xué)模式在計(jì)算機(jī)類人才培養(yǎng)中的實(shí)踐[J].實(shí)驗(yàn)技術(shù)與管理,2011,(7):244-247.
[2]朱紅英,宮曉曼.基于項(xiàng)目驅(qū)動(dòng)的DACUM模型Java課程開發(fā)建設(shè)研究[J].科技通報(bào),2014,30(11):241-244.
[3]謝軍,徐莉芳.項(xiàng)目驅(qū)動(dòng)法在計(jì)算機(jī)教學(xué)中的運(yùn)用[J].教育學(xué)術(shù)月刊,2012,6:104-105.endprint