葉 琪,胡國玲
(華東理工大學 信息科學與工程學院,上海 200237)
近年來,隨著新興的互聯網信息技術不斷滲透到教育行業,傳統的教學方式正在不斷地發生著改變。特別是《國家長期教育改革和發展規劃綱要》(2010—2020)的提出,加速了教育信息化的進程。云課堂作為“互聯網+教育”的典型教學形式受到了廣泛的關注。云課堂[1]提供多種具有更大靈活性的教學方式,為計算機教育發展提出了新思路和方法。由于云課堂與傳統教學存在較大的差異,通常教師針對不同的教學形式各自單獨建設課程,往往教學資源未能得到充分的利用。因此,如何建立一套豐富的、多層次、多視角、兼容性強的課程模型,實現多種教學形式的交叉互補,打通線上與線下兩種模式,確保課程能滿足不同層面的學生需求,這些都給課程建設帶來了新的挑戰。
數據結構課程是計算機專業的核心課程,是一門研究非數值計算的程序設計問題中計算機的操作對象以及它們之間的關系和操作等的學科[2]。它是進一步學習計算機領域其他專業課程的基礎,對從事軟件研發的專業人員起著重要的樞紐作用。該門課程對理論性和實踐性的要求都很高,不僅要求學生掌握數據的組織方法和現實問題在計算機內的表示方法,還要培養學生分析、設計、解決問題和創新思維等多方面的綜合能力。
為了改變過去以知識灌輸為主的培養模式,使學生主動地學習,專家們從不同角度探討了數據結構課程的建設。目前主流有兩類建設方案:一是構建案例庫或游戲庫,例如,Dicheva 等人[3]將數據結構中的概念、應用和實現3 個方面聯系在一起,設計了棧結構的教育游戲,幫助學生在概念和實踐層面中對棧結構的理解。楊武等人[4]提出了以實際工程項目和科研項目為素材構建較大規模的案例庫,以及徐新[5]提出的基于案例驅動的系統構建方法,都采用了案例庫進行教學實踐,通過案例庫的實踐提高學生學習的積極性。另一類從教學模式進行改革,例如徐薇[6]等人提出了基于智慧教室的翻轉課堂教學模式,給出數據結構課程的翻轉課堂教學的設計與實施,并以調查問卷對教學效果進行評估。王翠娥[7]等人按照MOOC 平臺的教學模式,制定數據結構課程規劃,并合理設置課程的授課內容及時長。
李明華[8]將MOOCs 分為3 種模型:完全網絡授課模式、網絡課程+學生自助式面對面互動模式、網路課程+本地大學教授面對面深度參與教學模式。在此基礎上,我們根據課程的適用群體,建立一種如圖1 所示的基于云課堂的混合式模型,提供慕課、案例分析、在線課程、線下課堂4 種教學模式,以及公共的教學文件和數據分析模塊。其中,僅線下課堂是按傳統的教學方式安排教學時間和場地,慕課、案例分析、在線課程、公共的教學文件和數據分析模塊建立在網絡環境中。慕課和在線課程都是視頻形式的網絡課程。案例分析平臺中包含了案例資源庫、案例題庫及實現等。公共的教學文件包括課件、每個知識點的作業、測試題、習題詳解、階段性測試等。

圖1 基于云課堂的混合式模型
混合式模式將不同教學模式進行組合,以適合不同的學生群體。具體如下:
(1)慕課+案例分析模式:慕課和案例分析相結合的方式一方面提供了數據結構中基礎知識點的MOOC 精講,另一方面利用案例分析幫助學習者強化工程應用能力,使得規模化教學和個性化學習得到了統一。該模式有很強的靈活性,適合于對數據結構課程有興趣的任何人員。
(2)慕課+線下課堂模式:學生利用在線慕課學習掌握基礎知識點,再通過線下的學習匯報、分組項目實踐、課堂討論等多種模式來鞏固知識點的理解,更進一步提高學生分析問題、解決問題的能力。該模式基礎知識點的學習過程自由靈活,線下課堂所需集中教學時間較少,適合少數真實注冊的在校非相關專業的學生。
(3)在線課程+案例分析+線下課堂模式:在線課程提供了數據知識點以及抽象數據類型實現的詳細講解和分析,案例分析平臺給出具體案例的解析并提供學生實現的平臺,線下課堂提供學生答疑解惑和項目合作交流的機會。該模式解決線下課時嚴重不足與深入學習要求之間的矛盾,適合于少數真實注冊的在校相近專業的學生。
(4)線下課堂+在線課程模式:線下課堂和在線課程相結合的模式兼顧了知識講解與能力培養,既充分發揮學生自主學習的積極性與主動性,又有教師的引導和學習過程的管理,適合于本校計算機專業的學生。
本模型建設慕課和在線課程兩種不同形式的網絡課程。雖然慕課和在線課堂的核心要素都是視頻,依托的都是互聯網信息技術,但兩者在建設中存在許多的不同之處。表1 從適用人群、特點、教學內容、教學方法、教學過程等不同角度給出了慕課和在線課程的比較。

表1 慕課和在線課程的比較
慕課的建設目標是實現教學資源的開放與共享,為學生提供更具廣度的知識。慕課采用單獨錄播的形式制作,強調了精巧的課程設計,側重于數據結構知識體系的構建。慕課面向全社會開放,滿足學生個性化學習需求。此外,為了有效保證慕課課程的質量,采用在線作業和測驗等評價方法來督促學生的學習過程。
在線課程的建設目標是建立一個不受時空限制的學習環境,緩解學生基礎參差不齊的情況。在線課程是在直接傳統教學課堂中進行錄播和剪輯制作而成,課程設計的側重點在學習內容基礎上獲取復雜技能。在線課程兼顧了傳統課堂的交互性強、課堂氣氛活躍特點以及網絡課程傳播廣、可重復學習等特點。由于在線課程的建設目標和自身特點,主要是面向本校學生相近專業學生開放。在線課程的考核方式采用了在線評估和線下考核方式相結合的綜合評估,考核方式更加靈活,同時也保證了考核成績的真實性。
以最小生成樹的Kruskal 算法為例,慕課教學充分利用多媒體教學載體,首先使用Flash 實例演示該算法構造最小生成樹的過程,然后深入淺出地總結該算法的基本思想,接著給出偽代碼,最后簡要分析算法的性能。
在線課程教學采用了啟發式教學方式,首先給出算法的基本思想,然后通過剪輯技術實現對實例和在線學習的學生交互地構造最小生成樹,接著復習圖的存儲結構并給出鄰接矩陣創建圖的實現函數:CreateGraph()、BuildGraph(),然后再在此基礎上講解以鄰接矩陣為存儲結構的Kruskal 算法的實現函數,最后給出主函數以及輸入文件,分析Kruskal 算法的輸出結果和算法的時間/空間復雜度。此外,展開討論利用最小生成樹算法實現聚類算法[9],引導學生概括和發現最小生成樹算法不同的應用領域。
這種更具有針對性的建設使得教學更貼合不同的學生群體,給予學生更大的自由,避免學生產生厭學、棄學的現象。
隨著軟件產業的不斷發展以及競爭的加劇,一方面對計算機專業人員提出了更高的工程實踐要求;另一方面,無論是網絡教學還是傳統的線下教學都面臨著學生無法將課堂所學的知識與實際應用項目之間建立聯系,不清楚線性表、棧、隊列、樹、圖等結構能解決什么應用問題以及應該如何應用。
除此之外,不同種類學生的基礎各不相同、前期專業各不相同、能力水平差異很大。部分學生數據結構的先導課程C 語言程序設計或面向對象的程序設計課程基礎較差,無法熟練地應用指針、構造類型、鏈表等結構,直接影響數據結構的學習。而編程能力較強的學生又感覺基礎的課后實驗過于簡單,學習的積極性不高。
針對上述問題,構建多層次的案例庫能很好將教學內容與前沿技術以及產業需求相結合,彌補目前教學中常見的課程實驗與實際工程項目脫節的情況,不同層次的案例也能解決學生能力差異大的問題[10]。
案例分析平臺的建設目標是強調數據結構基本思想的應用實踐,將能力培養落到具體的案例實踐中,使學生通過案例的實踐訓練,具備分析問題、設計方案和解決問題的能力。更進一步,培養學生的團隊合作和溝通能力。
建設包括基礎型案例、設計型案例、綜合型案例三類覆蓋全部知識點,且難易程度不一的案例。每個案例庫給出案例的設計要求、設計思路、測試用例、代碼示例、常見問題分析等。其中,基礎型案例、設計型案例以個人完成為主,綜合型案例鼓勵學生組隊完成。
學生可以根據實際情況選擇不同層次和難度的案例,不要求所有學生對所有層次的案例都能掌握和實現。例如,對課程感興趣的人員可以要求實現基礎案例,學習理解設計型案例的設計思路;本校計算機專業的學生則要求實現基礎型案例和設計型案例,掌握綜合型案例的設計思路。
多層次的案例和知識點的覆蓋關系設置見表2,圖中每列代表一個知識點,前三行表示了每個基礎型案例、設計型案例、綜合型案例編號所覆蓋的知識點,例如基礎案例(1)涉及線性表—順序結構,第一個綜合案例就覆蓋了線性表—順序結構、堆、簡單排序等三個知識點。第四行到最后一行分別表示每個知識點在案例實現時需要考察的更細分的小知識點,并以“△”標識,例如線性表—順序結構知識點中包括了存儲結構、操作(創建順序表、插入/刪除、查詢)、性能分析等小的知識點。

表2 案例和知識點的覆蓋關系設置
基礎型案例主要以基礎實驗為主,目的是驗證各種基本數據結構算法。學生通過案例實踐過程中發現存在的問題,將理論知識與實踐具體操作相結合形成學習的環路,再進一步返回加深理論知識的學習。學生通過基礎型案例的練習和訓練,不但加深了對理論知識的理解,同時還強化了代碼實現的訓練。基礎型案例覆蓋數據結構中所有主要的知識點,設計案例時可以選擇每個知識點中2~3 個小知識點作為考察學生的設計要求。
設計型案例以一些小型的實際問題和以往教學中累計的項目為來源,其建設目標是要求學生能運用各類基本數據結構,識別案例問題的關鍵環節,培養學生的個人技能。設計型案例以考察一個知識點的應用為核心,包括分析問題定義數據的存儲結構,給出設計思路并實現相關的算法,以及算法的性能分析等多個環節。此外,設計型案例還需給出過去教學實踐中常見的錯誤問題分析實例。
綜合型案例以一些真實項目為來源,要求學生能夠針對復雜工程問題,選擇適當的技術解決實際問題,并理解方法的局限性。綜合型案例是需要使用多種不同基本數據結構組合才能解決的實際案例。
基于云課堂的混合式教學的線下課堂采取翻轉課堂的教學模式,以學生為主,教師主要是答疑解惑。學生將前期在看課程視頻和實現案例過程中出現的問題帶到課堂,教師采用分組討論、現場匯報、綜合型案例成果匯報等多種形式,引導學生自主解決難點問題,從而進一步確認、強化、提升學生對知識點的理解。教師還需對慕課或在線課程中相關知識的重點和難點進行擴展和延伸,指導學生深層次內化知識,并建立更完整的知識體系。
為了保障多層次人才培養的需求,本文建立了數據結構課程的基于云課堂的混合式模型。云課堂的建設符合了現代高等教育的發展趨勢,具有靈活、交互性強、可重復等特點,滿足學生個性化、自主學習的需求。數據結構課程的混合式模型提供了一個整體解決方案,促進教學資源的整合和共享,實現了教學資源最大化的利用。