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