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