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