邱奕敏(武漢科技大學(xué)信息科學(xué)與工程學(xué)院,武漢 430081)
電子信息工程專業(yè)數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)教學(xué)改革研究
邱奕敏
(武漢科技大學(xué)信息科學(xué)與工程學(xué)院,武漢430081)
數(shù)據(jù)結(jié)構(gòu)是電子信息技術(shù)領(lǐng)域的一門基礎(chǔ)課程,實(shí)踐在數(shù)據(jù)結(jié)構(gòu)的教學(xué)中起著重要的作用,可以幫助學(xué)生理解抽象的概念,增加趣味性,甚至可以用來解決日常生活中遇到的常見問題,同時練習(xí)和鞏固了常用的編程語言。
數(shù)據(jù)結(jié)構(gòu);電子信息;實(shí)驗(yàn)教學(xué)
隨著計算機(jī)和電子信息科學(xué)的快速發(fā)展,電子信息科學(xué)與工程專業(yè)被用以培養(yǎng)大量的電子信息人才?!陡叩葘W(xué)校電子信息科學(xué)與工程類本科指導(dǎo)性專業(yè)規(guī)范(試行)》是由教育部編制的電子信息工程專業(yè)管理規(guī)定,文中指出:“電子信息工程專業(yè)教育內(nèi)容和知識體系由通識教育、專業(yè)教育和綜合教育三大部分組成?!薄坝嬎銠C(jī)基礎(chǔ)是理工科類各專業(yè)通識教育知識單元,包含計算機(jī)文化、算法語言和程序設(shè)計等內(nèi)容[1]?!边@說明在教學(xué)實(shí)踐方法,電子信息專業(yè)也需要掌握計算機(jī)專業(yè)的基礎(chǔ)學(xué)科內(nèi)容。數(shù)據(jù)結(jié)構(gòu)是計算機(jī)專業(yè)的核心課程之一,也是電信專業(yè)學(xué)術(shù)需要掌握的一門重要基礎(chǔ)課。但是由于兩種專業(yè)的培養(yǎng)目標(biāo)和課程體系不同,因此電信專業(yè)數(shù)據(jù)結(jié)構(gòu)課程在理論及實(shí)踐教學(xué)的側(cè)重點(diǎn)也不同。
1968年美國唐納德?克努特教授開創(chuàng)了數(shù)據(jù)結(jié)構(gòu)的最初體系,他闡述了數(shù)據(jù)的邏輯和存儲結(jié)構(gòu)及其操作。數(shù)據(jù)結(jié)構(gòu)作為一門核心課程,介于數(shù)學(xué)、計算機(jī)硬件和軟件之間,其內(nèi)容是一般程序設(shè)計的基礎(chǔ),也是對編譯程序、操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)等系統(tǒng)程序設(shè)計和實(shí)現(xiàn)的重要基礎(chǔ)。
數(shù)據(jù)結(jié)構(gòu)從廣義上描述,包括邏輯結(jié)構(gòu)和物理結(jié)構(gòu)。狹義上則專指邏輯結(jié)構(gòu),即元素間的邏輯關(guān)系,包括集合型、線性結(jié)構(gòu)、樹型和圖型。數(shù)據(jù)結(jié)構(gòu)課程是圍繞上述幾種數(shù)據(jù)類型進(jìn)行的,除了這些基本的操作,還構(gòu)建了插入,刪除,查找,取元素,取長度等。此外,加入了較為復(fù)雜的算法,即查找和排序。
對于大多數(shù)的數(shù)據(jù)結(jié)構(gòu),都需要了解插入數(shù)據(jù)項(xiàng)、查找數(shù)據(jù)項(xiàng)、刪除數(shù)據(jù)項(xiàng)和訪問數(shù)據(jù)項(xiàng),用來進(jìn)行后續(xù)的顯示或其他操作。因此,電子信息專業(yè)數(shù)據(jù)結(jié)構(gòu)教學(xué)具有以下特點(diǎn):
1.1概念多,對比性強(qiáng),易記憶
每種數(shù)據(jù)結(jié)構(gòu)都包含了類型定義和結(jié)構(gòu)特點(diǎn),也都有建立、插入、刪除、查找等基本操作。因此,在新章節(jié)的學(xué)習(xí)中可以結(jié)合前面章節(jié)的內(nèi)容,學(xué)生就很容易掌握數(shù)據(jù)結(jié)構(gòu)的特點(diǎn)和整體概念。
1.2算法多樣,特點(diǎn)不同
雖然各種數(shù)據(jù)結(jié)構(gòu)都有相同的操作,但其存儲結(jié)構(gòu)不同,所以方法也不同。例如,在線性表中刪除結(jié)點(diǎn),該結(jié)點(diǎn)是前、后關(guān)系,所以刪除時只需要考慮結(jié)點(diǎn)的前驅(qū)與后繼;但是,在二叉樹中刪除結(jié)點(diǎn),則需要考慮刪除的結(jié)點(diǎn)所在位置,對于葉子結(jié)點(diǎn)或是左右子樹,應(yīng)考慮刪除后的不同信息修改問題。
1.3形式抽象,難以實(shí)際應(yīng)用
現(xiàn)實(shí)生活中抽象出來的數(shù)據(jù)元素作為數(shù)據(jù)結(jié)構(gòu)的研究對象,只是對單純的數(shù)據(jù)進(jìn)行操作,沒有考慮數(shù)據(jù)本身的實(shí)際意義,加上表現(xiàn)形式不同,更加抽象難以理解。
數(shù)據(jù)結(jié)構(gòu)是電子信息工程學(xué)科的重要基礎(chǔ)課程,研究的主要內(nèi)容是各種基本而又典型的數(shù)據(jù)結(jié)構(gòu)、算法思想及其實(shí)際應(yīng)用,以培養(yǎng)學(xué)生對數(shù)據(jù)結(jié)構(gòu)特性的分析與研究能力,使學(xué)生理解各種數(shù)據(jù)結(jié)構(gòu)的特點(diǎn)、存儲、運(yùn)算方法以及基本應(yīng)用;培養(yǎng)學(xué)生選用合適的數(shù)據(jù)結(jié)構(gòu),運(yùn)用C語言編寫應(yīng)用程序和初步評價算法程序的能力。學(xué)生們需要利用實(shí)驗(yàn)課來實(shí)踐所學(xué)理論進(jìn)而深入理解理論知識并探索和運(yùn)用知識,用科學(xué)的思維和嚴(yán)謹(jǐn)?shù)目茖W(xué)態(tài)度[2-4]來進(jìn)行今后的學(xué)習(xí),因此數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)課程的合理安排非常重要。
數(shù)據(jù)結(jié)構(gòu)在電子信息工程的課程中有著承上啟下的重要作用。其先修課程有計算機(jī)基礎(chǔ)和數(shù)字電路與數(shù)字邏輯,數(shù)據(jù)結(jié)構(gòu)課程是數(shù)據(jù)庫、計算機(jī)組成原理等核心課程的基礎(chǔ),還是計算機(jī)網(wǎng)絡(luò)等課程應(yīng)該掌握的前提學(xué)科。理解數(shù)據(jù)結(jié)構(gòu)在學(xué)科系統(tǒng)中的位置,合理安排理論和實(shí)踐教學(xué),能幫助學(xué)生加深對基礎(chǔ)課程的理解,培養(yǎng)學(xué)生具有良好的工程思維,還能使學(xué)生為未來核心課程的學(xué)習(xí)奠定良好的基礎(chǔ)。
綜上所述,數(shù)據(jù)結(jié)構(gòu)課程具有概念較多、內(nèi)容抽象、理論和邏輯性強(qiáng)、程序復(fù)雜等突出特點(diǎn)。教學(xué)實(shí)踐中發(fā)現(xiàn),學(xué)生中普遍存在概念不清、無法準(zhǔn)確理解的問題,上實(shí)驗(yàn)課時常常不能通過正確編寫程序來理解課程內(nèi)容。因此,有必要根據(jù)數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)教學(xué)特點(diǎn)進(jìn)行實(shí)驗(yàn)教學(xué)改革。
實(shí)驗(yàn)教學(xué)是理論教學(xué)的延續(xù)和擴(kuò)展,是培養(yǎng)學(xué)生興趣、解決實(shí)際問題的重要手段。課程中需要學(xué)生具有一定的編程能力用以加深對算法的理解,因此學(xué)生對于C語言的掌握也至關(guān)重要。本文在筆者多年實(shí)驗(yàn)教學(xué)經(jīng)驗(yàn)基礎(chǔ)上,以激發(fā)學(xué)生對數(shù)據(jù)結(jié)構(gòu)課程的學(xué)習(xí)興趣和加深理解為主線,提出了電子信息專業(yè)數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)教學(xué)的措施。
(1)數(shù)據(jù)結(jié)構(gòu)中樹、圖、查找、排序等章節(jié)的概念較多,很多都需要通過理解記憶,才能更好地理解算法的含義和數(shù)據(jù)結(jié)構(gòu),因此可以利用一些簡單的小例子來幫助學(xué)生記憶。例如,學(xué)習(xí)完鏈表后,可以將一個班上所有同學(xué)的信息用鏈表的形式用數(shù)據(jù)結(jié)構(gòu)的概念來定
義,將男生和女生信息分成兩個鏈表來保存,在鏈表尾部插入新來的同學(xué)的信息等。通過這些類似的小例子,都可以幫助電信專業(yè)的學(xué)生們理解數(shù)據(jù)結(jié)構(gòu),了解算法設(shè)計對程序的影響。
(2)由于大多數(shù)電信專業(yè)學(xué)生程序語言和編程能力較弱,對問題沒有清晰的算法思想,也無法將其轉(zhuǎn)為完整的代碼正確的表達(dá)出來。同時課本上的例證用的都是偽C代碼,學(xué)生很難理解這種偽代碼的描述語句,編寫出C程序的難度就更大了。因此教師在實(shí)踐教學(xué)中應(yīng)該注重對于程序語言的培養(yǎng),對于課本上的類C語言描述需要更透徹的講解,對于一些默認(rèn)采用的代碼也需要多提示。
例如在鏈表學(xué)習(xí)中,課本對于單鏈表結(jié)點(diǎn)類型的定義為:
typedefstructLNode
{
ElemTypedata;
structLNode*next;
}LinkList,*LNode;
其中LNode是節(jié)點(diǎn)指針,用于單鏈表的鏈接操作(指向下一個節(jié)點(diǎn))。LinkList是定義的結(jié)構(gòu)體的名稱,用于表示整個鏈表(其中包含兩個方面,數(shù)據(jù)域和指針域,當(dāng)鏈表中只有一個節(jié)點(diǎn)時,指的就是整個節(jié)點(diǎn))。這里的*LNode和LinkList都是指向鏈表,但一個是用名字表示,另一個是指針表示。而這里的ElemType可以表示任意類型,通常編寫程序時,會在結(jié)構(gòu)體的前面加上類似typedefElemTypeint;的語句,用以說明此程序中的ElemType被定義成int類型。
這樣類似的編程中需要注意的小細(xì)節(jié),都需要在實(shí)驗(yàn)教學(xué)中告訴學(xué)生們,方便學(xué)生們對編程語言的閱讀、分析和理解。同時,平時應(yīng)該多鼓勵學(xué)生編寫程序,閱讀程序,解決實(shí)際小問題,提高學(xué)生的積極性。
(3)根據(jù)學(xué)生掌握知識的程度不同,教師在實(shí)驗(yàn)教學(xué)中應(yīng)該采用由簡到難的方法來幫助學(xué)生克服學(xué)習(xí)中的困難。例如,學(xué)習(xí)樹這個數(shù)據(jù)結(jié)構(gòu)時,由于用到了遞歸的概念,因此先從遞歸的含義著手,結(jié)合前面學(xué)到的線性表的概念,從利用樹的孩子表示法開始,過度到孩子兄弟表示法,學(xué)習(xí)樹轉(zhuǎn)換成二叉樹的過程和不同的程序編寫方法,然后通過閱讀例子,最后編寫程序,在閱讀中理解,在實(shí)踐中進(jìn)步。
(4)同時學(xué)生也需要通過自身努力來提高興趣和學(xué)習(xí)效果。因此,學(xué)生要進(jìn)行課前預(yù)習(xí)和課后復(fù)習(xí),熟悉各種數(shù)據(jù)結(jié)構(gòu)的表示方法,將數(shù)據(jù)結(jié)構(gòu)的概念應(yīng)用到實(shí)際生活中來解決問題,多看、多編寫程序。
數(shù)據(jù)結(jié)構(gòu)是電子信息技術(shù)領(lǐng)域的一門基礎(chǔ)課程,實(shí)踐在數(shù)據(jù)結(jié)構(gòu)的教學(xué)中起著重要的作用,可以幫助學(xué)生理解抽象的概念,增加趣味性,甚至可以用來解決日常生活中遇到的常見問題,同時練習(xí)和鞏固了常用的編程語言。由于數(shù)據(jù)結(jié)構(gòu)被應(yīng)用到神經(jīng)網(wǎng)絡(luò)和數(shù)據(jù)庫等多個領(lǐng)域,學(xué)好數(shù)據(jù)結(jié)構(gòu)有利于后續(xù)其他專業(yè)知識的學(xué)習(xí)。因此,數(shù)據(jù)結(jié)構(gòu)在電信專業(yè)的本科實(shí)踐教學(xué)中具有舉足輕重的研究意義。
[1]教育部高等學(xué)校電子信息科學(xué)與工程類專業(yè)教學(xué)指導(dǎo)分委員會.高等學(xué)校電子信息科學(xué)與工程類本科指導(dǎo)性專業(yè)規(guī)范(試行) [S].北京:高等教育出版社,2010:1-66.
[2]汪沁.基于“數(shù)據(jù)結(jié)構(gòu)”實(shí)驗(yàn)的探討和研究[J].中國教育信息化,2007(04):17-19.
[3]徐大華0程序設(shè)計語言教學(xué)方法探討[J].高等理科教育,2007(01):36-38.
[4]袁曉峰.“算法與數(shù)據(jù)結(jié)構(gòu)”實(shí)驗(yàn)教學(xué)的改革與實(shí)踐[J].中國電力教育,2011(29):136-137.
武漢科技大學(xué)2014年度青年科技骨干培育計劃項(xiàng)目,項(xiàng)目編號:2014xz011
邱奕敏(1981-),女,湖北武漢人,博士,研究方向?yàn)橹R工程,圖像處理。