陳軍++李亞娟

【摘 要】針對數據結構與算法課程中授課理論晦澀難懂和編程難度較高等特點,基于CDIO 工程教育理念,同時把MOOC引入到數據結構與算法的日常教學中,用以改進傳統的教學方法。在此模式下,結合地方性應用型大學的特點,為塑造具有自我學習能力和實踐應用能力的新型應用型人才,提出了一種數據結構與算法的新型教學方法。此方法借助MOOC的優質教學資料,提高了學生的主觀能動性和教師的授課效率,同時結合CDIO的實施細則,使學生深入到具體的大型編程實踐當中,培養了學生分析問題、解決問題的能力。
【關鍵詞】CDIO;MOOC;數據結構與算法
1 背景
數據結構與算法是信息與計算科學專業的一門專業基礎課,在該專業的整個學習體系中占有核心的地位。學生在課程中研究數據的特點和彼此之間的關系,以及如何有效地組織管理數據,從而提高計算機處理數據的效率。該課程的學習也為信息與計算科學專業的后續課程,如操作系統,數據庫原理和軟件工程等,打下了堅實的基礎[1]。但是,由于該課程內容抽象,不便于理解,很多學生往往感覺難以掌握。所以,為改善數據結構與算法的教學效果而對教學模式進行創新在當下具有迫切的需求。為此,我們把MOOC引入到數據結構與算法的日常教學中,結合基于CDIO工程教育理念的大型課程設計,使學生能夠更加深入地掌握相關的基本理論知識和基本編程技巧。
2 CDIO
CDIO是由美國麻省理工學院、瑞典哥德堡查爾姆斯技術學院、瑞典皇家技術學院和瑞典林雪平大學等4所工程技術大學提出的一種現代工程教學理念。其中,CDIO代表構思(Conceive)、設計(Design)、實現(Implement)和運行(Operate),是近年來高校教育改革的最新成果[2-3]。它注重理論與實踐相結合,提供了一整套工程教育的理論和體系,系統地提出了操作性強的實施方案以及檢驗評價的12條標準。這使得學生能夠完整地體驗構思—設計—實現—運行的全部過程,從而有效地克服了高校教育中出現的理論與實踐相脫節的矛盾。
3 MOOC
大型開放式網絡課程,即MOOC(massive online open courses),是一種參與者分布在各地,通過教學視頻的學習,以及師生之間的討論與交流,來獲得課程教育的新興教育形式[4]。它基于互聯網和移動通訊技術的蓬勃發展,給傳統的課堂教學模式帶來了巨大的改變。它讓所有人都能免費獲得來自名牌大學的優質資源,可以在任何地方、用任何設備,借助于網絡進行學習,完成在線作業和考試。同時,它在客觀上加快了高校的教學改革進程,也為社會和普通高校提供優質課程的共享資源。
4 傳統教學的弊端
1)傳統的數據結構與算法課程,更加注重課堂知識的傳授,對于計算機學科類課程中最重要的編程實踐反而重視不夠。無論是在學時的設置上,還是在對教學效果的考核上,都更加偏重于課堂教學。
2)在課堂教學上,教師更多地是照本宣科,直接講解知識要點,往往難以調動學生的積極性。
3)在有限的編程實踐教育中,只能面向小型化和碎片化的編程試題,無法處理大型的面向應用的項目。
4)相對注重學生獨立完成任務的能力,缺少在大型項目中對團隊協作能力的訓練。這固然強調學生對相關知識的全面了解,但團隊協作能力也是學生必須掌握的專業技能之一,需要著重培養。
5 結合CDIO和MOOC的新型數據結構與算法教學模式
在實際操作過程中,我們選擇網上已有的優秀的MOOC資源,讓學生進行自主學習,而教師在課程學習中的主要任務是強調并鞏固學習內容的重點難點。這樣,教師可以把更多的時間和精力集中在面對面的交流答疑中,這將有效地激發學生的自主學習性和提升學習的效率。在借助MOOC完成基本知識和基本技能的學習后,教師可以把主要的精力放在學生的實踐中,即基于CDIO教學理念的大型課程設計的完成上。如圖1所示,這可以促使學生能夠在學習中做到理論與實際相結合。
圖1 新型教學模式
為此,我們采取了下述幾條具體措施來配合我們的教學模式改革:
1)選擇適合本校學生水平層次的MOOC課程,以學生學號為用戶名進行注冊,并在MOOC平臺上與其他用戶一起進行學習。在學習過程中,需要學生全程參與MOOC教學過程中的視頻觀看,在線測試與課后編程作業。
2)視頻觀看在課前完成,其中與重點難點相關的內容在課堂上由教師再次進行進一步地講解;在線測試與課后編程作業在上機實踐課上完成,并由教師進行后續的解答。上述過程需要極大地調動學生的自主性,可以在學生中指定若干個學習小組,進行課后的討論與復習。
3)在MOOC學習結束后,教師將基于數據結構與算法的內容,布置幾個項目,以貫徹CDIO中“以項目為導向”和“在做中學習”的理念。以5個學生為一組,分組完成項目。這樣每個小組的成員不僅需要完成自己的任務,也需要與其他同學進行配合,共同完成整個項目。
4)在CDIO的模式下,整個項目主要分成4個部分進行:
(1)構思(Conceive):學生明確項目的目標,方法以及相關理論知識,并完成相應的前期準備工作;
(2)設計(Design):學生對整個項目進行規劃,分解整個項目,明確各自任務,完善實施方案;
(3)實現(Implement):在此過程中,不僅需要靈活運用已有理論知識和編程技能來完成自己負責的模塊,也要了解參與其他學生設計的模塊,增強彼此之間的協作能力;
(4)運行(Operate):通過在全體師生面前演示項目和公開報告,展示各個小組的成果。
以數據結構與算法課程中“查找”這一章為例。在課前,需要學生觀看相關的MOOC視頻。在課上,重點講解折半查找和平衡二叉樹這兩個重點難點內容,并指導學生完成相應代碼編寫的練習。最后,讓學生們分組完成“學生成績查詢系統”或“火車時刻查詢系統”等大型項目,并公開作項目報告。
6 小結
在數據結構與算法的教學中,我們針對當前教學過程中存在的問題,把MOOC和CDIO教學理念相結合,提出了一種新型教學模式:利用已有的優質MOOC資源幫助學生掌握基本理論知識和基本編程技巧,利用CDIO教學理念指導學生進行綜合性實驗和大型課程設計。不過,如何掌握兩者的平衡,是我們在將來的教學過程中需要進一步面對的問題。
【參考文獻】
[1]李春葆.數據結構教程[M].4版.北京:清華大學出版社,2013.
[2]顧學雍.聯結理論與實踐的CDIO——清華大學創新性工程教育的探索[J].高等工程教育研究,2009(1):11-23.
[3]楊蒙召,顧澤元,劉文強.CDIO 理念在數據結構課程中的探索與實踐[J].計算機教育,2010,12:124-126.
[4]李青,王濤. MOOC:一種基于聯通主義的巨型開放課程模式[J].中國遠程教育,2012(3):30-36.
[責任編輯:湯靜]