摘要:本文在分析當前“數(shù)據(jù)結(jié)構(gòu)”課程教學主要問題的基礎(chǔ)上,提出了以教學為基礎(chǔ)、實訓為手段、競賽為激勵機制的“數(shù)據(jù)結(jié)構(gòu)”課程三位一體教學模式。
關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu);教學模式;實訓;競賽;動態(tài)演示
中圖分類號:G642文獻標識碼:B
本研究基于多媒體平臺進行“數(shù)據(jù)結(jié)構(gòu)”實訓教學,致力于建立“數(shù)據(jù)結(jié)構(gòu)”課程以教學為基礎(chǔ)、實訓為手段、競賽為激勵機制的三位一體教學模式,運用多媒體等現(xiàn)代化教學手段提高教學效果,為參加全國大學生數(shù)學建模、ACM等國家級、國際級競賽進行人才儲備,并對學生進一步學習計算機領(lǐng)域的其他課程、今后從事理論研究、應(yīng)用開發(fā)及技術(shù)管理工作發(fā)揮重要作用。
1國內(nèi)外研究現(xiàn)狀
目前國內(nèi)外對“數(shù)據(jù)結(jié)構(gòu)”課程教學改革的研究主要基于以下幾方面。
(1) 教學內(nèi)容:設(shè)立了以算法為核心、以應(yīng)用為驅(qū)動的教學主線。在算法介紹上注重對問題求解過程的理解,注重算法設(shè)計思路和分析過程的講解,對于每個算法都給出了邏輯步驟,力圖培養(yǎng)學生的抽象思維能力和開放性思維方式。
(2) 教學手段:現(xiàn)代化多媒體教學與傳統(tǒng)教學方式綜合使用,已成為深化教學改革的一種有效手段。多媒體教學法具有知識信息量大、內(nèi)容豐富生動的特點,多媒體教學在教案設(shè)計、備課方法、上課方式等方面帶來了教學觀念、教學思想和教學方法的變化。
(3) 教材體系:改變傳統(tǒng)單一依賴一本教材的模式,參考國內(nèi)外經(jīng)典教材,自編集教材、實驗指導、習題解析、案例指導等為一體的多層次、立體化教材體系。
(4) 教學環(huán)境:建立“講壇、網(wǎng)壇、論壇”多平臺緊密結(jié)合的教學環(huán)境。
雖然目前“數(shù)據(jù)結(jié)構(gòu)”教學中,基本普及了現(xiàn)代化教學手段的應(yīng)用,但在課件制作的水平方面、在使用課件的尺度把握方面,還存在一些問題,以至于把課堂變成純粹的計算機媒體演示室,學生也是走馬觀花,不知所云,無法達到預(yù)期的教學效果。另外多數(shù)研究對教學實踐環(huán)節(jié)沒有提出較好的理論指導,實踐方面的素材相對貧乏,致使教學過程中理論與實踐相脫節(jié),學生缺乏解決實際問題的能力,只會是紙上談兵。
作者多年從事計算機本科專業(yè)“數(shù)據(jù)結(jié)構(gòu)”課程教學工作,該課程2006年被確立為河北省精品課程,所開發(fā)的“數(shù)據(jù)結(jié)構(gòu)動態(tài)算法演示”系統(tǒng)獲得第三屆全國高等學校計算機課件評比大賽一等獎。
2三位一體教學模式
縱觀該體系結(jié)構(gòu),由下至上分為三層,分別是基礎(chǔ)設(shè)施層、教學實踐層和能力提升層?;A(chǔ)設(shè)施層是整個系統(tǒng)的基石,它包含電子教案、算法動態(tài)演示系統(tǒng)和實訓題庫。教學過程中教師依托電子教案進行基礎(chǔ)知識講解,通過算法動態(tài)演示系統(tǒng)形象表現(xiàn)算法運行過程,動靜結(jié)合,加強學生對算法的理解和掌握。實訓題庫是實踐環(huán)節(jié)的主要素材,它由基礎(chǔ)實驗、設(shè)計實驗、綜合實驗組成。在扎實的教學和豐富的實驗基礎(chǔ)上,組織學生進行不同級別的競賽活動,激發(fā)學生潛能,培養(yǎng)學生解決實際問題能力和團隊協(xié)作精神。
2.1多媒體教學平臺
就“數(shù)據(jù)結(jié)構(gòu)”而言,由于一些理論知識較抽象,單純的電子教案在教學過程中無法將理論知識直觀地表現(xiàn)出來,理解起來非常困難,教學難度較大,所以要改變以往“老師在上面念幻燈片,學生在下面匆忙記筆記”的教學方式,建立多媒體教學平臺,制作算法的動態(tài)演示系統(tǒng),生動、形象地描繪算法執(zhí)行的動態(tài)變化過程,從而激發(fā)學生在課堂教學過程中的參與積極性,提高教學效果。
“數(shù)據(jù)結(jié)構(gòu)算法動態(tài)演示系統(tǒng)”內(nèi)容主要是關(guān)于數(shù)據(jù)結(jié)構(gòu)經(jīng)典算法的動態(tài)演示,制作過程中參考了國內(nèi)外“數(shù)據(jù)結(jié)構(gòu)”課程經(jīng)典教材,結(jié)果匯集了“數(shù)據(jù)結(jié)構(gòu)”課程眾多的算法,該系統(tǒng)是在Visual Studio.net 2005集成開發(fā)環(huán)境下基于最新的面向?qū)ο笳Z言C#開發(fā)完成,利用.Net Framework平臺,類型安全,可移植性強。系統(tǒng)的主要特點有:
(1) 實現(xiàn)算法代碼的執(zhí)行與動態(tài)圖形演示相同步,描繪了算法執(zhí)行的動態(tài)變化過程,并可實時觀察系統(tǒng)堆棧和算法中變量的變化過程,生動、形象,加深了學生對算法的理解程度。
(2) 利用多線程編程技術(shù),可隨用戶需要,隨時暫停、繼續(xù)算法運行過程,用戶可及時調(diào)整數(shù)據(jù),自行控制算法的執(zhí)行速度,根據(jù)個人的進度需要控制算法執(zhí)行的進程。
(3) 提供了算法實現(xiàn)的C++源代碼,既可輔助教師進行自主教學,又可幫助學生自主學習,尤其對學生上機實踐具有指導作用。
圖2所示是“數(shù)據(jù)結(jié)構(gòu)”經(jīng)典算法“走迷宮”的動態(tài)運行過程。整個界面分為控制區(qū)和演示區(qū),控制區(qū)包含若干按鈕,主要完成數(shù)據(jù)的輸入和算法執(zhí)行過程的控制。演示區(qū)從左至右分別是圖形演示區(qū)、代碼演示區(qū)和堆棧演示區(qū),生動的描繪出算法執(zhí)行的每一步系統(tǒng)狀態(tài)和堆棧情況。通過控制按鈕,學習者可以改變迷宮樣式、調(diào)節(jié)算法執(zhí)行的速度以便于觀察。
2.2上機實訓綜合實踐教學體系
“數(shù)據(jù)結(jié)構(gòu)”是一門實踐性很重的課程,實踐環(huán)節(jié)要根據(jù)一個知識點形成由基礎(chǔ)實驗(點)→ 設(shè)計實驗(線)→ 綜合實驗(面)一體化多層次的實踐教學體系?;A(chǔ)實驗是將理論課上講的抽象數(shù)據(jù)類型上機編程實現(xiàn),在實現(xiàn)的過程中,深刻理解抽象數(shù)據(jù)類型和類之間的關(guān)系、算法設(shè)計和程序?qū)崿F(xiàn)之間的關(guān)系、問題描述和成員函數(shù)之間的關(guān)系;設(shè)計實驗是在基礎(chǔ)實驗的基礎(chǔ)上,給出面向?qū)嶋H應(yīng)用的實踐題目,由學生自己設(shè)計數(shù)據(jù)結(jié)構(gòu)、定義類、實現(xiàn)類,從而解決該實際問題,這樣將幾個知識點連接起來,自己設(shè)計解決一個小的問題;綜合實驗是給出面向?qū)嶋H應(yīng)用的稍大一些的實踐題目,由學生自己分析問題,設(shè)計幾個數(shù)據(jù)結(jié)構(gòu)并探究他們之間的關(guān)系,定義幾個類并實現(xiàn),此外,還需要一些類外的函數(shù),進而解決這個稍大的實踐題目。
2.3多層次競賽機制
競賽能激發(fā)人的潛能,通過組織各種級別的競賽,強化學生對基礎(chǔ)知識的掌握,培養(yǎng)學生的團隊協(xié)作精神,提高他們解決實際問題的能力。
競賽按照規(guī)模分為初級、中級和高級。初級競賽主要指班級內(nèi)部競賽,主要題目來自于實訓題庫的綜合實驗。班級內(nèi)三至五個人為一小組,分工協(xié)作,在規(guī)定時間內(nèi)完成給定題目。初級競賽組織形式簡單,相對頻度可以高一些,難度和強度要適中,既能強化對知識點的鞏固,又能充分發(fā)揮學生的主觀能動性,享受解決問題的成就感。中級競賽指校際間同專業(yè)學生的比賽。通過初級比賽可以遴選出一些較有實力的參賽隊參加中級比賽,加強校際間的學術(shù)交流與合作。因為要涉及到參賽學校的協(xié)作,所以建議中級比賽每年舉辦一到兩次。高級競賽主要指全國及其以上規(guī)模的比賽,如數(shù)學建模競賽和ACM大賽。
自實施“數(shù)據(jù)結(jié)構(gòu)”三位一體教學模式以來,我專業(yè)學生在各類比賽中的成績穩(wěn)步上升。07年數(shù)學建模比賽中全國一等獎1名,省一等獎、二等獎多名;ACM程序設(shè)計大賽06年西安賽區(qū)取得第29名,07年成都賽區(qū)取得第32名。
3結(jié)束語
本課題的特色及創(chuàng)新點就是理論與實踐并重、教學與實訓并舉,通過多媒體等現(xiàn)代化教學手段,全方位、立體化地對“數(shù)據(jù)結(jié)構(gòu)”課程教學進行包裝,提升其教學效果。課題的研究成果可被用于計算機專業(yè)“數(shù)據(jù)結(jié)構(gòu)”必修課程及其他相關(guān)理工專業(yè)“數(shù)據(jù)結(jié)構(gòu)”選修課程的教學實踐。所包含的知識與提倡的技術(shù)方法,無論對進一步學習計算機領(lǐng)域的其他課程,還是對今后從事理論研究、應(yīng)用開發(fā)及技術(shù)管理工作都發(fā)揮著重要的作用。
參考文獻:
[1] 馬燕. 關(guān)于“數(shù)據(jù)結(jié)構(gòu)”教學模式改革的探索與實踐[J]. 教育與職業(yè),2007,(2).
[2] 張恩勝,婁雅斌,顧紅生. 數(shù)據(jù)結(jié)構(gòu)教學改革初探[J].“鞍山師范學院學報”,2005,7(6).
[3] 殷人坤,鄧俊輝. 清華大學“數(shù)據(jù)結(jié)構(gòu)”精品課程建設(shè)[J].“計算機教育”,2006,(5).
[4] 程滿玲. 創(chuàng)新數(shù)據(jù)結(jié)構(gòu)的教學模式 探索課程改革的新思路[J]. 考試周刊,2007,(23).
[5] 張榮博,梁文靜. 非計算機專業(yè)“數(shù)據(jù)結(jié)構(gòu)”教學研究探討[J]. 科技信息,2006,(5).
[6] 李治軍,廖明宏,張巖. 數(shù)據(jù)結(jié)構(gòu)與算法課程設(shè)計教學模式的探討[J]. 計算機教育,2006,(2).