吳志芳 袁 嵩
摘要:本文針對“數(shù)據(jù)結構”課程教學中存在的問題,從如何理清學生的知識結構、提高學生的課堂效率、激發(fā)學生的學習興趣、培養(yǎng)學生的分析能力、強化學生的實踐能力等方面,提出了教學上的一些改進措施。
關鍵詞:數(shù)據(jù)結構;算法;學習興趣;邏輯思維能力
中圖分類號:G642 文獻標識碼:B
1引言
“數(shù)據(jù)結構”是計算機專業(yè)的一門核心課程,在計算機教學中起著承上啟下的作用,一方面它以程序設計為基礎,對學生進行較復雜程序設計的訓練,另一方面它又是后續(xù)專業(yè)課程如操作系統(tǒng)、數(shù)據(jù)庫等的基礎,由此可見學好它的重要性?!皵?shù)據(jù)結構”課程系統(tǒng)介紹了幾種常用的數(shù)據(jù)結構,討論其在計算機中如何存儲,進而對數(shù)據(jù)操作的各種算法進行實現(xiàn)。通過這門課程的學習,學生的軟件設計和編程水平將得到提高,使學生學會分析實際問題涉及的數(shù)據(jù)特性,以便為這些數(shù)據(jù)選擇適當?shù)倪壿嫿Y構、存儲結構,并采用適當?shù)乃惴ㄌ幚頂?shù)據(jù),解決實際問題。
2教學現(xiàn)狀
“數(shù)據(jù)結構”課程不僅內(nèi)容繁多,而且其理論性和抽象性還很強,因此給教學帶來很大的難度。學生通常上課時能聽懂,能夠掌握一些基本知識,會做題,但課程學完后,對自己到底學到了些什么、學了有什么用、怎么用感到很茫然。歸納一下,教學中主要存在以下問題:
學生難以建立對課程內(nèi)容的整體概念,無法將各知識點聯(lián)系起來;
理論課時減少,傳統(tǒng)教學方式已經(jīng)不適合當前形勢;
與實際應用問題脫節(jié),學生感到枯燥,不知學了有什么用;
學生被動理解算法,缺乏思維能力和分析問題能力的訓練;
遇到實際應用問題時,學生往往束手無策,缺乏靈活運用的意識。
3教學改進措施
為了提高教學質(zhì)量,筆者針對以上的教學現(xiàn)狀,以學生為主體,教師為主導,從以下幾個方面進行教學改進。
3.1理清學生的知識結構
“數(shù)據(jù)結構”課程內(nèi)容豐富,要求教學思路清晰、邏輯性強,幫助學生構建對數(shù)據(jù)結構整體的理解,避免學生迷失在細枝末節(jié)中。如課程介紹時首先要讓學生理解數(shù)據(jù)結構是討論非數(shù)值計算范疇問題的課程。數(shù)據(jù)結構從邏輯關系上分為四類:線性結構、樹形結構、圖狀結構和集合結構。整個教學就以此為主線展開,隨后各章將就這四類結構進行詳細討論,如:第2章線性結構,第3章棧和隊列,可看成是限定性的線性結構等;又如:第7章查找和第8章排序?qū)嶋H討論的就是集合結構,查找就是判定某個數(shù)據(jù)元素是否屬于查找表這個集合,而排序就是尋求集合中記錄從無序調(diào)整為有序的方法。
在每一章的課堂教學中,根據(jù)教學大綱的要求,需對教學內(nèi)容去粗取精,提煉出各章的框架體系,并按照數(shù)據(jù)結構的邏輯結構、存儲結構、運算和運算的實現(xiàn)這四步逐層展開討論。要重點突出,簡潔明了而不求面面俱到。根據(jù)學生的實際情況,對那些學生感到困難的內(nèi)容,進行有的放矢的講解。
3.2提高學生的課堂效率
傳統(tǒng)的板書教學固然重要,但若能與多媒體輔助教學手段相結合,將會取得事半功倍的效果。多媒體課件形象生動、圖文并茂,非常適合“數(shù)據(jù)結構”課程的教學。教學中通過幻燈片展現(xiàn)知識點,具有信息量大、內(nèi)容豐富生動的特點,并可節(jié)省大量的板書時間,提高教學效率。教學中通過Flash 動畫演示算法的動態(tài)執(zhí)行過程,可以極大地調(diào)動學生聽課的積極性,有助于學生很好地理解和掌握所學內(nèi)容。比如在講解排序的時候,單純講解算法學生理解起來有些困難。如果在講授的同時配以Flash動畫來模擬排序的全過程,就會使得算法描述形象生動,促進了學生對算法的理解。
3.3激發(fā)學生的學習興趣
學生在課堂上如果只是一味被動地接受知識,很容易感到枯燥無味,教學效果也不好。其實學習知識,學生最關心的是學了有什么用,因此為了激發(fā)學生的興趣,在教學過程中要始終強調(diào)數(shù)據(jù)結構的應用性。即:在學習新知識時,先不急于講授,而是通過一個實際問題的引入,讓學生思考該怎樣解決,激起學生探究的欲望。然后將問題抽象成相應的模型,并用數(shù)據(jù)結構對它進行描述,從而自然過渡到運用新知識對問題的求解。這樣使學生認識到數(shù)據(jù)結構確實很有用,提高學習的主動性。例如在講圖的最小生成樹時,提出一個應用背景:在n個城市之間架設通訊網(wǎng),由于地理條件不同,在不同城市間架設的費用不等,怎樣選擇線路能使費用達到最低。解決這樣的問題具有一定的挑戰(zhàn)性,同時也會激發(fā)起學生的求知欲。俗話說,“良好的開端是成功的一半”,此時趁熱打鐵引入數(shù)據(jù)結構描述:這個問題就等價于構造連通網(wǎng)的一個最小生成樹。即:n個城市表示為連通網(wǎng)中的頂點,各個城市之間可能架設的通訊線路用邊表示,且架設每一條線路的經(jīng)費用每一條邊上的權值表示。所以求得的一個最小的生成樹就對應了使總的工程費用最低的線路的選擇。在解決這個問題的過程中,自然地調(diào)動學生參與的積極性,通過問題的不斷擴展以及不同算法的討論開闊學生的思維,從而激發(fā)學生學習數(shù)據(jù)結構的濃厚興趣。
3.4培養(yǎng)學生的分析能力
算法的描述和理解是“數(shù)據(jù)結構”課程的重點和難點,教學過程中不僅要講解算法的思路,還要教授算法設計的思維方式,以提高學生的邏輯思維能力。通常的做法是:從問題出發(fā),先啟發(fā)學生從不同的角度尋求解決問題的最佳算法,然后與學生一起一步一步寫出程序,最后回過去重讀一遍程序,對不夠理想的地方加以改進。經(jīng)過這樣由淺入深的訓練后,不但消除了學生的編程恐懼感,增強了信心,還教會了學生考慮問題的方法、培養(yǎng)了學生的分析能力。比如在講解對鏈表的操作時,教師可以先與學生一起分析在鏈表中插入一個元素的方法,此時教師應一邊講一邊在黑板上畫出插入的演變過程;然后與學生一起寫出程序;最后讓學生加以模仿并編寫出在鏈表中刪除一個元素的算法。同時要讓學生知道,當看不懂或?qū)懖怀鏊惴〞r,可借用畫圖的方法幫助理解。又如在講授循環(huán)鏈表和雙鏈表時,可分析建立單鏈表的算法,然后在此基礎上,通過對其中幾個語句的改動,實現(xiàn)了單循環(huán)鏈表、雙鏈表、雙循環(huán)鏈表的建立操作。采用這種方式的教學,不僅培養(yǎng)了學生的思維能力,學生的編程能力也逐步提高。
3.5強化學生的實踐能力
“數(shù)據(jù)結構”是實踐性很強的一門課程,實踐的好壞直接影響教學質(zhì)量。因此,在授課的同時,需要安排一定學時的上機來加強實踐。在上機題目的選擇上,要體現(xiàn)分析設計能力的培養(yǎng)。由于數(shù)據(jù)結構課程中各章數(shù)據(jù)結構之間相對獨立,因此在每章的實踐中,可以針對單一的數(shù)據(jù)結構,選擇有代表性的上機題目進行訓練;對于基礎不好的學生,還應引導他們將教材上用類C語言描述的算法用C語言實現(xiàn)。如:在學習第6章樹和二叉樹時,上機可選擇實現(xiàn)二叉樹的基本操作,如:構造二叉樹、遍歷二叉樹等。當課程學完后,還需要安排一周半的課程設計,設計一些難易適中的綜合性題目,訓練學生綜合運用知識的能力。如:可讓學生完成計算機和人對弈的問題,該問題是對樹知識的綜合運用??傊?通過一定學時的上機調(diào)試和教師的指點,將使學生掌握“數(shù)據(jù)結構”的應用和軟件開發(fā)方法,提高學生的實踐能力。
4結束語
經(jīng)過多年的“數(shù)據(jù)結構”課程教學,筆者深深認識到以學生為中心,注重學生能力的培養(yǎng)的重要性。作為教師應與時俱進,一方面不斷提高自身專業(yè)水平,另一方面不斷探索和改進教學方法,才能不斷提高課程教學質(zhì)量,造就出合格的技術人才。
參考文獻:
[1] 嚴蔚敏,吳偉民. 數(shù)據(jù)結構[M]. 北京:清華大學出版社,1996.
[2] 劉亞波,劉大有. 以實驗教學深化“數(shù)據(jù)結構”理論教學[J]. 吉林大學學報:信息科學版,2005(23).
[3] 鄧桂英.《數(shù)據(jù)結構》課程教學方法的淺談[J]. 科技信息,2007(35).