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