姜大志
(汕頭大學(xué)工學(xué)院計算機(jī)系, 廣東 汕頭 515063)
CDIO工程教育模式下的主動式項目驅(qū)動學(xué)習(xí)
——以“Java程序設(shè)計”課程為例
姜大志
(汕頭大學(xué)工學(xué)院計算機(jī)系, 廣東 汕頭 515063)
Java程序設(shè)計語言是當(dāng)今軟件開發(fā)的主流語言,也是計算機(jī)軟件類專業(yè)的學(xué)生必須掌握的一門基礎(chǔ)性面向?qū)ο蟪绦蛟O(shè)計語言。在大多數(shù)高校中,Java課程已成為計算機(jī)軟件類專業(yè)教學(xué)的骨干課程之一,其教學(xué)效果直接影響IT人才的培養(yǎng)質(zhì)量。結(jié)合“CDIO”工程教育模式,以主動式項目驅(qū)動學(xué)習(xí)的方式對汕頭大學(xué)《Java程序設(shè)計》課程進(jìn)行重新設(shè)計與開發(fā),進(jìn)而提高學(xué)生的學(xué)習(xí)興趣和效率,強(qiáng)化實踐教學(xué),增強(qiáng)職業(yè)能力,培養(yǎng)合格的軟件工程師。
Java程序設(shè)計;CDIO工程教育模式;教學(xué)改革
CDIO工程教育模式是由麻省理工學(xué)院、瑞典皇家工學(xué)院等四所大學(xué)通過4年的研究、探索與教學(xué)實踐建立起的一種基于工程教育的先進(jìn)教學(xué)模式,是一項關(guān)于國際工程教育改革的新型教育模式與成果,其中C、D、I和O分別代表構(gòu)思(Conceive)、設(shè)計(Design)、實現(xiàn)(Implement)和運作(Operate)。CDIO教育模式貫穿產(chǎn)品研發(fā)到產(chǎn)品運行的生命周期,讓學(xué)生以主動的、實踐的、課程之間有機(jī)聯(lián)系的方式學(xué)習(xí)工程。在能力要求方面,CDIO培養(yǎng)大綱將工程畢業(yè)生的能力分為工程基礎(chǔ)知識、個人能力、人際團(tuán)隊能力和工程系統(tǒng)能力4個層面,大綱要求以綜合的培養(yǎng)方式使學(xué)生在這4個層面達(dá)到預(yù)定目標(biāo)[1-3]。
《Java程序設(shè)計》是一門理論性與實踐性并重的課程,目前很多高校把Java課程作為計算機(jī)相關(guān)專業(yè)的基礎(chǔ)性課程,筆者依據(jù)以前的教學(xué)經(jīng)驗以及與同行間的交流,總結(jié)該課程存在:(1)課堂教學(xué)方法陳舊,以理論與語法教學(xué)為主,限制了學(xué)生的思維;(2)實驗教學(xué)方法薄弱,實踐能力沒有得到充分培養(yǎng);(3)學(xué)生的能力評估方法不足,理論考核的方式過于片面地評估學(xué)生的能力等問題?;谏鲜鰡栴},很多高校在其教學(xué)方法方面做出改革與改進(jìn)。如采用基于案例的教學(xué)方法[4]或者項目驅(qū)動教學(xué)方法[5]來輔助課堂教學(xué),學(xué)生在此過程中雖受到一定的項目和團(tuán)隊工作的實際訓(xùn)練,但是在團(tuán)隊協(xié)作精神、工程認(rèn)知、企業(yè)需求和環(huán)境認(rèn)知等方面還是有一定的欠缺。作為一種優(yōu)秀且新穎的工程教育模式,CDIO已被一些學(xué)者應(yīng)用到Java課程的教學(xué)改革中來[6-8],雖然能發(fā)揮一定的作用,但主要是在宏觀的層面借用CDIO的概念、模仿其過程,并沒有在細(xì)觀和微觀的層面貫徹和落實CDIO教育模式。
基于此,在汕頭大學(xué)《Java程序設(shè)計》課程的教學(xué)設(shè)計過程中,我們貫徹CDIO的核心精神,以CDIO過程為主導(dǎo),以主動式項目驅(qū)動式的方法使所學(xué)和所需相結(jié)合,最終實現(xiàn)把學(xué)生培養(yǎng)成為有專業(yè)技能、有社會意識和適合軟件企業(yè)多種工作性質(zhì)的軟件專業(yè)人才的培養(yǎng)目標(biāo)。
在CDIO的教學(xué)模式下,《Java程序設(shè)計》的學(xué)習(xí)目標(biāo)由兩個部分組成,一個是技術(shù)目標(biāo),另一個是CDIO能力培養(yǎng)目標(biāo)。
技術(shù)目標(biāo)主要是學(xué)生在課程中所需要掌握技術(shù)的具體要求,由9個方面組成:1、具有需求分析文檔、設(shè)計文檔和使用說明文檔等的編輯能力;2、探索系統(tǒng)的理解分析、系統(tǒng)的設(shè)計、系統(tǒng)的實現(xiàn)和實際運行效果之間的綜合影響;3、掌握Android平臺手機(jī)開發(fā)方法、掌握Eclipse平臺開發(fā)方法;4、應(yīng)用系統(tǒng)建模工具進(jìn)行系統(tǒng)的初步建模;5、應(yīng)用面向?qū)ο蟮乃枷雭碓O(shè)計系統(tǒng);6、使用多線程技術(shù)來優(yōu)化系統(tǒng)效率;7、分析面向?qū)ο蟮某绦蛟O(shè)計與面向過程設(shè)計方法的異同;8、分析軟件構(gòu)件的過程中所遵循的編碼設(shè)計原則,說明編碼設(shè)計原則給系統(tǒng)構(gòu)建帶來的作用;9、分析系統(tǒng)構(gòu)思與系統(tǒng)設(shè)計之間不一致性以及產(chǎn)生的原因。
CDIO能力培養(yǎng)目標(biāo)主要是培養(yǎng)學(xué)生的技術(shù)知識與推理能力,個人能力、職業(yè)能力和態(tài)度,人際交往能力以及在企業(yè)和社會環(huán)境下構(gòu)思、設(shè)計、實施、運行系統(tǒng)的能力。在CDIO能力培養(yǎng)方面,《Java程序設(shè)計》課程在4個大層次的26個微觀層次上建立了培養(yǎng)目標(biāo),目標(biāo)矩陣如表1所示。
主動式項目驅(qū)動學(xué)習(xí)方法要求學(xué)生在課程學(xué)習(xí)的過程中,以完成一個具體的項目(任務(wù))為主要線索。其具體實施步驟是學(xué)生自主地提出一個項目,該項目把教學(xué)內(nèi)容隱含在其中,經(jīng)過可行性驗證之后進(jìn)行自主、自治的項目實現(xiàn)。這種學(xué)習(xí)方法不僅深化了學(xué)生對理論知識的理解,從而真正有效地掌握知識,而且在最大程度上培養(yǎng)學(xué)生自主學(xué)習(xí)、自主管理、自主提出問題和解決問題的能力,同時也培養(yǎng)了學(xué)生的創(chuàng)新能力。
結(jié)合CDIO基本思想,主動式項目驅(qū)動學(xué)習(xí)的實施過程主要由以下6個項目實施的基本環(huán)節(jié)和1個綜合的反思環(huán)節(jié)組成:
環(huán)節(jié)I:課程理論教學(xué),其中包括Java開發(fā)工具介紹與環(huán)境配置、Java語言基礎(chǔ)講授、用Java語言實現(xiàn)算法(與數(shù)據(jù)結(jié)構(gòu)相結(jié)合)以及Java相關(guān)的新技術(shù)介紹;環(huán)節(jié)II:項目目標(biāo)下達(dá)與學(xué)生組隊;環(huán)節(jié)III:系統(tǒng)構(gòu)思,其中包括各小組項目目標(biāo)分析與確立、項目可行性分析、項目預(yù)算與成本分析(預(yù)算、耗材、人員配置和軟件資源)和項目報告會I(系統(tǒng)分析及其創(chuàng)意分析與評估)環(huán)節(jié)IV:系統(tǒng)設(shè)計,主要工作包括制定開發(fā)方案、制定開發(fā)計劃以及項目報告會II(項目設(shè)計方案評估、項目風(fēng)險評估);環(huán)節(jié)V:實現(xiàn)系統(tǒng),由系統(tǒng)重構(gòu)、項目報告會III(中期檢查)兩個環(huán)節(jié)組成;環(huán)節(jié)VI:運行與評估,主要包括系統(tǒng)驗收與測試、項目報告會IV(系統(tǒng)展示、系統(tǒng)成本分析、系統(tǒng)盈利分析、為我最喜愛的項目投票)和評估(學(xué)生自評、同組者評估、不同組者評估)。
表1 《Java程序設(shè)計》課程的CDIO能力培養(yǎng)目標(biāo)矩陣
與傳統(tǒng)的模式不同,CDIO以工程化的角度確定了培養(yǎng)標(biāo)準(zhǔn),這些標(biāo)準(zhǔn)以一種明晰的方式刻畫出合格的工程師所應(yīng)該具備的能力,因此在課程教學(xué)改革的過程中必須明確某一門課程服從了哪些標(biāo)準(zhǔn),培養(yǎng)了學(xué)生哪些能力,這就是制定CDIO能力培養(yǎng)矩陣的原因。但是有了能力培養(yǎng)矩陣,如何在教學(xué)過程中有效實現(xiàn)能力矩陣所設(shè)定的能力是一個更為關(guān)鍵的問題。因此我們采用主動式項目驅(qū)動學(xué)習(xí)中提出的實施過程中的6個環(huán)節(jié),依據(jù)實施環(huán)節(jié)與CDIO的相通之處,創(chuàng)造性地提出了環(huán)節(jié)保證矩陣來說明我們是如何實現(xiàn)能力培養(yǎng)目標(biāo)的。
從表2可以看出,6個環(huán)節(jié)覆蓋了表1的能力培養(yǎng)矩陣。新型的教學(xué)模式在一定程度上弱化了課堂理論教學(xué),而更加注重基于項目的教學(xué)與研討環(huán)節(jié)(環(huán)節(jié)III-VI)。此外在三個環(huán)節(jié)IV-VI中,學(xué)生將有機(jī)會在項目過程中深刻體會課程中的專業(yè)技術(shù)知識在實踐中的應(yīng)用,加深理解。
本課程在保持了傳統(tǒng)高校培養(yǎng)Java人才的能力要求(Java基本編程能力、Java編輯工具的使用、測試與調(diào)試)同時具有以下特色:(1)以CDIO為核心指導(dǎo)思想,以主動式項目驅(qū)動學(xué)習(xí)為主要手段的教學(xué)方法具有一定的科學(xué)性和先進(jìn)性。(2)學(xué)生依據(jù)項目的要求查找自己所需的各類資料,提煉并組織可用信息,設(shè)計項目方案,自我主導(dǎo)實施過程,變被動學(xué)習(xí)為主動學(xué)習(xí),不僅有效地激發(fā)學(xué)生的主觀能動性,而且初步培養(yǎng)學(xué)生的科技創(chuàng)新素養(yǎng)。(3)學(xué)生向大家展示自己的設(shè)計方案、設(shè)計成果,鍛煉了學(xué)生自我表現(xiàn)能力和交流能力,為今后的畢業(yè)設(shè)計和工作打下了良好的基礎(chǔ)。另外以學(xué)生自身為主體的教學(xué)方式有較強(qiáng)的互動性,改善了課堂環(huán)境,提高了課堂效率,深化了教與學(xué)的效果。(4)主動式項目驅(qū)動式的教學(xué)模式改變了過去由老師主講學(xué)生被動接受的局面,確立了學(xué)生的主導(dǎo)地位,調(diào)動學(xué)生的學(xué)習(xí)積極性,激發(fā)學(xué)生的學(xué)習(xí)興趣,挖掘并培養(yǎng)學(xué)生的學(xué)習(xí)潛能和創(chuàng)新意識,有效提高學(xué)生的綜合素質(zhì)和能力。
為了對CDIO工程教學(xué)模式下主動式項目驅(qū)動教學(xué)模式的教學(xué)實踐效果進(jìn)行調(diào)查與驗證,筆者對汕頭大學(xué)計算機(jī)系學(xué)生(2006、2007、2008和2009級)進(jìn)行問卷調(diào)查。調(diào)查問卷統(tǒng)計結(jié)果顯示,有92%的學(xué)生認(rèn)為改革后的《Java程序設(shè)計》課程實現(xiàn)了該課程預(yù)設(shè)的學(xué)習(xí)目標(biāo);96%學(xué)生認(rèn)為改革后的課程是新穎、有效的課程,與其他未經(jīng)過CDIO教學(xué)模式改革的課程相比,本課程能多層次多角度地培養(yǎng)能力;94%的學(xué)生認(rèn)為《Java程序設(shè)計》課程中學(xué)習(xí)到的內(nèi)容對他們終身受益。經(jīng)過統(tǒng)計發(fā)現(xiàn),學(xué)生認(rèn)為在“團(tuán)隊與領(lǐng)導(dǎo)”、“時間管理”、“責(zé)任心”、“交流與溝通”、“問題的分析與理解”以及“系統(tǒng)全面地構(gòu)思”6個方面的能力培養(yǎng)方面收益最大,同時也認(rèn)為課程中的主動式項目驅(qū)動學(xué)習(xí)方法能使自己快速地掌握并應(yīng)用書本中的理論知識。在全校性的課程評估上,《Java程序設(shè)計》的課程的評分是93.02,而系平均得分是88.03,全校課程平均分是89.70,《Java程序設(shè)計》的課程評估得分明顯高于系平均和學(xué)校平均水平,由此可見,CDIO工程教學(xué)模式下主動式項目驅(qū)動學(xué)習(xí)在課程教育中的有效性。
表2 環(huán)節(jié)保證矩陣
CDIO工程教學(xué)模式下主動式項目驅(qū)動學(xué)習(xí)方法是對傳統(tǒng)教學(xué)方法改革的一種嘗試性探索,是一種全新的教學(xué)方法。隨著教學(xué)方法的改變,教師的核心職責(zé)也應(yīng)順之發(fā)生變化。在教學(xué)中,教師應(yīng)該注意以下問題:(1)項目可行性分析是前提:項目的可行性評價是主動式項目驅(qū)動學(xué)習(xí)取得成效的關(guān)鍵,它直接影響著教學(xué)效果。由于學(xué)生之間個體能力的客觀差異,如學(xué)習(xí)能力、動手能力以及快速理解能力等方面,因此教師要合理地把握每個項目的深度和廣度,因地制宜、依“隊”而異地評估項目,從而在保證項目順利開展的同時,多層次、多樣化、多角度地培養(yǎng)學(xué)生。(2)情境建立是條件:情境設(shè)定是激發(fā)學(xué)生學(xué)習(xí)興趣的關(guān)鍵。教師應(yīng)該正確地把握學(xué)生現(xiàn)有的知識水平,力求創(chuàng)設(shè)能從不同側(cè)面、不同角度表現(xiàn)學(xué)生任務(wù)的多種情境,讓學(xué)生在真實的任務(wù)中解決問題,使學(xué)生能深刻地認(rèn)識到這門課的應(yīng)用前景,從而更主動、更積極地參與到學(xué)習(xí)中去,達(dá)到我們的教學(xué)目標(biāo)。(3)角色轉(zhuǎn)變是關(guān)鍵:CDIO工程教學(xué)模式下主動式項目驅(qū)動學(xué)習(xí)形成了 “以項目為主線、教師為引導(dǎo)、學(xué)生為主體、CDIO能力培養(yǎng)”的基本特征,因此教師必須實現(xiàn)自身角色的轉(zhuǎn)換。首先,要求教師認(rèn)識到學(xué)生的知識不是靠教師的灌輸被動接受的,而是在教師的引導(dǎo)下,積極培養(yǎng)學(xué)生的興趣,通過基于項目學(xué)習(xí)的方式,讓學(xué)生在項目實踐的過程中主動地構(gòu)建專業(yè)知識體系,并深刻地體會知識的重要性以及如何被應(yīng)用;其次,鑒于CDIO是一種多角度培養(yǎng)的教學(xué)模式,教師也應(yīng)該認(rèn)識到課程的教學(xué)不應(yīng)該僅僅教授部分的、獨立的知識,而是應(yīng)該在教學(xué)“一體化”的思想下,讓學(xué)生把所學(xué)知識“串聯(lián)”起來,形成較為完整的知識體系;再次,教師不再是課程教學(xué)中簡單授課者的角色,而是一個集教師、項目需求者、項目設(shè)計者、項目管理者以及項目評估者于一身的綜合角色。(4)奉獻(xiàn)是根本:教育方法的改變,造成教師角色復(fù)雜化、工作任務(wù)加重,教師需花費更多的精力進(jìn)行有效的教學(xué),這些實際問題就需要教師有著更為崇高的奉獻(xiàn)精神,以促使學(xué)生成才為己任。
[1]顧佩華,沈民奮,李升平,莊哲民,陸小華,熊光晶.從CDIO到EIP-CDIO——汕頭大學(xué)工程教育與人才培養(yǎng)模式探索[J].高等工程教育研究,2008(1):12-20.
[2]Zhao Hongbo.Teaching Innovation ofGeotechnical Engineering Based on CDIO [C]//2010 International Conference on Optics, Photonics and Energy Engineering,2010:75-78.
[3]Yang Liu,Chunting Yang,Xiaoyan Yang.Teaching Reform and Innovation based on CDIO [C]//2009 International Conference on Education Technology and Training,2009:301-304.
[4]陳濤.基于案例教學(xué)的 Java語言課程改革研究[J].教育研究與實驗,2009(9):59-63.
[5]莫足琴.項目驅(qū)動教學(xué)法在Java程序設(shè)計課程中的應(yīng)用[J].中國教育技術(shù)裝備,2008(8):24-26.
[6]王衛(wèi)生.基于CDIO教學(xué)模式的《Java程序設(shè)計》課程開發(fā)實踐[J].軟件工程師,2010(12):60-63.
[7]馬曉梅,韓娜,張劍飛.CDIO理念下Java語言課程的設(shè)計與探討[J].高教論壇,2010,12(12):95-96.
[8]陳紅軍,耿永軍,閆洪亮.《JAVA程序設(shè)計》課程教學(xué)改革探討[J].信息系統(tǒng)工程,2010(1):128-130.
Active Project-Driven Learning Method based on CDIO Engineering Education Model--take “Java Programming” Course for example
JIANG Da-zhi
(Department of Computer Science,Shantou University,Shantou,Guangdong 515063)
Java programming language is not only a mainstream language for software developing,but also a basic object oriented programming language for computer software students.In most colleges and universities,Java programming has become one of the backbone courses for computer software major.Actually,its teaching effort influences the quality of IT talents directly.In this paper,our university’s"Java Programming"course is re-designed and developed based on CDIO Engineering Education Model and Active Project-Driven Learning Method to improve student’s learning interest and efficiency,strengthen the practice of teaching,enhance professional competence,and culture the qualified software engineers finally.
Java Programming;CDIO;Teaching Reform
G 642.0
A
1001-4225(2012)04-0079-04
2011-08-18
姜大志(1982-),男,江蘇南京人,工學(xué)博士,汕頭大學(xué)工學(xué)院計算機(jī)系副教授。
教育部人文社會科學(xué)研究“工程科技人才培養(yǎng)研究”專項課題(10JDGC005);汕頭大學(xué)教育改革研究項目“基于CDIO和能力成熟度模型的主動式項目學(xué)習(xí)”
佟群英)