萬淑蘭
[摘要]數據結構是計算機程序設計的重要理論技術基礎,它不僅是計算機專業必修的一門核心專業基礎課程,而且已成為其他理工專業的熱門選修課。當用計算機來解決實際問題時,就要涉及到數據的表示及數據的處理。
[關鍵詞]數據結構 教學方式 教學效果
中圖分類號:G42文獻標識碼:A文章編號:1671-7597(2009)0810150-01
《數據結構》是計算機及相關專業中一門重要的專業基礎課程,它講授的內容涉及數據在計算機中的表示、組織和處理,以及相應的算法設計和初步的算法性能分析。但該課程比較抽象難懂,教學方法不當容易造成教學效果差,教學目的難以實現的后果。如何使學生更好地掌握最常用的數據結構,理解數據結構內在的邏輯關系,數據與關系在計算機中的存儲表示以及在這些數據結構上的運算和實際的執行算法,培養學生解決實際問題的程序設計能力以適應學科迅速發展和知識更新的需要,我們教師就要結合學生特點不斷積累經驗,改革教學方法和教學手段,以適應高職高專教學需要。
一、數據結構課程的特點
數據結構是一門理論性強、思維抽象、難度較大的課程。它的教學要求是:學會分析研究計算機加工的數據結構的特性,以便為應用涉及的數據選擇適當的邏輯結構、存儲結構及其相應的算法,并初步掌握算法的時間分析和空間分析的技術。
通過對本課程的學習,使學生初步具備分析問題、解決問題的能力,養成良好的程序設計風格,積聚和提高基本的分析設計能力。為后續課程的學習打下堅實的基礎。要求學生能夠掌握各種數據結構的特點及實現方法和適用范圍;培養學生閱讀、分析和設計算法的能力;進行必要的分析設計基本技能訓練;掌握常規設計方法和技巧。
數據結構這門課程從內容上看有這么幾個特點:一是各種數據結構之間雖然存在一些內在的聯系,但總的來說還是自成體系、較為獨立的,整個課程不具有明顯的整體性;二是數據結構的算法可應用于不同的環境中,可以用不同的編程語言來實現;三是課程內容具有很強的可伸縮性,既有新的數據結構、新的算法以及新的理論不斷出現,而且數據結構和算法也可以針對不同的問題進行調整,同一個問題也可以用不同的數據結構和算法來解決;四是課程內容具有極其廣泛的適用性,數據結構的概念、原理和方法在軟件開發的過程中具有極其重要的指導意義,可以幫助人們解決社會生產活動中的很多問題。
二、以培養實踐能力為核心的教學模式
(一)加強課堂理論教學
理論教學在培養學生的實踐能力方面的作用是基礎性的、指導性的,所以一定要加強課堂理論教學。
1.在課程內容上,要用透徹掌握各種教材的精華,不可僅限于當前一本教材。既要把傳統數據結構的內容講解透徹,又要增加面向對象等新的內容和方法以適應計算機科學的發展。既要把基本數據結構的定義和分析、基本數據結構的應用講清楚,還要把各種數據結構綜合運用以解決實際問題的方法講清楚。
2.在教學重點上,既要培養學生扎實的理論基礎,又要培養學生分析問題解決問題的能力。比如講解圖的鄰接表存儲表示,不能簡單地灌輸書本知識,而要向學生說明為了解決圖的存儲這個問題,把圖的結構分解為弧結構和頂點結構的有機組合,圖是三個層次結構的統一。通過類似的教學,可以培養學生分解復雜問題為簡單問題并且最終解決復雜問題的能力。
3.在教學方式上,可以根據授課內容的不同采用啟發式教學、參與式教學、任務驅動式教學等形式多樣的教學方式以增強教學效果,激發學生學習的主動性。在課堂教學中不能只講多媒體課件,而要把板書與多媒體課件相結合。另外在教學中還要充分運用提問、課堂測驗、精講等方式,以此活躍課堂教學氣氛,培養學生的獨立思考和自學能力。
(二)搞好課后教學輔導
課堂的時間畢竟是有限的,為了幫助學生鞏固課堂所學的理論知識,為上機實踐做好準備,必須做好課后的教學輔導。在課余時間可以讓學生把存在的疑問列舉出來,給他們解答,讓他們真正做到理論與實踐的結合。
(三)精心設計上機實踐
上機實踐是學生學好數據結構、培養實踐能力最關鍵的環節,一定要精心組織,合理設計,加強指導。
1.在上機題的選擇上,要體現分析設計能力的培養。由于數據結構課程不具有明顯的整體性,各種數據結構之間相對獨立,所以首先要選擇一些單一數據結構的上機題來進行基本的訓練,然后再選擇一些綜合運用的上機題來進行拓展訓練。給學生布置的綜合運用上機題不宜過細,應留有余地,并把握好難度,不要事先指定使用某種數據結構,而是要求學生從實際出發,在具體、真實的環境中分析研究數據對象的特性,構造合理的數據結構以及相應的算法。
2.要加強編程能力的培養,鼓勵學生使用不同的編程語言。通過上機實踐,可以進一步鍛煉學生的編程能力,要求學生編制的程序一定要有完整的數據結構說明和注釋,要有容錯處理,要能正常運行。
3.要加強上機實踐的組織工作。給學生布置的上機題可以分為必做題和選作題,必做題涵蓋教學大綱的重要知識點,難度一般,每一名學生都要做完。選作題數量比較大,有一定難度,但不要求每題必做,只是隨機抽取一部分題目分配給學生完成。
(四)認真檢驗教學效果
1.每次課堂上提問上次課的內容。通過提問可以了解課堂教學效果以及學生的學習態度和學習積極性,如果出現問題要及時找出原因并加以解決。
2.認真批改作業。通過作業中出現的各類錯誤,找出一些共性的問題,集中加以解決。也可以通過與學生談話、辦公室答疑了解學生學習這門課程的情況以及對教師教學的評價,師生互動,共同搞好教學。
3.認真檢查上機題的完成情況。檢查工作最好在機房進行。檢查時不僅要求學生演示最終的運行結果,還要隨機詢問設計思路、出錯處理、甚至源程序語句說明等,以確認學生獨立或合作完成了指定的任務,達到了培養實踐能力的目的。
參考文獻:
[1]嚴蔚敏、吳偉民,數據結構(C語言版),清華大學出版社,1997,2003.
[2]張曉莉、羅文劼等,數據結構與算法,機械工業出版社,2008.