博文谷

位置:首頁 > 實用範文 > 論文

《數據結構》實驗教學方法探討的教育論文

論文5.53K

摘要:《數據結構》是計算機專業的專業基礎課程,具有很強的實踐性。本文結合筆者在課程教學的一些體會,從實驗教學設計、實驗教學手段等方面對《數據結構》實踐教學方法提出自己的一些看法和建議。

《數據結構》實驗教學方法探討的教育論文

關鍵詞:數據結構實驗教學

引言

《數據結構》是計算機專業課程體系的核心課程之一。課程主要講述各種數據的邏輯結構、物理結構及基本操作的實現算法以及數據查找、排序算法,並對各種算法進行性能分析和比較。

根據調查發現,目前大多數院校《數據結構》課程教學現狀不容樂觀。學生普遍反映課程學習比較困難,教師也感覺教學效果不理想。實驗教學更是因爲程序設計語言基礎不紮實、課程內容太抽象等原因而較難開展,有些學校因此而縮短學時甚至不開設實驗。一些專家和教師就課程實驗教學改革已經提出了一些具體的教學方法,如案例驅動、課題答辯等。這些方法都具有比較重要的借鑑價值,但某些文章過於片面的強調某一種教學方法。筆者認爲根據學生的實際情況完善教學設計、加強教學管理,透過行之有效的教學手段使學生學有所獲纔是根本。下面結合自己的實際教學工作,談談對數據結構實驗教學方法的認識。我校《數據結構》課程理論學時48,實踐學時16,教材選用嚴蔚敏的《數據結構(C語言版)》)。

1講好理論第一課,明確課程性質

僅從課程名稱來看,《數據結構》就很容易被誤解爲實踐性不強的理論課。講好第一堂理論課非常重要,應讓學生明確課程性質並理解實踐學習的重要性。

結合程序設計語言、操作系統等課程內容,筆者設計了一些學生比較熟悉並容易理解的應用實例和學生一起探討,如:inta[10]和a[i]=5的確切含義;檔案簇的鏈式形態;國際象棋大師與超級計算機的對決;圖的着色問題等。在講解圖的着色問題時引導學生思考圖的存儲中需要關心什麼,怎麼存以及大致的程序邏輯等。透過對實例的分析,引入課程主要內容,學生也可明確課程的性質和專業地位並思考課程學習目標。

2制定實驗教學計劃,設計實驗內容

程序設計語言是數據結構的前驅課程之一,多數院校都是以C語言程序設計作爲學生程序邏輯訓練的課程。數據結構教材中採用類C語言來描述算法,對指針、結構體等內容並未作詳細的介紹。對於剛剛學完C語言的學生來說,指針等內容本來就比較模糊,要將類C算法轉換爲程序實現就更加困難。

在制定實驗教學計劃時,可以採用由易到難、逐步加深的方式來安排實驗內容。結合實驗學時數和教學大綱要求,筆者將實驗內容作了如下設計和安排:

2.1第一次上機任務只要求學生運用以前學過的C語言知識來編寫一個程序:給定一個整數序列,要求①用冒泡或選擇算法進行排序;②輸入一個整數X,在此有序序列中進行查找,如成功,則返回其位置;③如查找不成功,將X插入到序列中並使序列仍然有序。此題目運用到數組的定義、排序、查找、數組元素插入算法等相關內容。透過此實驗,不僅能瞭解學生程序語言的熟悉程度,也能瞭解學生對排序和查找等基礎算法的掌握情況,爲後面教學內容設計作好鋪墊。

2.2結合教學進度要求學生實現常見數據結構的基本操作,並能作一些驗證性的實驗。如用數字選單的形式實現單向鏈表的基本操作,並完成兩個有序鏈表合併算法的驗證。實驗要求學生能實現大多數基本操作算法,完成頭檔案的設計,並能利用已實現的基本操作完成複雜算法的驗證。透過此類實驗,學生對數據結構的理解更直觀,程序邏輯更清晰,C語言的掌握能力逐漸增強,同時也爲面向對象課程的學習打下一定的基礎。

2.3設計性實驗即課程設計安排。課程設計的目的在於培養學生分析和解決實際問題的能力,訓練和提高學生規範的程序設計方法。教師可推出一些典型的並與後續課程有一定聯繫的題目供學生選擇。每個題目規模不能太小,並能反映相關數據結構在程序設計中起的關鍵作用。如:①實現一個串的基本操作演示程序,提供命令行的輸入(仿照COMMAND),並對命令行能進行簡單的編譯和出錯處理,最後根據命令動詞的功能來執行命令;②利用哈夫曼編碼算法實現簡單文字檔案的壓縮和解壓。題目隨着理論教學進度推出,有難有易,學生結合自己實際來選擇並可提前完成。

3規範實驗過程,加強實驗教學管理

爲保障計劃的有效實施,必須規範實驗過程並加強實驗教學管理。

3.1根據計劃制定實驗指導書。指導書中給出每個實驗的目的、學時、內容等。其中設計性實驗另給出一些基本的分析思路,每個實驗都適當的添加一些選作題。學生透過閱讀實驗指導書能進一步明確每次實驗的'具體內容和要求。

3.2要求學生做好上機前的準備。大二學生的編碼速度普遍較慢,如果把實驗課時間主要用於輸入代碼是非常不值得的,應將主要精力放在程序調試上面。這樣不僅有充足的提問時間,也便於教師歸納並集中講解學生調試過程中所遇到的常見問題。

3.3要求學生實驗後完成實驗報告。報告中須給出問題分析、數據描述、算法描述、程序描述、測試結果和心得體會等內容。教師對學生提交的實驗報告進行分析,總結並指出實驗的成功和不足之處。

3.4加強實驗教學管理,從正面引導學生。隨着網絡資訊技術的發展,網絡中提供的各種資訊服務和娛樂方式使部分學生的學習積極性逐漸降低,學習目標也越來越不明確。如果管理鬆懈,有些學生就會把實踐學習當成是簡單的Ctrl-C和Ctrl-V,不能達到實驗教學的預期目標。因此,教師應瞭解學生的學習動態,加強實踐教學管理,並根據實際情況進行相應調整和改進。

4豐富教學手段,搞好實驗指導

在實踐教學過程,教師不能只停留於解決學生提出的問題,還應不斷摸索教學方法,豐富教學手段。

4.1演示基本算法實現時可採用互動的方式進行。先按類型定義→初始化→輸入測試數據→輸出的實現順序和學生一起得到結果;再讓學生逐個實現其餘算法,最後完成頭檔案的設計。學生透過教師演示和實際操作可以更快的掌握類C算法和C程序的轉換思路。

4.2數據結構中的程序規模相比C語言來說更大。由於缺乏經驗,很多學生在程序調試中會出現較多的語法和邏輯錯誤,可利用多媒體網絡教學手段在學生機上直接演示並講解程序調試的方法和技巧。

4.3學生實驗過程中盡力營造一種你追我趕的競爭氛圍,透過激勵機制提高學生學習積極性。如果有同學較早實現了某些算法,可有選擇性的適當的“刺激”部分學生以激發其不服輸的心理,從而帶動其他學生。

4.4鼓勵學生多實踐,要求學生透過實踐來找出理論學習中存在的問題,提高自己的抽象思維和邏輯推理能力。對於編程能力較強的學生,鼓勵他們多做題,做難題,爲今後參加各種資格水平考試和專業競賽作好準備。

5總結

《數據結構》是一門理論和實踐結合性非常強的課程,其課程性質決定了教學過程的複雜性。作爲承擔課程教學的老師,不管是理論教學還是實驗教學,都應結合學生的特點,從教學設計、教學手段、教學管理等多方面進行深入具體的探討和研究,並運用到教學實踐中。只有這樣,才能真正使學生理解《數據結構》課程意義和課程核心地位。

參考文獻:

[1]嚴蔚敏,吳偉民.《數據結構(C語言版)》[M].北京:清華大學出版社.1997.

[2]黃現代.“數據結構”課程教學改革與實踐[J].北京:計算機教育.2007(16).

[3]李丹丹.數據結構教學改革與實踐[J].北京:北京城市學院學報.2007(3).