羅富貴+唐鳳仙
摘 要:數(shù)據(jù)結構主要學習用計算機實現(xiàn)數(shù)據(jù)組織和數(shù)據(jù)處理的方法,它在計算機科學課程體系中起到了重要的作用。但由于這門課程抽象度高,內(nèi)容不易理解,學生學習起來感覺非常困難,導致教學效果非常不好。本文通過分析了在數(shù)據(jù)結構教學中存在的問題,在理論教學和實踐教學方面提出了一些改進的教學措施。
關鍵詞:數(shù)據(jù)結構 案例教學 啟發(fā)式教學 實踐教學
《數(shù)據(jù)結構》是計算機及相關專業(yè)的專業(yè)基礎課之一,是一門十分重要的核心課程,它也為計算機專業(yè)的后續(xù)課程如操作系統(tǒng)、編譯原理、數(shù)據(jù)庫原理和軟件工程等學習打下堅實的基礎。數(shù)據(jù)結構課程主要研究內(nèi)容是各種數(shù)據(jù)的邏輯結構(數(shù)據(jù)元素之間的關系)、存儲結構,以及建立在這些結構的算法及其性能分析,其主要學習目標對這些內(nèi)容的掌握和理解。但由于《數(shù)據(jù)結構》這門課程理論性強、抽象度高,使得學生學習起來感覺非常困難,學生普遍反應該課程不易理解,導致教學效果非常不好。本文分析了在數(shù)據(jù)結構教學中存在的問題,教學內(nèi)容,教學方法,教學手段以及實踐教學等四個方面進行研究,提出了一些改進的方法和措施,從而提高教學質(zhì)量。[1]
一、課程教學目前存在的問題
1.課程本身難度大
數(shù)據(jù)結構主要學習用計算機實現(xiàn)數(shù)據(jù)組織和數(shù)據(jù)處理的方法,該課程理論性和邏輯性都比較強,而且數(shù)據(jù)的邏輯結構以抽象數(shù)據(jù)類型進行表述,抽象度高,內(nèi)容相對來說枯燥無味、知識點也比較多,不花足夠的時間研究很難理解。往往前面所學的知識還沒有完全理解,又開始學習新的知識,遇到的問題不能及時解決,這使得問題不斷堆積,造成學生心理上感到恐懼,學習難度大,從而失去了學習數(shù)據(jù)結構的興趣,最終導致教學質(zhì)量差。[2]
2.先導課程基礎不扎實
高等數(shù)學、高級程序設計語言和離散數(shù)據(jù)等課程是數(shù)據(jù)結構的先導課程,學生對先修課程掌握不扎實。例如在分析算法時需要一定的數(shù)學知識,理解和實現(xiàn)算法時則需要高級程序設計語言。目前大部分高校的數(shù)據(jù)結構的算法描述工具是C語言,其算法經(jīng)常需要用到先修課程C語言里的函數(shù)、指針、結構體等知識,而學生對這些知識普遍掌握不好,導致其在學習數(shù)據(jù)結構時對知識的理解和算法實踐受到阻礙。
3.實踐動手能力弱
在多年的教學中發(fā)現(xiàn)每一屆學生都存在同一問題:由于先修課程C語言程序設計的基礎薄弱,學生對問題的分析能力不足,對算法的理解程度差,動手編程、調(diào)試、閱讀程序的能力差。所以,上機時自然無從下手,學生無法體會數(shù)據(jù)結構課程在計算機軟件開發(fā)領域的價值,也就無法體會數(shù)據(jù)結構課程的作用,使得學習沒有興趣。
二、課程教學與實踐的改革
1.組織好教學內(nèi)容
《數(shù)據(jù)結構》課程教學內(nèi)容主要包含有基本的數(shù)據(jù)結構:線性結構、樹形結構、圖形結構以及數(shù)據(jù)結構的應用,面對多而繁雜的內(nèi)容,可以通過以下的方式來有效地設計好教學內(nèi)容,如圖1所示。
基本數(shù)據(jù)結構的教學組織內(nèi)容可以劃分以下三部分:一是數(shù)據(jù)的抽象數(shù)據(jù)類型(邏輯結構和基本運算描述);二是數(shù)據(jù)在計算機的存儲結構:主要包括順序存儲結構和鏈式存儲結構;三是基本運算在兩種存儲結構上算法的實現(xiàn)及算法性能分析。數(shù)據(jù)結構的應用包含查找技術和排序技術兩方面。我們就可以根據(jù)課程的教學目標,依照圖1所示進行內(nèi)容設計,以知識單元為基點由簡單到復雜分階段組織實施教學,不僅增加教學的靈活性,降低教學難度,而且學生課后可以按照這條主干線自主學習,提高學習效果。[3]
2.改變教學方法
由于該課程抽象度高,內(nèi)容不易理解,使得教學難度增大,一方面需要教師講授,另一方面需要學生參與其中。因此,在教學中,可以將案例教學法和啟發(fā)式教學法相結合進行教學。
所謂案例教學是根據(jù)范例“個體”的知識特點,分析掌握整個“類別”事物的特征,使對“個體”的認識上升為對“類別”的認識,從而掌握其規(guī)律和范疇。在數(shù)據(jù)結構的教學中,采用案例教學法通過實例講解抽象的理論知識,讓學生更加容易理解。例如針對學生剛剛接觸數(shù)據(jù)結構比較陌生,在緒論中介紹數(shù)據(jù)結構課程時都會介紹數(shù)據(jù)結構的作用以及研究的內(nèi)容,我們可以通過一個簡單案例的講解來深入介紹數(shù)據(jù)結構中的術語及其數(shù)據(jù)之間的關系。在講解到算法的實現(xiàn)時,也可以引入一個現(xiàn)實生活中的實例來分析算法實現(xiàn)的具體步驟。對于數(shù)據(jù)結構中的算法描述工具是C語言,可以通過簡單的學生成績管理程序和學生共同復習C語言中的函數(shù),結構體,指針等知識應用。通過案例教學,使抽象的理論知識具體化,讓學生更加容易理解抽象的理論知識和復雜的算法。[4]
啟發(fā)式教學的核心就是要培養(yǎng)學生獨立思考和創(chuàng)新思維。實現(xiàn)啟發(fā)式教學的關鍵是高質(zhì)量、創(chuàng)新性、啟發(fā)式“問題”的設計。在數(shù)據(jù)結構教學中,采用啟發(fā)式教學方法,可以將課本上的平面知識、技能點以問題的形式呈現(xiàn)給學生, 培養(yǎng)學生分析問題的能力。例如我們在分析算法時可以設計許多問題,在講到線性表的插入一個新元素時,如何操作才能把新元素插入到正確的位置,并且保持表的邏輯結構不變。在講最短路徑時,首先提出去某市旅游應怎樣安排行程使花費最少這一問題,讓學生發(fā)表自己的意見,進而引導他們使用Dijkstra算法來解決這個問題。通過啟發(fā)式教學法不但給學生提供了充分思考、探究的空間,而且學生邊學邊做,可以更加深入理解所學的知識。
3.優(yōu)化教學手段
在具體的教學過程中,為了使得數(shù)據(jù)結構抽象的理論知識形象化,復雜的算法易于理解,可以綜合使用多種教學手段。在講解算法的執(zhí)行過程時,例如線性表的插入、刪除,棧和隊列的動態(tài)執(zhí)行,樹、圖的遍歷,各種查找排序算法等,可以利用現(xiàn)代化多媒體教學手段,將算法執(zhí)行的過程用動畫演示出來,學生通過演示觀察數(shù)據(jù)的變化,更加容易理解算法的執(zhí)行過程,從而掌握好算法的原理。此外,還可以搭建網(wǎng)絡教學平臺來輔助學生課后學習數(shù)據(jù)結構和自測。目前微課也是一種很好的教學手段,選擇重點難點的知識點,學生不易理解的算法,然后針對每個知識點制作相應的微課,將其上傳到課程的教學網(wǎng)絡平臺上,方便學生下載觀看,方便學生預習、復習??傊喾N教學手段在教學過程中的應用,可以使教學內(nèi)容變得更直觀、形象、生動,從而提高教學效果。
4.重視實踐教學
實踐教學在數(shù)據(jù)結構課程起到非常重要的作用,學生通過上機實現(xiàn)算法,能夠更好的理解算法的原理,掌握數(shù)據(jù)和數(shù)據(jù)之間的關系。因此,要重視實踐教學環(huán)節(jié),就要設計好實踐環(huán)節(jié)。要設計好實踐教學環(huán)節(jié),應做到以下兩點:
(1)要精心安排好實踐內(nèi)容。對于實驗環(huán)節(jié)的設計,應由淺到深的思路設計。一開始先從簡單的算法入手,并且給出程序框架,有利于學生進行編程,在程序出問題時先分析原因再修改,這樣學生編出的程序得出結果就獲得成就感,增強自信心。接下來對每種邏輯結構的每個知識點進行擴展,要求學生進行驗證性的設計練習,從而達到加深對理論知識理解的目的。
(2)要策劃好實踐項目。根據(jù)實驗內(nèi)容,合理策劃好實驗項目,從而培養(yǎng)學生靈活運用多種知識進行實踐設計的能力。在實踐課中,將實驗內(nèi)容轉化為一個個子項目,通過子項目的完成,進而能夠匯總成一個完整的綜合性項目,從而培養(yǎng)了學生綜合利用各種知識解決具體問題的能力。
結語
《數(shù)據(jù)結構》是計算機關專業(yè)的一門非常重要的核心基礎課程,但是該門課程抽象度高,算法比較復雜,學生學習起來感覺非常吃力,從而導致教學效果不佳。本文歸納總結數(shù)據(jù)結構在教學過程中存在的問題和困難,在分析問題產(chǎn)生的原因基礎上,從教學內(nèi)容,教學方法,教學手段以及實踐教學等四個方面進行研究,提出了如何組織好教學內(nèi)容,如何將案例教學方法和啟發(fā)式教學方法相結合進行理論教學,如何利用好多種教學手段,如何設計好實踐教學環(huán)節(jié)等方面的改革方案,讓學生更好地參與教學過程當中,從而提升教學質(zhì)量。
參考文獻:
[1]邱勁,王平,徐展.《數(shù)據(jù)結構》課程教學改革與實踐探索[J]。西南師范大學學報(自然科學版),2013(1):139-142.
[2]董麗薇.《數(shù)據(jù)結構》課程教學方法的改進[J].沈陽師范大學學報(自然科學版),2012(2):307-309.
[3]賈丹,周軍.基于創(chuàng)新應用型人才培養(yǎng)模式的數(shù)據(jù)結構課程教學改革[J].遼寧工業(yè)大學學報(社會科學版),2015(2):132-134.
[4]高廣銀,姜楓,丁勇.應用型人才培養(yǎng)過程中《數(shù)據(jù)結構》課程教學改革[J].現(xiàn)代計算機,2015(33):9-12.
作者簡介
羅富貴(1984-),女,廣西來賓人,講師,研究方向:目標跟蹤,圖像識別。
唐鳳仙(1977-),女,廣西都安人,副教授,研究方向:模式識別與圖像處理。