張燕
摘要:先介紹了數據結構課程的意義和重要性,接著闡述了用Java語言描述數據結構的優點,然后著重介紹了根據課程需要及學生自身情況制定的數據結構(Java語言描述)的實踐教學方案和實施效果,最后對全文做了總結,提出了進一步的教學實踐設想。
關鍵詞:數據結構;實踐教學;Java語言描述
一、引言
數據結構是計算機科學專業的核心基礎課程。該課為進一步學習計算機科學專業的后續課程奠定了良好的基礎[1][2]。Java語言,這種經典的面向對象語言,非常適合應用于信息管理與電子商務系的程序設計課程的教學中。用Java作為數據結構這門課程的描述語言勢在必行。本文將從Java與數據結構、數據結構教學中出現的問題、數據結構實踐教學的設計方案、數據結構實踐教學所取得的效果以及對未來數據結構實踐教學的展望幾個方面展開討論。
二、數據結構教學中出現的問題
數據結構的教學課和實踐課相輔相成。數據結構實踐課要運用到理論課中所學的知識,它可以檢驗學生是否完全消化和吸收了數據結構理論課中的內容。同時,數據結構實踐課又不局限于對理論課上內容的驗證,它是培養學生用計算機解決實際問題的能力的一個過程。數據結構的實驗課是鍛煉學生獨立思考,訓練學生的邏輯思維,培養其動手能力的一門課程。在實際教學中,我們根據教學內容制定了實踐課的教學方案。同時,根據學生在課堂上表現出的問題,不斷調整著實踐課的實踐內容。在擔任數據結構課程的教學過程中,我們發現了如下問題:
(1)學生基礎差、底子薄,對Java語言理解不深,甚至有的同學連類和接口的概念都無法理解。
(2)學生調試程序的能力很弱。
(3)數據結構是一門邏輯性、連貫性非常強的課程,如果有某些環節沒有仔細聽或者有一點沒聽懂,就會影響學生后續學習情緒和積極性。
(4)學生沒有用計算機處理問題的習慣,欠缺從計算機的觀點來分析問題、處理問題的能力。
在數據結構的實踐教學中,針對以上教學問題,制定了比較詳盡的教學方案。
三、數據結構實踐教學的設計方案
數據結構的實踐教學主要是指學生的上機實踐。上機實驗過程中,老師給定題目范圍,由學生自己解決。整個過程,以學生自主上機練習為主,老師指導為輔。設計方案主要分為實踐教學內容、實踐教學組織方式、實踐教學評分方式三個部分。
(一)實踐教學內容
目前,上機內容以理論課中講解的各種數據的邏輯結構、物理結構以及算法為主線,把上機習題主要分為基礎題(以驗證已學算法為目的的題目)和提高題(給定問題,利用所學方法求解的題目)。題目的設計分布在線性表、棧與隊列、串與數組、樹與二叉樹、圖、排序和查找等各個章節[4][5]。學生剛上數據結構時對類、接口等概念不清楚,不會用面向對象的方法來分析問題,老師就趕緊制定一些比較簡單的上機例題,為學生講解如何用面向對象的方法解決問題,從而進一步引出數據結構的相關知識。
(二)實踐教學組織方式
在數據結構實踐教學中,我們針對不同的題目,用不同的教學組織方式。
基礎題主要用來驗證已學過的算法邏輯,屬于必須掌握并且難度不大的內容。針對這部分題目,上課時,要求學生分別獨立完成自己的題目。通過練習基礎題,學生可以鞏固理論課上所學算法,查漏補缺,使學生盡早知道自己的不足,完善知識體系。
提高題需要學生通過已學的基礎內容去解決復雜問題。因此提高題對學生的要求更高,需要學生有分析問題解和決問題的能力,需要學生養成用科學的方法和手段解決問題的習慣。所以,針對提高題,學生可以以3-5人為一組,分組完成題目。在完成提高題時,需要進行面向對象分析、面向對象設計、面向對象編程、面向對象測試等步驟,并寫出完整書面報告。通過這樣的方式,一方面鞏固基礎知識,一方面鍛煉學生的邏輯思維能力,使其能用科學的方法利用計算機來解決現實問題。
由于學生缺乏編程的經驗,在編寫代碼和調試程序時 ,學生經常無從下手,看到報錯后不會解決問題。這時,老師就要總結學生的問題,指導學生如何調試程序,如何修改代碼,告訴他們調試程序的方法。
(三)實踐教學評分方式
實踐教學的評分分為兩個部分,基礎題占70%,提高題占30%。
每次上機,當堂課檢查學生基礎題的完成情況,根據其學生代碼書寫得是否規范、功能完成得是否完整、代碼是否健壯等方面給出評分。
提高題由于是小組內成員共同完成,評分時,首先讓小組成員描述自己的工作,接著成員之間互評,老師根據學生表現、代碼及報告完成情況分別給每人評出成績。小組成員間互評的成績與老師給出的成績取平均值,作為提高題的成績。
最后,基礎題成績加上提高題成績即為學生上機實踐的分數。
四、數據結構實踐教學所取得的效果
經過對數據結構實踐教學課的設計,我們了解了學生最薄弱的環節,初步完成了實踐教學的題目設計,并制定了教學組織方式和評分標準。為今后數據結構(Java語言描述)的實踐教學打下了堅實的基礎。
通過數據結構實踐,學生對鞏固了Java語言的語法知識,對面向對象的程序設計有了進一步的理解。更重要的是,學生通過實踐逐漸開始從計算機的角度用數據結構中所學的理論知識來分析和解決問題。
五、結論
數據結構在計算機相關專業是非常重要的一門課程。只通過短暫的上課時間遠遠不能使學生非常深入地了解數據結構這門課程的魅力和價值。我們可以進一步設計數據結構的實踐教學方案,挑選信息系統和電子商務專業的典型問題作為研究對象,讓學生更深入理解數據結構在自己所學領域的應用價值,不斷培養學生對數據結構的興趣,不斷誘導其熱愛用計算機解決現實問題。
參考文獻:
[1]徐翀,金潔潔.激、導、探、拓四步教學法在數據結構教學中的應用.計算機教育,2012,2(3):65-68.
[2]徐慧,郭榮祥,周建美. 多維一體的“數據結構”實踐教學系統的構建.http: //qkzz.net/article/1a17e3f4-e6b7- 4195-83fc-2574e86a7f2a.htm.2011,1.
[3]Bruce Eckel.Java編程思想(第五版).機械工業出版社.2011年8月.
[4]劉小晶.《數據結構-Java語言描述》.清華大學出版社.2011年2月.
[5]劉小晶.《數據結構實例解析與實驗指導-java語言描述》. 清華大學出版社. 2013年2月.