許自龍
摘要: 《數據結構》是計算機專業的基礎課之一,是一門原理性較強的課程。為了提高教學質量,激發學生興趣,增強實踐技能,作者簡單介紹了《數據結構》課程教學的若干方法與體會。
關鍵詞: 《數據結構》課程教學方法體會
《數據結構》課程主要的教學任務是使學生了解和掌握數據結構中線性、樹型和圖形三種結構的相關知識,以及算法設計中常用到的幾種排序算法和查找算法。它是處于程序設計初級階段的一門學科,同時,也是計算機專業學生公認難學的課程之一。大部分的研究生入學考試都選擇《數據結構》作為專業考試課程之一。而《數據結構》作為計算機專業的一門核心課程,計算機科學各個領域的軟件都要用到它,可以說,數據結構是開發高質量軟件的必要條件。只有具備了《數據結構》的知識才能編制出符合要求的程序。但該課程教學枯燥,學時少,并且需要一定的程序設計能力及相應的實踐經驗。因而采用好的教學方法會對提高該課程教學質量起到積極作用,為此,我在《數據結構》教學改革方面進行了初步探索和實踐,現將自己的體會總結如下。
一、根據課程內容選擇教學方法,激發學生興趣
《數據結構》課程教材中包含了數據結構相關的基礎知識和算法知識。對于基礎理論知識部分可以采取在教室集體講授的教學方式。在講授時可以通過舉例或借用實物的方式對內容進行描述,利用引導教學的方式讓學生發揮自己的想象去解答問題。例如,教師在說明了棧和隊列的結構及特點之后,引導學生自己考慮現實生活中的在超市排隊結賬、火車進站等一系列類似結構。同時,在剛接觸本課程時,不要急于介紹理論,而是強調應用,通過介紹數據結構在一些典型軟件中的應用來激發學生的學習興趣,如:語言編譯要使用棧;操作系統中要用隊列;數據庫系統則使用線性表、鏈表等進行數據管理。從而使得學生一下子就產生了興趣,也為教學開了一個良好的頭。
二、奠定基礎,突出重點難點
在具體的教學過程中,首先,力求讓學生了解每一種數據結構的特點及表現形式;其次,關鍵是讓學生理解怎樣把該數據結構存儲到計算機中,有哪些存儲方式和優缺點,并且存儲結構能反映出該數據結構的邏輯特性。例如:對線性表的內容,先解釋線性表的定義,明確線性表的三個特性——數據在邏輯位置上有先后順序;數據個數可變;數據類型相同。在此基礎上,再討論線性表的存儲結構,一是將線性表中的數據按邏輯順序存儲在計算機中一段地址連續的存儲空間中;二是存儲在計算機中離散的存儲區中。在順序存儲方式中,借助高級語言的數組來存儲線性表中的數據,它可以反映線性表中的兩個要素——類型相同并且按邏輯先后次序存儲。但由于利用數組實現必須先確定數組元素個數而線性表卻可動態伸縮(即表中元素個數可變),為此還必須反映出線性表數據的個數,因此,應定義線性表順序存儲方式為一結構體類型:用數組成員存儲線性表的數據;用長度指示器成員指示線性表中當前數據個數,分析并確定存儲結構后,下一步即是本課程的難點——算法設計與分析。
三、讓學生參與到講課的過程中,變被動學習為主動學習
傳統的教學方式讓學生只是被動地接受知識,其實在適當的時候可以讓學生參與到講課中來,充分發揮學生的主動性和積極性,將培養學生的創新精神和自學能力放在首位,在教學過程中對一些稍微簡單的課程內容,讓學生有機會也站在講臺上講解。這樣做的目的,一是提高學生的學習能力;二是通過該過程讓學生互相討論,互相啟發。最后由教師指出學生未注意到的問題或理解不透徹的問題,使學生加深對課程內容的正確理解,從而逐步提高自學能力和解決問題的能力。
四、強化上機實踐,提高學生動手能力
《數據結構》是實踐性很強的一門課,培養學生的實踐能力是教學的首要目的。《數據結構》理論知識的傳授是為應用服務的。因此,在授課的同時,如何引導學生利用上機加強實踐也是教學中的一個重要問題。另外,也可鼓勵學生組成課外活動小組,參與一些簡單程序的開發工作,一方面鍛煉了學生的動手能力,樹立了交流與團結協作的精神。另一方面將理論與實踐相結合,從而大大激發了學生的學習熱情,為其今后的學習和工作打下了良好的基礎。
五、努力提高教師素質,改進教學方法
要想教好學生,教師必須努力提高自身的綜合素質。首先,教師必須有強烈的責任心、嚴謹的治學態度和無私的奉獻精神;其次,教師要不斷提高自己的專業水平,教學與科研實踐相結合;再次,要因材施教和采用啟發式教學法;最后,要經常與學生就課程的教學情況進行溝通,及時了解學生對課程的掌握情況,調整教學內容和教學方法。
以上所談是我對《數據結構》教學的一些體會。總之,在教學時探討教學方法,摸索規律是形勢所趨。相信,只要我們積極大膽地改革教法,努力實踐,勇于探索,就一定能找到更好的教學方法,從而使教學效果得到進一步增強。
參考文獻:
[1]嚴蔚敏,吳偉民.數據結構(C語言版)[M].北京:清華大學出版社,1997.
[2]謝安邦.高等教育學[M].北京:高等教育出版社,2000.