熊瑛
摘 要:《數(shù)據(jù)結(jié)構(gòu)》在計算機科學中是一門綜合性的專業(yè)基礎課,是介于數(shù)學、計算機硬件和計算機軟件三者之間的一門核心課程。它不僅是一般程序設計的基礎,而且是設計和實現(xiàn)編譯程序、操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)及其他系統(tǒng)程序的重要基礎。但由于程序設計基礎薄弱、實踐機會少等原因,影響了該課程的教學效果。文章針對數(shù)據(jù)結(jié)構(gòu)課程的教學現(xiàn)狀和存在的問題,提出了一個實用的數(shù)據(jù)結(jié)構(gòu)課程改革方案和教學方法。
關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu) 教學改革 教學方法
一、引言
“數(shù)據(jù)結(jié)構(gòu)”作為一門獨立的課程在國外是從1968年才開始設立的。1968年美國唐納德·克努特教授開創(chuàng)了數(shù)據(jù)結(jié)構(gòu)的最初體系,他所著的《計算機程序設計藝術(shù)》第一卷《基本算法》是第一本較系統(tǒng)地闡述數(shù)據(jù)的邏輯結(jié)構(gòu)和存儲結(jié)構(gòu)及其操作的著作?!皵?shù)據(jù)結(jié)構(gòu)”在計算機科學中是一門綜合性的專業(yè)基礎課,數(shù)據(jù)結(jié)構(gòu)是介于數(shù)學、計算機硬件和計算機軟件三者之間的一門核心課程。它不僅是一般程序設計(特別是非數(shù)值性程序設計)的基礎,而且是設計和實現(xiàn)編譯程序、操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)及其他系統(tǒng)程序的重要基礎。
隨著計算機的普及,信息量的增加,信息范圍的拓寬,使許多系統(tǒng)程序和應用程序的規(guī)模很大,結(jié)構(gòu)又相當復雜。為了編寫一個“好”的程序,必須分析待處理的對象的特征及各對象之間存在的關(guān)系,這就是數(shù)據(jù)結(jié)構(gòu)這門課所要研究的問題。為此,文章針對數(shù)據(jù)結(jié)構(gòu)課程的教學現(xiàn)狀和存在的問題,提出了一個實用的數(shù)據(jù)結(jié)構(gòu)課程改革方案和教學方法。
二、《數(shù)據(jù)結(jié)構(gòu)》課程教學中存在的問題
這門課程教學要求相對比較高,不但要求學生掌握數(shù)據(jù)結(jié)構(gòu)的基本概念,而且還要在此基礎上理解代碼、練習主要考察知識點的理解及時地反饋和編寫代碼解決難度不等的題目在運用中加深認識。因此,要求學生有較為扎實的數(shù)學基礎和較強的邏輯推理能力,而且還要具備一定的分析能力和動手編程能力。
數(shù)據(jù)結(jié)構(gòu)中涉及大量的概念、模型及操作算法都較為抽象,學生理解起來有一定的困難,教師教學難度也比較大。
學生對剛剛學完的C語言掌握得不夠好,大部分學生對結(jié)構(gòu)體、指針和鏈表等知識點掌握得都不夠深入,這些都導致上課跟不上老師的節(jié)奏,不能獨立完成數(shù)據(jù)結(jié)構(gòu)的實驗,因此學生對這門課便逐漸失去了學習興趣。
三、《數(shù)據(jù)結(jié)構(gòu)》課程改革方案
1.探索有效應用于課程教學的途徑與方法
對于《數(shù)據(jù)結(jié)構(gòu)》中的許多抽象概念和算法,以老師講學生一味的接收為中心的教學模式起不到很好的效果。因為學生只是一味地被動接收知識,而這些知識有什么用、該怎么用都不清楚。大學課堂應該注重兩個方面的內(nèi)容講授:一是具體知識內(nèi)容,二是科學的思維方法。如果采用科學的教學方法,老師所傳授的知識便易于被學生有效吸收,同時其解決問題的思想方法也容易被學生所吸納并轉(zhuǎn)變?yōu)橐环N潛在的能力。因此,在教學過程中,第一應該始終圍繞問題而展開教學活動,引導學生不斷發(fā)現(xiàn)問題、分析問題并最終解決問題,以培養(yǎng)學生的創(chuàng)造性思維。第二應該注重知識點的有機整合,每學完一章就帶著學生歸納總結(jié)該章節(jié)的知識點,以加強學生對知識點的理解度。故應在教學中采用以學生為主體、以問題為中心的教學模式、充分調(diào)動學生的求知欲,提高他們的積極性和主動性。
2.培養(yǎng)學生的實踐和創(chuàng)新能力
現(xiàn)如今,在國內(nèi)基本所有高校都開設了計算機專業(yè),但是幾乎所有計算機專業(yè)都只注重理論知識的講解,缺乏動手實踐內(nèi)容,導致許多畢業(yè)生找不到對口的工作?!稊?shù)據(jù)結(jié)構(gòu)》是一門理論性和實踐性都很強的課程,它需要理論教學的結(jié)果來指導實驗教學的過程,更需要實驗教學的過程來強化理論教學的效果。因此,其一在教學過程中,每次理論課堂后老師給學生布置課后練習題讓其獨立完成;每次實驗課老師只講具體實現(xiàn)什么更多的讓學生自己動手實踐敲代碼解決問題。其二在制定考核評價方式時,應加重實驗成績在期末總成績的比例。目前,實驗成績在期末總成績中占10%,導致學生對實驗不夠重視。因此如果增加實驗成績在期末總成績中的比例,將更能引起學生對實驗動手操作的重視了。
3.培養(yǎng)學生的學習興趣
興趣是學生學習最好的老師,如果不注重教學的生動性,學生的學習只能是一種為了考試的學習,將起不到應有的教學效果。激發(fā)學生的學習興趣的有效方法就是變被動學習為主動學習。在理論課堂上,其一老師通過生動有趣的PPT以及幽默風趣的語言不僅把教學內(nèi)容講透徹了又吸引了學生的學習興趣,其二老師常在課堂上提出一些簡單的小問題與學生互動調(diào)動學生的主動性和積極性。在實驗課堂上,老師通過一個生動有趣的段子引出要講的實驗內(nèi)容,讓學生有興趣并且迫不及待想要自己動手操作去實現(xiàn),在這個動手操作的過程中,學生可以從發(fā)現(xiàn)問題并解決問題這一條主線中掌握理論課上學不到的運用知識的能力。
四、小結(jié)
本課程要求學生掌握基礎的知識點,例如線性表、棧、隊列、串、樹和圖的相關(guān)知識點;要求學生理解代碼,例如理解順序結(jié)構(gòu)和鏈式結(jié)構(gòu)的插入、刪除、查找和排序運算;要求學生練習主要考察知識點的理解,及時的反饋能大大提升學習效率;還要求學生編寫代碼解決難度不等的題目,在運用中加深認識。因此,老師在教學中要注重與學生互動,用幽默風趣的科學教學方式,吸引學生的興趣,調(diào)動學生的積極性,使學生化被動學習為主動學習。
參考文獻:
[1]邱春麗.《數(shù)據(jù)結(jié)構(gòu)》教學改革[J].考試周刊,2009(19):37-37.
[2]王瑞胡,羅代忠,張蓮. 應用型本科院校計算機專業(yè)引入北大青島Aptech課程體系的實踐研究[J].職業(yè)技術(shù)教育,2010,31(11):26-28.
[3]彭聲譯,李瓊.培養(yǎng)計算機專業(yè)學生實踐創(chuàng)新能力的探索[J].計算機教育, 2007(7):60-63