李彤巖+張敏+馬文英
摘要:《數(shù)據(jù)結(jié)構(gòu)》是計算機相關(guān)工科專業(yè)的重要理論技術(shù)課,傳統(tǒng)的教學方法偏重理論教學,教學枯燥且效果不好。本文將CDIO的理念應(yīng)用到《數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計》這門課程中,將項目和教學結(jié)合的思想引入到教學環(huán)節(jié)和實踐環(huán)節(jié)中,針對重點章節(jié)設(shè)計了工程實踐項目,使學生完成項目的同時鞏固對知識點的學習,這樣既鍛煉了學生的動手創(chuàng)新能力,也培養(yǎng)了學生的工程實踐能力。通過教學實踐證明,采用項目結(jié)合教學的教學模式能夠有效地調(diào)動學生的學習積極性,使得教學取得了較好的效果。
關(guān)鍵詞:CDIO;數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計;工程實踐
1. 引言
CDIO是2001年由美國麻省理工學院聯(lián)合瑞典的查爾姆斯技術(shù)大學、林克平大學以及皇家技術(shù)學院等高校,共同開發(fā)的一種全新的工程教育理念和實施體系[1,2]。CDIO工程教育模式注重培養(yǎng)學生掌握工程基礎(chǔ)理論知識和專業(yè)知識,更重要的是培養(yǎng)學生的工程實踐能力。在該模式培養(yǎng)下,學生能夠得到團隊精神培養(yǎng)和實踐創(chuàng)新能力培養(yǎng),更進一步地把自己鍛煉成為高水平的工程師。
《數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計》是我校重點參與CDIO改革的一門核心必修課。該課程的抽象性、靈活性較高,其基礎(chǔ)課程是高級程序語言設(shè)計,如C語言。而其又是操作系統(tǒng)、軟件工程、數(shù)據(jù)庫、計算機圖形學等課程的基礎(chǔ)課,所以《數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計》在計算機體系中起到承上啟下的作用。該課程不僅是一般程序設(shè)計的基礎(chǔ),更是實現(xiàn)大型應(yīng)用程序的重要基礎(chǔ)。學生通過學習該課程,可以提高編程能力以及算法設(shè)計的能力。然而在實際教學實驗過程中,反映出來的問題是該課程教授起來的效果不好,學生學習起來難度很大。
因此,本文重點研究在CDIO模式下《數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計》實驗教學的改革方法。通過CDIO理念的灌輸和教學、實驗改革措施的實施,不僅使學生更好的掌握這門重要的學科,而且能夠讓學生對數(shù)據(jù)結(jié)構(gòu)、編程思想和編程理念產(chǎn)生興趣,培養(yǎng)學生解決實際問題的能力。為以后的工程實踐奠定好的基礎(chǔ)。
2. 實驗教學內(nèi)容的改革
《數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計》課程抽象性較強,平時的理論知識講授并不能將數(shù)據(jù)結(jié)構(gòu)的相關(guān)算法表述的非常清楚。學生對于概念性的知識感覺已經(jīng)掌握,一旦遇到實際問題無從下手。所以數(shù)據(jù)結(jié)構(gòu)課程的實驗環(huán)節(jié)非常重要。通過實驗的設(shè)計和訓練,才能讓學生更好的理解數(shù)據(jù)結(jié)構(gòu)算法,增加學生的動手能力和程序設(shè)計能力。以著重培養(yǎng)實踐型人才為目標,本課程加大了實踐教學部分的比重,并將項目的思想引入到實驗中去。讓學生參與到具體的項目開發(fā),在實踐的過程中完成對理論知識的強化和鞏固,并初步形成團隊意識。下面以“樹”這章為例來說明這種項目引導模式的具體實施過程。
“樹”這章是數(shù)據(jù)結(jié)構(gòu)核心的一個章節(jié),也是學生接觸到的第一個非線性數(shù)據(jù)結(jié)構(gòu)。該章節(jié)的程序算法設(shè)計相比較前幾個章節(jié)來說更加抽象難懂,因此原先的教學將本章的重點放在遍歷的幾種算法理論教學中。教學的結(jié)果是雖然學生可以掌握該章的理論方法,并能夠熟練完成習題,但是一遇到具體的程序設(shè)計就無從下手,而樹型數(shù)據(jù)結(jié)構(gòu)的工程應(yīng)用又是最廣泛的。怎么才能將理論和應(yīng)用充分地結(jié)合起來,引起學生學習的興趣呢?本文介紹了一種將項目引入教學的改革方式。在本學院大數(shù)據(jù)挖掘團隊中,有一個項目是“基于數(shù)據(jù)挖掘的告警相關(guān)性分析”,就是利用數(shù)據(jù)挖掘的方法來尋找告警之間的關(guān)聯(lián),從而查找故障的根源。在運用數(shù)據(jù)挖掘算法時,主要通過樹形結(jié)構(gòu)來構(gòu)造頻繁模式樹(見圖1),查找頻繁項的時候需要遍歷頻繁模式樹,從而通過頻繁項來生成關(guān)聯(lián)規(guī)則。學生通過組合團隊來參與此項目的開發(fā)。完成項目開發(fā)以后,學生不僅能夠熟練的掌握樹型數(shù)據(jù)結(jié)構(gòu)的構(gòu)造方法、遍歷方法及相關(guān)理論,而且能夠在具體的工程實踐中去解決生活中的問題,可以激發(fā)學習的興趣,也能培養(yǎng)學生的團隊協(xié)作能力。這樣,這么有難度的一章就輕松的通過完成項目的方式解決了。同樣的可以設(shè)計“網(wǎng)絡(luò)優(yōu)化”的項目引入“圖”的實驗中,將“排隊論解決網(wǎng)絡(luò)數(shù)據(jù)包優(yōu)化傳輸問題”項目引入“線性表,鏈表”的實驗中。
3. 總結(jié)
本文介紹了基于CDIO的《數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計》實驗課程改革方法,通過將項目引入課程教學,能夠激發(fā)學生和教師的積極性、主動性。通過通信工程試點班級的教學實驗,驗證了以上提出方法的有效性和科學性,今后可以逐步擴大到在所有班級和專業(yè)中推廣使用。
4. 致謝
本文由成都信息工程大學《數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計》精品在線課程項目支持。
圖1 根據(jù)告警數(shù)據(jù)構(gòu)造頻繁模式樹
參考文獻
[1] Berggren K. CDIO: Aninternation alinitiative for reforming engineering education. World Transactions on Engineering and Technology Education, 3(l), 49-52.
[2] Crawley E. Rethinking Engineering Education: The CDIO Approach. New York: Springer Science Business Media, 2007
[3] 嚴蔚敏, 吳偉民. 數(shù)據(jù)結(jié)構(gòu)(C語言版) [M]. 北京: 清華大學出版社, 2001
[4] 楊曉光. 數(shù)據(jù)結(jié)構(gòu)實例教程[M]. 北京: 清華大學出版社&北京交通大學出版社, 2008
[5] 劉麗杰. 《數(shù)據(jù)結(jié)構(gòu)》課程教學改革研究[J]. 長江大學學報(自然科學版). 2011, 2(8):132-134
[6] 馬曉波. 《數(shù)據(jù)結(jié)構(gòu)》課程教學改革探討[J]. 軟件導刊. 2010, 3(9): 183-184
作者簡介:李彤巖,女,講師, 2010年畢業(yè)于電子科技大學,獲通信與信息系統(tǒng)專業(yè)博士學位?,F(xiàn)為通信工程學院計算機通信教研室講師。endprint