摘要:本文在分析當前“數據結構”課程教學主要問題的基礎上,提出了以教學為基礎、實訓為手段、競賽為激勵機制的“數據結構”課程三位一體教學模式。
關鍵詞:數據結構;教學模式;實訓;競賽;動態演示
中圖分類號:G642文獻標識碼:B
本研究基于多媒體平臺進行“數據結構”實訓教學,致力于建立“數據結構”課程以教學為基礎、實訓為手段、競賽為激勵機制的三位一體教學模式,運用多媒體等現代化教學手段提高教學效果,為參加全國大學生數學建模、ACM等國家級、國際級競賽進行人才儲備,并對學生進一步學習計算機領域的其他課程、今后從事理論研究、應用開發及技術管理工作發揮重要作用。
1國內外研究現狀
目前國內外對“數據結構”課程教學改革的研究主要基于以下幾方面。
(1) 教學內容:設立了以算法為核心、以應用為驅動的教學主線。在算法介紹上注重對問題求解過程的理解,注重算法設計思路和分析過程的講解,對于每個算法都給出了邏輯步驟,力圖培養學生的抽象思維能力和開放性思維方式。

(2) 教學手段:現代化多媒體教學與傳統教學方式綜合使用,已成為深化教學改革的一種有效手段。多媒體教學法具有知識信息量大、內容豐富生動的特點,多媒體教學在教案設計、備課方法、上課方式等方面帶來了教學觀念、教學思想和教學方法的變化。
(3) 教材體系:改變傳統單一依賴一本教材的模式,參考國內外經典教材,自編集教材、實驗指導、習題解析、案例指導等為一體的多層次、立體化教材體系。
(4) 教學環境:建立“講壇、網壇、論壇”多平臺緊密結合的教學環境。
雖然目前“數據結構”教學中,基本普及了現代化教學手段的應用,但在課件制作的水平方面、在使用課件的尺度把握方面,還存在一些問題,以至于把課堂變成純粹的計算機媒體演示室,學生也是走馬觀花,不知所云,無法達到預期的教學效果。另外多數研究對教學實踐環節沒有提出較好的理論指導,實踐方面的素材相對貧乏,致使教學過程中理論與實踐相脫節,學生缺乏解決實際問題的能力,只會是紙上談兵。
作者多年從事計算機本科專業“數據結構”課程教學工作,該課程2006年被確立為河北省精品課程,所開發的“數據結構動態算法演示”系統獲得第三屆全國高等學校計算機課件評比大賽一等獎。
2三位一體教學模式
縱觀該體系結構,由下至上分為三層,分別是基礎設施層、教學實踐層和能力提升層。基礎設施層是整個系統的基石,它包含電子教案、算法動態演示系統和實訓題庫。教學過程中教師依托電子教案進行基礎知識講解,通過算法動態演示系統形象表現算法運行過程,動靜結合,加強學生對算法的理解和掌握。實訓題庫是實踐環節的主要素材,它由基礎實驗、設計實驗、綜合實驗組成。在扎實的教學和豐富的實驗基礎上,組織學生進行不同級別的競賽活動,激發學生潛能,培養學生解決實際問題能力和團隊協作精神。
2.1多媒體教學平臺
就“數據結構”而言,由于一些理論知識較抽象,單純的電子教案在教學過程中無法將理論知識直觀地表現出來,理解起來非常困難,教學難度較大,所以要改變以往“老師在上面念幻燈片,學生在下面匆忙記筆記”的教學方式,建立多媒體教學平臺,制作算法的動態演示系統,生動、形象地描繪算法執行的動態變化過程,從而激發學生在課堂教學過程中的參與積極性,提高教學效果。
“數據結構算法動態演示系統”內容主要是關于數據結構經典算法的動態演示,制作過程中參考了國內外“數據結構”課程經典教材,結果匯集了“數據結構”課程眾多的算法,該系統是在Visual Studio.net 2005集成開發環境下基于最新的面向對象語言C#開發完成,利用.Net Framework平臺,類型安全,可移植性強。系統的主要特點有:
(1) 實現算法代碼的執行與動態圖形演示相同步,描繪了算法執行的動態變化過程,并可實時觀察系統堆棧和算法中變量的變化過程,生動、形象,加深了學生對算法的理解程度。
(2) 利用多線程編程技術,可隨用戶需要,隨時暫停、繼續算法運行過程,用戶可及時調整數據,自行控制算法的執行速度,根據個人的進度需要控制算法執行的進程。
(3) 提供了算法實現的C++源代碼,既可輔助教師進行自主教學,又可幫助學生自主學習,尤其對學生上機實踐具有指導作用。

圖2所示是“數據結構”經典算法“走迷宮”的動態運行過程。整個界面分為控制區和演示區,控制區包含若干按鈕,主要完成數據的輸入和算法執行過程的控制。演示區從左至右分別是圖形演示區、代碼演示區和堆棧演示區,生動的描繪出算法執行的每一步系統狀態和堆棧情況。通過控制按鈕,學習者可以改變迷宮樣式、調節算法執行的速度以便于觀察。
2.2上機實訓綜合實踐教學體系
“數據結構”是一門實踐性很重的課程,實踐環節要根據一個知識點形成由基礎實驗(點)→ 設計實驗(線)→ 綜合實驗(面)一體化多層次的實踐教學體系。基礎實驗是將理論課上講的抽象數據類型上機編程實現,在實現的過程中,深刻理解抽象數據類型和類之間的關系、算法設計和程序實現之間的關系、問題描述和成員函數之間的關系;設計實驗是在基礎實驗的基礎上,給出面向實際應用的實踐題目,由學生自己設計數據結構、定義類、實現類,從而解決該實際問題,這樣將幾個知識點連接起來,自己設計解決一個小的問題;綜合實驗是給出面向實際應用的稍大一些的實踐題目,由學生自己分析問題,設計幾個數據結構并探究他們之間的關系,定義幾個類并實現,此外,還需要一些類外的函數,進而解決這個稍大的實踐題目。
2.3多層次競賽機制
競賽能激發人的潛能,通過組織各種級別的競賽,強化學生對基礎知識的掌握,培養學生的團隊協作精神,提高他們解決實際問題的能力。
競賽按照規模分為初級、中級和高級。初級競賽主要指班級內部競賽,主要題目來自于實訓題庫的綜合實驗。班級內三至五個人為一小組,分工協作,在規定時間內完成給定題目。初級競賽組織形式簡單,相對頻度可以高一些,難度和強度要適中,既能強化對知識點的鞏固,又能充分發揮學生的主觀能動性,享受解決問題的成就感。中級競賽指校際間同專業學生的比賽。通過初級比賽可以遴選出一些較有實力的參賽隊參加中級比賽,加強校際間的學術交流與合作。因為要涉及到參賽學校的協作,所以建議中級比賽每年舉辦一到兩次。高級競賽主要指全國及其以上規模的比賽,如數學建模競賽和ACM大賽。
自實施“數據結構”三位一體教學模式以來,我專業學生在各類比賽中的成績穩步上升。07年數學建模比賽中全國一等獎1名,省一等獎、二等獎多名;ACM程序設計大賽06年西安賽區取得第29名,07年成都賽區取得第32名。
3結束語
本課題的特色及創新點就是理論與實踐并重、教學與實訓并舉,通過多媒體等現代化教學手段,全方位、立體化地對“數據結構”課程教學進行包裝,提升其教學效果。課題的研究成果可被用于計算機專業“數據結構”必修課程及其他相關理工專業“數據結構”選修課程的教學實踐。所包含的知識與提倡的技術方法,無論對進一步學習計算機領域的其他課程,還是對今后從事理論研究、應用開發及技術管理工作都發揮著重要的作用。
參考文獻:
[1] 馬燕. 關于“數據結構”教學模式改革的探索與實踐[J]. 教育與職業,2007,(2).
[2] 張恩勝,婁雅斌,顧紅生. 數據結構教學改革初探[J].“鞍山師范學院學報”,2005,7(6).
[3] 殷人坤,鄧俊輝. 清華大學“數據結構”精品課程建設[J].“計算機教育”,2006,(5).
[4] 程滿玲. 創新數據結構的教學模式 探索課程改革的新思路[J]. 考試周刊,2007,(23).
[5] 張榮博,梁文靜. 非計算機專業“數據結構”教學研究探討[J]. 科技信息,2006,(5).
[6] 李治軍,廖明宏,張巖. 數據結構與算法課程設計教學模式的探討[J]. 計算機教育,2006,(2).