摘 要:隨著計算機專業的不斷調整,數據結構這門課程的教學也在改變,但始終是計算機專業課的教學難點。本文從傳統教學中存在的問題進行剖析到提出筆者的教學改革思路,促進數據結構的這門課程的教學發展。
關鍵詞:教學改革 教學模式 培養方案 實訓環節 生源質量
中圖分類號:G642 文獻標識碼:A 文章編號:1672-3791(2013)07(c)-0193-01
對于計算機專業來說,數據結構是一門非常重要的專業基礎課程。從多年數據結構的教學來看,學生對這門課程的掌握情況并不理想,而且學生向來對它有畏懼感,首先從心底就否定對這門課程看好的態度,導致學生對它失去信心,加大了教師教學的難度,因而用傳統的方式教授它已不太適應,必須對其進行改革,采用顛覆式教學手段,才能達到出奇的效果。
1 教學中存在的問題
數據結構教學目標通過學習,要求學生具備一定的抽象思維能力、邏輯推理能力、綜合運用所學知識分析問題和解決問題的能力,以及軟件設計和編程能力,使學生能夠利用數據結構的理論和方法[1],面對復雜問題,提出科學、合理的程序設計算法;同時要求學生學會分析和研究計算機加工的數據對象的特性,以便選擇適當的數據結構和存儲結構以及相應的算法,并初步掌握算法的時間復雜度和空間復雜度,為學習后續課程奠定基礎。但大部分高校《數據結構》課程的教學效果都不盡如人意,影響課程學習大致有如下原因。
1.1 理論教學過度課程基礎不扎實,影響課堂教學效果
目前各高校所用的《數據結構》教材大部分都是C語言版的,算法的描述是用C語言這就要求學生要有良好的C語言功底。而大部分高校都會選擇C語言作為計算機的入門語言,在沒有任何其它機器語言輔助的情況下,讓學生用一個學期的時間學完并學好C語言,幾乎是不大可能。因此對C語言中的重點知識,如數組、結構體、指針這些數據類型。學生們認識和理解不深甚至印象模糊,尤其是對函數、函數的參數、函數的返回值、函數調用的理解更是不夠,對遞歸及遞歸過程更是難以理解。然而,這些內容恰巧是數據結構課程中描述算法和設計算法不可或缺的信息。例如在教學中講授單鏈表,涉及結構體和指針,學生對這兩個基礎知識不明白,為此教師又要花時間講它們,待講完后,又立即應用這些知識,可想學生如何接受,再加上教學進度的限制,學生就在每次的一知半解中學習新的知識,久而久之對《數據結構》的學習興趣大大減弱了。
1.2 課內課外實踐時間有限,影響實訓效果
上機實訓是《數據結構》課程教學中一個重要的環節。但學生由于不理解《數據結構》中抽象數據類型的定義及相應的存儲表示,難以實現算法與程序之間的轉換。再加上數據結構中的程序已不再像C語言中的代碼簡短,因而出現一次上機課結束前學生很難完成指定的任務,因此也很難看到相應的結果。再加上我們現在的學生自學意識不強,課后很難繼續完成相應的任務。結果每次實訓就疲于敲代碼,時間一長學生更加覺得學習的枯燥乏味,更談不上運用所學知識解決實際問題了。
1.3 生源質量參差不齊,影響學習效果
近年來,職業院校的異軍突起,給學生提供了更多學習的機會,讀大學的門檻不斷降低。學生的理論基礎越來越差,致使學生的抽象思維能力弱,而數據結構的內容涉及大量模型及操作算法,理論性較強,學生學習起來較難掌握。再加上學生整體素質、整體學風差,學習習慣不良,學生學習的積極性普遍不高,學習的目的性不明確,學習習慣不良。特別是自學能力差,不善學習,還習慣于老師采用滿堂灌的方式。因此學習的效率十分低下。
2 打破傳統教學模式,嘗試“多元化”教學方法
2.1 加大對前續課程的重視程度。
數據結構是為計算機解決問題提供的思維模型,需要用計算機語言描述,通過語言關是必須的。如何打好語言基礎對數據結構的教學是一個非常重要的問題。在教學中,我們打破傳統的培養方案,將C語言的教學分基礎部分和高級部分,用兩個學期來完成教學。保證學生的學習時間。其次,對計算機專業的學生開設計算機數學,加強學生的邏輯思維能力和計算機思維能力[2]。通過這些舉措的改進,確保了學生在進行數據結構理論教學時,能集中精力解決抽象數據的分析和算法描述,讓學生可以很快閱讀算法,并能實現算法到程序的轉換。學生也能對算法進行適當改進,達到新功能的設計,學生有成就感,學習的興趣也就自然提高,學習效果也好多了。
2.2 加大對實訓環節的重視力度
選擇計算機專業就是選擇動手。數據結構的實訓環節必須通過上機操作來幫助和加深對數據結構的邏輯、物理結構、算法思想和具體實現等各個環節的整體理解,在解決習題時要堅持要求學生直接上機驗證。同時加強實訓的考核力度,借助必做題和選擇題的方式考核。必做題確保實訓成績,選做題提高實訓成績,并為總評成績提供重要的評分依據,讓學生從心里重視實訓。選做實訓題選擇生活中典型的案例給學生課后解答,不懂或不明白的知識,建議學生網上查閱,或和教師進行網上互動,讓學生有追求知識的欲望,從而培養學生的學習興趣。這樣學生在解決問題的同時也的提高了動手能力。
2.3 逐步調整學生學習習慣,靈活教學,因人施教
培養學生學習《數據結構》的興趣,通過具體的實例闡述《數據結構》在程序設計中的重要作用,以激起學生的求知欲,利用網絡平臺和學生進行非面對面的知識交流,并設置案例給學生課后解答,充分調動學生學習的積極性,并能夠自主地學習,改變不良的學習習慣。在教學的過程中,教師要根據學生的特點和水平差異,對不同層次的學生采用針對性教學方法,力求照顧多數,激勵少數[3]。
3 結語
《數據結構》這門課程的重要性不言而喻,學好數據結構是每個學生的期盼,教好數據結構更是每個教師的夢想。筆者在這里給出多年來教授這門課程體會和些許做法,并在實際教學中得到了學生的認可獲得較好的教學效果。但也存在一些不足,不過將會在今后的教學中不斷完善。
參考文獻
[1]陳雁.數據結構[M].北京:高等教育出版社,2006:1-4.
[2]車站斌,李占波.面向對象的數據結構(Java)[M].鄭州:河南科學技術出版社,2011:145-153.
[3]戴士弘.職業教育課程教學改革[M].北京:清華大學出版社,2007:237-244.