姜大志
(汕頭大學工學院計算機系, 廣東 汕頭 515063)
CDIO工程教育模式下的主動式項目驅動學習
——以“Java程序設計”課程為例
姜大志
(汕頭大學工學院計算機系, 廣東 汕頭 515063)
Java程序設計語言是當今軟件開發的主流語言,也是計算機軟件類專業的學生必須掌握的一門基礎性面向對象程序設計語言。在大多數高校中,Java課程已成為計算機軟件類專業教學的骨干課程之一,其教學效果直接影響IT人才的培養質量。結合“CDIO”工程教育模式,以主動式項目驅動學習的方式對汕頭大學《Java程序設計》課程進行重新設計與開發,進而提高學生的學習興趣和效率,強化實踐教學,增強職業能力,培養合格的軟件工程師。
Java程序設計;CDIO工程教育模式;教學改革
CDIO工程教育模式是由麻省理工學院、瑞典皇家工學院等四所大學通過4年的研究、探索與教學實踐建立起的一種基于工程教育的先進教學模式,是一項關于國際工程教育改革的新型教育模式與成果,其中C、D、I和O分別代表構思(Conceive)、設計(Design)、實現(Implement)和運作(Operate)。CDIO教育模式貫穿產品研發到產品運行的生命周期,讓學生以主動的、實踐的、課程之間有機聯系的方式學習工程。在能力要求方面,CDIO培養大綱將工程畢業生的能力分為工程基礎知識、個人能力、人際團隊能力和工程系統能力4個層面,大綱要求以綜合的培養方式使學生在這4個層面達到預定目標[1-3]。
《Java程序設計》是一門理論性與實踐性并重的課程,目前很多高校把Java課程作為計算機相關專業的基礎性課程,筆者依據以前的教學經驗以及與同行間的交流,總結該課程存在:(1)課堂教學方法陳舊,以理論與語法教學為主,限制了學生的思維;(2)實驗教學方法薄弱,實踐能力沒有得到充分培養;(3)學生的能力評估方法不足,理論考核的方式過于片面地評估學生的能力等問題。基于上述問題,很多高校在其教學方法方面做出改革與改進。如采用基于案例的教學方法[4]或者項目驅動教學方法[5]來輔助課堂教學,學生在此過程中雖受到一定的項目和團隊工作的實際訓練,但是在團隊協作精神、工程認知、企業需求和環境認知等方面還是有一定的欠缺。作為一種優秀且新穎的工程教育模式,CDIO已被一些學者應用到Java課程的教學改革中來[6-8],雖然能發揮一定的作用,但主要是在宏觀的層面借用CDIO的概念、模仿其過程,并沒有在細觀和微觀的層面貫徹和落實CDIO教育模式。
基于此,在汕頭大學《Java程序設計》課程的教學設計過程中,我們貫徹CDIO的核心精神,以CDIO過程為主導,以主動式項目驅動式的方法使所學和所需相結合,最終實現把學生培養成為有專業技能、有社會意識和適合軟件企業多種工作性質的軟件專業人才的培養目標。
在CDIO的教學模式下,《Java程序設計》的學習目標由兩個部分組成,一個是技術目標,另一個是CDIO能力培養目標。
技術目標主要是學生在課程中所需要掌握技術的具體要求,由9個方面組成:1、具有需求分析文檔、設計文檔和使用說明文檔等的編輯能力;2、探索系統的理解分析、系統的設計、系統的實現和實際運行效果之間的綜合影響;3、掌握Android平臺手機開發方法、掌握Eclipse平臺開發方法;4、應用系統建模工具進行系統的初步建模;5、應用面向對象的思想來設計系統;6、使用多線程技術來優化系統效率;7、分析面向對象的程序設計與面向過程設計方法的異同;8、分析軟件構件的過程中所遵循的編碼設計原則,說明編碼設計原則給系統構建帶來的作用;9、分析系統構思與系統設計之間不一致性以及產生的原因。
CDIO能力培養目標主要是培養學生的技術知識與推理能力,個人能力、職業能力和態度,人際交往能力以及在企業和社會環境下構思、設計、實施、運行系統的能力。在CDIO能力培養方面,《Java程序設計》課程在4個大層次的26個微觀層次上建立了培養目標,目標矩陣如表1所示。
主動式項目驅動學習方法要求學生在課程學習的過程中,以完成一個具體的項目(任務)為主要線索。其具體實施步驟是學生自主地提出一個項目,該項目把教學內容隱含在其中,經過可行性驗證之后進行自主、自治的項目實現。這種學習方法不僅深化了學生對理論知識的理解,從而真正有效地掌握知識,而且在最大程度上培養學生自主學習、自主管理、自主提出問題和解決問題的能力,同時也培養了學生的創新能力。
結合CDIO基本思想,主動式項目驅動學習的實施過程主要由以下6個項目實施的基本環節和1個綜合的反思環節組成:
環節I:課程理論教學,其中包括Java開發工具介紹與環境配置、Java語言基礎講授、用Java語言實現算法(與數據結構相結合)以及Java相關的新技術介紹;環節II:項目目標下達與學生組隊;環節III:系統構思,其中包括各小組項目目標分析與確立、項目可行性分析、項目預算與成本分析(預算、耗材、人員配置和軟件資源)和項目報告會I(系統分析及其創意分析與評估)環節IV:系統設計,主要工作包括制定開發方案、制定開發計劃以及項目報告會II(項目設計方案評估、項目風險評估);環節V:實現系統,由系統重構、項目報告會III(中期檢查)兩個環節組成;環節VI:運行與評估,主要包括系統驗收與測試、項目報告會IV(系統展示、系統成本分析、系統盈利分析、為我最喜愛的項目投票)和評估(學生自評、同組者評估、不同組者評估)。

表1 《Java程序設計》課程的CDIO能力培養目標矩陣
與傳統的模式不同,CDIO以工程化的角度確定了培養標準,這些標準以一種明晰的方式刻畫出合格的工程師所應該具備的能力,因此在課程教學改革的過程中必須明確某一門課程服從了哪些標準,培養了學生哪些能力,這就是制定CDIO能力培養矩陣的原因。但是有了能力培養矩陣,如何在教學過程中有效實現能力矩陣所設定的能力是一個更為關鍵的問題。因此我們采用主動式項目驅動學習中提出的實施過程中的6個環節,依據實施環節與CDIO的相通之處,創造性地提出了環節保證矩陣來說明我們是如何實現能力培養目標的。
從表2可以看出,6個環節覆蓋了表1的能力培養矩陣。新型的教學模式在一定程度上弱化了課堂理論教學,而更加注重基于項目的教學與研討環節(環節III-VI)。此外在三個環節IV-VI中,學生將有機會在項目過程中深刻體會課程中的專業技術知識在實踐中的應用,加深理解。
本課程在保持了傳統高校培養Java人才的能力要求(Java基本編程能力、Java編輯工具的使用、測試與調試)同時具有以下特色:(1)以CDIO為核心指導思想,以主動式項目驅動學習為主要手段的教學方法具有一定的科學性和先進性。(2)學生依據項目的要求查找自己所需的各類資料,提煉并組織可用信息,設計項目方案,自我主導實施過程,變被動學習為主動學習,不僅有效地激發學生的主觀能動性,而且初步培養學生的科技創新素養。(3)學生向大家展示自己的設計方案、設計成果,鍛煉了學生自我表現能力和交流能力,為今后的畢業設計和工作打下了良好的基礎。另外以學生自身為主體的教學方式有較強的互動性,改善了課堂環境,提高了課堂效率,深化了教與學的效果。(4)主動式項目驅動式的教學模式改變了過去由老師主講學生被動接受的局面,確立了學生的主導地位,調動學生的學習積極性,激發學生的學習興趣,挖掘并培養學生的學習潛能和創新意識,有效提高學生的綜合素質和能力。
為了對CDIO工程教學模式下主動式項目驅動教學模式的教學實踐效果進行調查與驗證,筆者對汕頭大學計算機系學生(2006、2007、2008和2009級)進行問卷調查。調查問卷統計結果顯示,有92%的學生認為改革后的《Java程序設計》課程實現了該課程預設的學習目標;96%學生認為改革后的課程是新穎、有效的課程,與其他未經過CDIO教學模式改革的課程相比,本課程能多層次多角度地培養能力;94%的學生認為《Java程序設計》課程中學習到的內容對他們終身受益。經過統計發現,學生認為在“團隊與領導”、“時間管理”、“責任心”、“交流與溝通”、“問題的分析與理解”以及“系統全面地構思”6個方面的能力培養方面收益最大,同時也認為課程中的主動式項目驅動學習方法能使自己快速地掌握并應用書本中的理論知識。在全校性的課程評估上,《Java程序設計》的課程的評分是93.02,而系平均得分是88.03,全校課程平均分是89.70,《Java程序設計》的課程評估得分明顯高于系平均和學校平均水平,由此可見,CDIO工程教學模式下主動式項目驅動學習在課程教育中的有效性。

表2 環節保證矩陣
CDIO工程教學模式下主動式項目驅動學習方法是對傳統教學方法改革的一種嘗試性探索,是一種全新的教學方法。隨著教學方法的改變,教師的核心職責也應順之發生變化。在教學中,教師應該注意以下問題:(1)項目可行性分析是前提:項目的可行性評價是主動式項目驅動學習取得成效的關鍵,它直接影響著教學效果。由于學生之間個體能力的客觀差異,如學習能力、動手能力以及快速理解能力等方面,因此教師要合理地把握每個項目的深度和廣度,因地制宜、依“隊”而異地評估項目,從而在保證項目順利開展的同時,多層次、多樣化、多角度地培養學生。(2)情境建立是條件:情境設定是激發學生學習興趣的關鍵。教師應該正確地把握學生現有的知識水平,力求創設能從不同側面、不同角度表現學生任務的多種情境,讓學生在真實的任務中解決問題,使學生能深刻地認識到這門課的應用前景,從而更主動、更積極地參與到學習中去,達到我們的教學目標。(3)角色轉變是關鍵:CDIO工程教學模式下主動式項目驅動學習形成了 “以項目為主線、教師為引導、學生為主體、CDIO能力培養”的基本特征,因此教師必須實現自身角色的轉換。首先,要求教師認識到學生的知識不是靠教師的灌輸被動接受的,而是在教師的引導下,積極培養學生的興趣,通過基于項目學習的方式,讓學生在項目實踐的過程中主動地構建專業知識體系,并深刻地體會知識的重要性以及如何被應用;其次,鑒于CDIO是一種多角度培養的教學模式,教師也應該認識到課程的教學不應該僅僅教授部分的、獨立的知識,而是應該在教學“一體化”的思想下,讓學生把所學知識“串聯”起來,形成較為完整的知識體系;再次,教師不再是課程教學中簡單授課者的角色,而是一個集教師、項目需求者、項目設計者、項目管理者以及項目評估者于一身的綜合角色。(4)奉獻是根本:教育方法的改變,造成教師角色復雜化、工作任務加重,教師需花費更多的精力進行有效的教學,這些實際問題就需要教師有著更為崇高的奉獻精神,以促使學生成才為己任。
[1]顧佩華,沈民奮,李升平,莊哲民,陸小華,熊光晶.從CDIO到EIP-CDIO——汕頭大學工程教育與人才培養模式探索[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]陳濤.基于案例教學的 Java語言課程改革研究[J].教育研究與實驗,2009(9):59-63.
[5]莫足琴.項目驅動教學法在Java程序設計課程中的應用[J].中國教育技術裝備,2008(8):24-26.
[6]王衛生.基于CDIO教學模式的《Java程序設計》課程開發實踐[J].軟件工程師,2010(12):60-63.
[7]馬曉梅,韓娜,張劍飛.CDIO理念下Java語言課程的設計與探討[J].高教論壇,2010,12(12):95-96.
[8]陳紅軍,耿永軍,閆洪亮.《JAVA程序設計》課程教學改革探討[J].信息系統工程,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-),男,江蘇南京人,工學博士,汕頭大學工學院計算機系副教授。
教育部人文社會科學研究“工程科技人才培養研究”專項課題(10JDGC005);汕頭大學教育改革研究項目“基于CDIO和能力成熟度模型的主動式項目學習”
佟群英)