初曉,冷澤
[摘要] 數(shù)據(jù)結(jié)構(gòu)課程是計算機專業(yè)的一門重要的專業(yè)基礎(chǔ)課,這門課程在授課時既要注重理論知識的講授,又要鍛煉學生的實踐能力。本文在分析了以往數(shù)據(jù)結(jié)構(gòu)教學中存在的不足及產(chǎn)生原因后,主要針對獨立學院學生的特點,結(jié)合獨立學院計算機專業(yè)學科建設(shè)與改革的方向,闡述幾點有利于提高學習興趣和學習效率的建議。
[關(guān)鍵詞] 數(shù)據(jù)結(jié)構(gòu); 獨立學院; 教學改革; 實踐能力
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2012 . 10. 075
[中圖分類號]G420[文獻標識碼]A[文章編號]1673 - 0194(2012)10- 0129- 01
數(shù)據(jù)結(jié)構(gòu)課程是計算機科學與技術(shù)專業(yè)的一門核心專業(yè)基礎(chǔ)課,它是操作系統(tǒng)和數(shù)據(jù)庫原理的重要先修課程,也是從事計算機軟件開發(fā)的基礎(chǔ)課程。獨立學院的人才培養(yǎng)目標是培養(yǎng)應用型人才,所以在授課時既要注重理論知識,又要鍛煉實踐能力。而獨立學院的自身特點決定了理論性課程的教學難度較大。本文主要針對獨立學院數(shù)據(jù)結(jié)構(gòu)課程教學中存在的問題,提出了相應的教學改革方案,實踐證明,通過這樣的教學改革,明顯提高了學生的學習興趣和學習效率。
1傳統(tǒng)教學中存在的問題
(1) 數(shù)據(jù)結(jié)構(gòu)課程是以C語言或C++語言為先修課程的,所以對這兩種編程語言的掌握程度直接影響了本課程的教學效果。如果學生在編程語言的學習中存在很多模糊不清的問題,會使學生很快對本門課程失去學習興趣,影響學習效果。尤其是獨立學院的學生,對C語言或C++語言課程的熟練掌握有一定困難,再加上數(shù)據(jù)結(jié)構(gòu)課程本身的理論性較強、較抽象,很多學生在授課的前半程就放棄了學習。
(2) 數(shù)據(jù)結(jié)構(gòu)課程本身的理論性和實踐性都很強,尤其是對各種不同數(shù)據(jù)結(jié)構(gòu)的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)的理解、算法思想的理解以及算法的上機實踐,都讓很多學生覺得很難一下接受。學生在學習時不能很好地建立知識結(jié)構(gòu),導致學了新知識就忘了舊知識,不能形成知識體系。
2針對獨立學院的教學改革與實踐
2.1選用適當教材
針對獨立學院學生的特點,本課程選用的教材中所講授的程序和算法難易程度適當,學生容易接受,比較適合64學時的教學要求,同時本套教材還配備了完整的實驗指導書,方便教師授課和同學學習。
2.2調(diào)動學生的學習興趣
數(shù)據(jù)結(jié)構(gòu)教學具有理論性和實踐性兼顧的特點。因此在授課中,不能急于介紹理論,而要適當強調(diào)實踐。應改變以往教師強行灌輸?shù)摹疤铠喪健苯虒W方式,增加課堂的互動學習環(huán)節(jié),通過提問、列舉學生比較熟悉的案例、小組討論等互動環(huán)節(jié),讓學生主動發(fā)現(xiàn)數(shù)據(jù)結(jié)構(gòu)在實際中的應用,以此來調(diào)動學生的學習積極性,激發(fā)學生學好這門課的愿望,同時鍛煉學生運用理論知識分析問題和解決問題的能力。
2.3鞏固先修課程,彌補學生C語言(C++語言)的不足
C語言(C++語言)程序設(shè)計是數(shù)據(jù)結(jié)構(gòu)的先修課程,學生對C語言(C++語言)的掌握程度,直接關(guān)系到數(shù)據(jù)結(jié)構(gòu)課程的教學效果。C語言(C++語言)是計算機編程語言的基礎(chǔ),但對于大部分學生而言,不能做到運用自如。而且C語言中指針、函數(shù)、數(shù)組等都是難點,如果上課時直接要求學生用C語言(C++語言)描述數(shù)據(jù)結(jié)構(gòu)中的線性結(jié)構(gòu)、樹形結(jié)構(gòu)和圖結(jié)構(gòu),會很快打消他們的積極性。為了解決這個問題,在授課時,利用前幾次課的時間來復習C語言(C++語言)的相關(guān)知識,例如數(shù)組、指針、結(jié)構(gòu)體等。在復習中要重點講解與本課相關(guān)的知識點,不必大篇幅地詳細講解。這樣既可以鞏固程序設(shè)計相關(guān)的知識,又減輕了學生對數(shù)據(jù)結(jié)構(gòu)課程中實踐環(huán)節(jié)的心理負擔,培養(yǎng)了學習興趣,為數(shù)據(jù)結(jié)構(gòu)課程的教學打好基礎(chǔ)。
2.4教學內(nèi)容的歸納總結(jié)
數(shù)據(jù)結(jié)構(gòu)這門課程不但理論性很強,還具有一定的抽象性,在“教”與“學”方面都存在困難,作為教師首先應對概念、理論、算法思想和算法實現(xiàn)的相關(guān)知識進行加工、處理、總結(jié),把握課程的重點和難點,能夠?qū)⑶昂髢?nèi)容聯(lián)系起來分析,尋找共性的、有規(guī)律的知識進行歸納與總結(jié)。例如在數(shù)據(jù)結(jié)構(gòu)中每種數(shù)據(jù)結(jié)構(gòu)(線性表、鏈表、棧、隊列、樹、圖)都會涉及到它的邏輯結(jié)構(gòu)、物理結(jié)構(gòu)和算法實現(xiàn)。在講授的過程中可以用這三方面內(nèi)容作為主線貫穿全書,每講到一種新的數(shù)據(jù)結(jié)構(gòu)時都可以拿出這條主線,這樣學生學起來就會覺得知識有系統(tǒng)性。
2.5多種教學手段配合使用
現(xiàn)代的教學多采用多媒體技術(shù)進行,它可以幫助老師在最短的時間內(nèi)傳授最多的知識,并且可以通過動畫來形象的描述數(shù)據(jù)結(jié)構(gòu)的動態(tài)變化,避免了單純語言描述的抽象性和板書靜態(tài)性的缺點。但是作為教師,不能過分依賴多媒體課件,在相關(guān)算法的講解過程中不能忽略了板書的重要作用。所以在教學中要現(xiàn)代教學和傳統(tǒng)教學手段相結(jié)合,同時配合互動式教學環(huán)節(jié),才能最大限度地提高學習效率。
2.6強化實踐教學
為使學生真正學好數(shù)據(jù)結(jié)構(gòu), 除了要采用多種多樣的教學方法和手段外, 還要讓學生多動手,多上機,多實踐。實踐的首要環(huán)節(jié)是要多做習題, 能聽懂但不動筆是不行的,學生不僅要做習題,而且要求交作業(yè),教師通過對作業(yè)進行批改, 對出現(xiàn)的問題及時進行總結(jié)、歸納、講解。講評時要著重講解題思路,強調(diào)解題的注意事項,并再讓同學做相同的類型題,做到舉一反三。其次就是上機實驗。上機實驗能提高學生靈活運用數(shù)據(jù)結(jié)構(gòu)和算法的能力,使學生在程序設(shè)計、代碼編寫、上機操作、程序調(diào)試等方面都受到嚴格的訓練。實驗可分兩部分,一是驗證實驗,學生可以對在課堂上學到的基本算法進行驗證;二是設(shè)計實驗,教師根據(jù)課堂學過的基本算法提出實際應用題,讓學生自主完成算法的設(shè)計與實現(xiàn)。
3結(jié)語
本文通過分析傳統(tǒng)數(shù)據(jù)結(jié)構(gòu)教學中存在的主要不足和獨立學院學生的特點,提出了針對獨立學院學生數(shù)據(jù)結(jié)構(gòu)課程的教學改革方法。教學實踐證明,上述方法能很大程度地提高教學效果,為學生學習后續(xù)課程奠定了堅實的基礎(chǔ)。但在學生動手能力的提高等方面有待進一步完善,還需要繼續(xù)探索研究。