和 薇
摘要:CDIO教學模式是一種倡導“做中學”和“基于項目的教育和學習”的新型教學模式。本文將CDIO理念引入大學計算機專業“數據結構”課程的學習中,著重介紹了在課堂中利用課堂講授、課堂討論和課后作業等方式對“項目”的理解,以及在教學中通過課程實踐對“做中學”的體會。
關鍵詞:CDIO教學模式;數據結構;項目
中圖分類號:G642 文獻標識碼:B
CDIO原本是工程教育領域內的一個概念,它是構思(Conceive)、設計(Design)、實現(Implement)、運作(Operate)的集合體,是2001年由瑞典查爾姆斯技術學院、瑞典林克平大學、美國麻省理工學院、瑞典皇家技術學院合作開發的一個新型工程教育平臺。它以工程項目(包括產品、生產流程和系統)從研發到運行的生命周期為整體,讓學生主動地參與到理論到實踐的轉化過程中來,是一種倡導“做中學”和“基于項目的教育和學習”的新型教學模式。CDIO既注重抽象理論知識的“教”和“學”,又強調了教學過程中“做”的重要意義;既增強了學生的動手能力,又培養了學生的創新意識、項目設計的能力和團隊協作的精神。CDIO教學模式應用于我國的一些高校,已經取得了初步成果。比如清華大學工業工程系的顧學雍教授就曾創造性地將CDIO方法運用于“數據結構”和“數據庫原理”兩門課中,取得了突出的成效。筆者也在本院計算機專業“數據結構”課程的建設過程中遵循CDIO原則,進行了一系列教學實踐與探索。
1CDIO能力培養大綱
CDIO模式以構思、設計、實現、運作為主線,將基礎知識、個人能力、團隊協作與社會環境融合在一起,注重理論與實踐的結合。圖1為CDIO大綱的主要內容。
大學計算機專業也是實踐性很強的學科專業,借鑒CDIO大綱對工程師的培養目標,我們對于專業性人才的培養也應該首先立足于加強學生對專業基礎性知識的學習和基本技能的掌握,倡導產學研相結合,在實踐中培養學生的專業技能與合作溝通的能力,最終讓畢業生滿足企業對人才的需求并服務于社會。
2“數據結構”課程的重要性
“數據結構”是整個計算機學科體系的一門核心課程,也是計算機相關專業的專業必修課。學好這門課程,不僅可以為軟件開發奠定良好的編程基礎,也可以培養學

生良好的編程思想和編程風格。這門課程主要介紹各種離散結構,如表、樹、圖、集合等在計算機內的存儲和處理,以及各種常用算法及其應用。課程除了要求學生有較好的離散數學基礎外,還應至少掌握一門程序設計語言(Pascal、C、C++、Java等)。因為課程既包含抽象的理論,又強調算法的實踐,所以一直以來都被學生認為是最難學的課程之一。
3基于項目的學習
CDIO教育模式要求學生基于工程項目的全生命周期進行學習與實踐,項目最好來源于企業的真實題目或結合教師的科研課題組織和設計,以項目作為基礎知識傳授與基本技能掌握的載體。考慮到“數據結構”課程一般開設在計算機專業大學本科二年級,此時學生剛剛學習了一至兩門程序設計語言,對編程語言的運用還處在初級階段,還沒有經過軟件工程的系統培訓,所以教師在設計項目時,還必須講究方式方法,結合學生的實際情況來組織教學。
3.1課堂講授
課堂講授是貫徹CDIO教學大綱,學習基礎知識的主要方法,要求教師對“數據結構”課程中所有的知識點、重點及難點有很好的設計。在講授教學內容時,教師可以適當地引用實際項目,引導學生體會產品從構思、設計、實施到運作的完整過程。
比如在講解樹結構時,引入ERP企業資源計劃系統中的BOM(Bill of Material)物料清單的實例。BOM是一種描述配套件結構的零件表,包括所有子件、零件、原材料的清單以及制造一個配件需要的所有物料數量。BOM是制造業信息系統的一個核心部分,在ERP系統的MRP分析、制定生產計劃、采購及銷售控制及生產過程控制等環節都具有重要的作用,設計合理的BOM結構可以取得事半功倍的效果。針對對BOM特點和作用的簡單講授和對樹型結構的分析,教師可以引導學生從實例入手,鍛煉學生從分析實例產品的構成和用戶的實際需求出發,構思并設計合理的數據結構,促進學生對樹型結構的掌握。
3.2課堂討論
課堂討論是課堂講授教學內容的有效補充形式。現代教學理念主張啟發式教學,在適當的時候拋出一個問題,給學生5~10分鐘的自由發言或分組討論時間,效果會更好。比如上一個問題,教師可以在講解BOM的時候直接給出樹型結構的解決方案,但是如果教師在講授了基礎知識和問題背景后,讓學生自行討論設計方案,自由發言或由小組代表提出設想,再由全班討論,經教師總結后給出結論,則可以充分地激發學生的積極性,也讓學生體會了“提出問題—分析問題—解決問題”的過程。在這個過程中,教師要注意對學生的思路加以引導,對學生所提的方案加以鼓勵,幫助學生樹立創新意識,讓他們不墨守成規,學會從多角度思考問題。
3.3課后作業
課后作業是對課堂教學內容的延伸和對課堂教學效果的驗證。在教學時間緊任務重的前提下,科學地設計課后作業可以彌補缺憾,也可以促進學生主動學習。比如可以針對具體項目,讓學生通過上網查閱資料補充項目背景知識,也可以讓學生查找相關問題的其他解決方案,或對課堂提出的算法進行代碼實現。教師可以從這些內容中挑選出精彩的部分,安排合適的時間,在課堂上由學生進行匯報講演,交流心得。這種形式既對課堂教授有很好的補充,又有效杜絕了學生的作業抄襲現象。
4通過課程實踐體會“做中學”
CDIO理念是總結了歐美20多年來工程教育改革的產物,目的是能夠培養出全面發展的工程師,他們不僅要具有扎實的專業知識和熟練的專業技能,理解構思—設計—實施—運行一個完整系統的復雜性,還要能夠在一個現代的、合作的環境中讓這個產品升值。CDIO強調學生的工程能力不是單純的理論知識或直觀技能,而是兩者的綜合運用,也就是所謂的“做中學”。
“數據結構”課程的實踐環節由兩部分組成:課內上機和課程設計。課內上機一般有2~4個學時,以驗證性實驗為主,側重學生對每章知識點的上機驗證和內容的延伸;課程設計時間相對較長,一般有20~40個學時不等,學生可以在這個過程中完整地體驗一個項目的設計和實施。
4.1項目的選擇
課程實踐的項目最好來自企業一線,或者是一些具有實際意義的題目,考慮到學生知識的局限性,教師可以對這些題目稍作改動。比如“北京市城市軌道交通咨詢模擬系統”要求參考北京地鐵運營線路圖,見圖2,以無向圖的形式描述城市軌道交通狀況,給出從甲地到乙地的最優換乘方案。此項目來源于實際問題,學生很容易理解題目的要求和最終的結果。由于實際地鐵運行線路中站點比較多,所以布置題目時可以適當簡化,比如減少站點數目(但要保留換乘站),忽略兩站之間的運行時間和每站的停靠時間,以途經的站數來作為最優路徑的計算依據等。

在課程設計階段,學生首先選擇自己感興趣的項目,然后從問題需求入手,設計合理的數據結構,明確輸入和輸出信息,進行模塊設計,最后進行詳細代碼的編寫和模塊測試。整個過程始終遵循CDIO“做中學”的原則,讓學生在實際動手的過程中不斷增強解決實際問題的能力。部分能力較強的同學還在原題的基礎上進行功能擴展,形成了一個帶有友好人機界面的可視化軟件,既提高了學生的學習興趣,又激發了學生的創造力。
4.2分工與合作
《禮記?學記》上講:“獨學而無友,則孤陋而寡聞”。由于CDIO強調的項目具有完整性和綜合性,一個學生很難在短時間內完成,因此可以考慮采用分組的形式,由多名學生組成小組,由組長負責安排整個項目的進度。這種團隊的形式最能鍛煉學生的協作精神、溝通能力和領導能力。李開復教授在給中國學生的信中這樣寫道:“像Windows 2000這樣的產品研發,有超過3000名開發工程
師和測試人員參與,寫出了5000萬行代碼。沒有高度統一的團隊精神,沒有全部參與者的默契與分工合作,這項工程是根本不可能完成的。”CDIO模式就是要讓學生在不斷的碰撞和溝通中學會相互支持,共同討論,共同進步。
4.3項目考核
課程設計結束時,教師要對項目的完成情況進行考核,CDIO教學模式的標準之一就是要對學生個體進行評估驗收。考核的形式可以是多樣的,比如采用“答辯”的方式,由學生演示程序的運行結果,然后針對自己在小組
中的分工情況,詳細介紹具體算法和遇到的問題,最后提交項目總結報告。較之傳統的考試,這種考核方式更加強調學生的表達能力和科技文章的撰寫能力,既分享了學習經驗,又拓寬了知識面。教師在考核過程中要起到主導作用,要站在企業、用戶或用人單位的角度來設立問題,將學生置于一個大的環境中,使學生具備業界所需要的素質和能力。
總之,通過將CDIO教學模式運用于“數據結構”課程,倡導“做中學”和“基于項目的教育和學習”,使學生在掌握基本專業知識和技能的同時,既提高了學習興趣,又增強了從業所要求的各項素質,對學生畢業走上社會的可持續發展起到積極的作用。
參考文獻:
[1] 陶勇芳,商存慧.CDIO大綱對高等工科教育創新的啟示[J].中國高教研究,2006(11):81-83.
[2] 顧學雍.聯結理論與實踐的CDIO[J].高等工程教育研究,2009(1):11-23.
[3] 查建中.論“做中學”戰略下的CDIO模式[J].高等工程教育研究,2008(3):1-6.