數據結構課程學習與教學方法探討

前言:尋找寫作靈感?中文期刊網用心挑選的數據結構課程學習與教學方法探討,希望能為您的閱讀和創作帶來靈感,歡迎大家閱讀并分享。

數據結構課程學習與教學方法探討

摘要:“數據結構”是計算機專業必修的核心課程之一,根據目前學生學習“數據結構”的現狀及呈現問題,結合已講授數據結構課程的經驗和心得體會,提出一種學生學習數據結構類型定義的三步法,提出一種“問題啟發法、任務驅動法、案例解析法、動畫定位剖析法、網絡教學法、實踐上機法”相結合的教學模式,以上教學方法在課堂上容易開展實現,經過具體的課堂實踐取得良好的教學效果,對推進“數據結構”課程的教學與學習意義深遠且重大。

關鍵詞:數據結構;課程教學方法探討;教學模式;類型定義

“數據結構”是計算機專業必修核心課程之一,數據結構與算法是編程的靈魂;數據結構是一門實踐技能要求較高的課程,既需學生掌握基礎理論及算法,又要求運用于實踐解決具體問題。數據結構是考研必考科目,大型企業公司招聘計算機開發員工的筆試、上機測試及面試均會涉及數據結構算法內容考查,故對“數據結構”課程學習及教學方法的探討具有深遠的現實意義。學習該課程學生需先修“C語言”,掌握基本數據類型、循環體、結構體、數組及指針的定義及使用方法,有助于理解與掌握算法核心代碼及過程;該課程從實際問題出發,分析出數據對象的邏輯結構后,選擇合適的物理結構存儲數據,根據解決問題思路設計出相應算法,最終寫出可執行代碼解決問題,分析出所寫算法的時間復雜度和空間復雜度以評價算法優劣。

一、目前“數據結構”課程授課現狀及問題

由于數據結構課程基礎理論與算法頗多,目前授課存在的問題:1.學生先修課程《C語言》基礎薄弱;2.基礎與算法理論性太強;3.理論與實踐課時分配不合理;4.實踐上機強度低;5.數據結構類型定義抽象性太強。針對以上問題,結合已講授數據結構這門課程的經驗和心得體會,提出一種學生學習數據結構類型定義的三步法,提出一種“問題啟發法、任務驅動法、案例解析法、動畫定位剖析法、網絡教學法、實踐上機法”相結合的教學模式,此模式極大地提升了學生對該課程的興趣度、參與率和互動響應率,以有趣且透徹的方法剖析算法的過程與核心,學生深刻理解與掌握算法后上機實踐解決實際問題。

二、數據結構類型定義的三步法

數據結構的數據類型定義比較抽象難懂,經研究提出三步法,提升了學生對類型定義的理解度和掌握度,以數據結構課程難點之一(無向圖的類型定義)為實例分析。第一步:分析出該數據對象的邏輯結構為無向圖結構,各頂點間關系是多對多,邊無方向,如圖1所示。第二步:為了合理存儲頂點及邊,選取鄰接表存儲結構,無向圖各頂點采用順序存儲結構vertex數組(圖2中左邊為頂點位置序號即vertex數組的下標),各頂點分別建立一個單鏈表存儲鄰接關系,故與A頂點有鄰接關系的頂點是序號1(B)、序號2的(C),頂點間有弧即互為鄰接關系。第三步:寫出無向圖具體的數據類型及變量定義;無向圖定義需針對表頭結點、鄰接結點、頂點數及邊數,表頭結點包含數據域data(頂點信息),firstarc指針域(第一條鄰接邊的地址信息),不同類型的變量融合應使用結構體;鄰接結點包含adjvex(鄰接頂點的序號)和next指針域(下一個鄰接頂點的地址);頂點數和邊數均為整數,為int數據類型;無向圖所有頂點由表頭結點構成,故一維數組類型與表頭結點相同。

三、新教學模式介紹與分析

若采用新教學模式解析棧結構,以火車進站與出站的實例引入啟發學生思考總結棧的特點及規則,后用動畫定位法剖析棧的基本操作算法過程及核心,熟練掌握后剖析棧應用的經典案例--數制轉換(十進制轉二進制)加深鞏固所學知識,最后實踐上機完整實現此案例。此教學模式能有效幫助學生掌握概念、算法及其應用,經過具體的課堂實踐也達到了良好的教學效果。以下是所采用教學方法的相關介紹:(1)問題啟發法。在引入和講解數據結構新知識時,教師要善于發問引發學生思考,培養學生分析與解決問題的能力;例如解析棧和隊列時,啟發學生思考其與線性結構的聯系與區別。以板書圖示突出特點輔助解析,啟發學生思考單鏈表、循環鏈表及雙向鏈表的聯系與區別。(2)任務驅動法。數據結構經典教材是嚴蔚敏主編的《數據結構》,但結合高職高專學生的學情需求,采用了洪運國編著的《數據結構》,每章節由具體任務構成,章節前有實例引入,章節后有經典實訓案例練習,極大地激發了學生對這門課程的興趣;例如棧的遞歸,以漢諾塔的圓盤移動任務展開遞歸的講解與剖析。(3)案例解析法。隊列結構,以同學們在超市購物結賬和銀行存取款為例介紹隊列的特點及基本原則,直觀形象;例如解析冒泡排序算法,請幾位同學上講臺隨機站位配合教學,以學生身高數據模仿冒泡排序過程步驟,實際代入能夠幫助學生熟練掌握冒泡排序算法的思想及核心。(4)動畫定位剖析法。單鏈表的插入算法,一般教材均是圖示解析,教師可通過代碼標號或者板書畫圖解析,不夠清晰具體,此動畫資源融合了算法的總體功能解析、核心思想分析、每行代碼功能解析、變量變化情況、內存分配情況圖示、返回值等,是教學與自主學習參考的重要網絡資源,教師可單步播放動畫或動畫定位,輔助板書標號畫圖解析,可清晰展示算法的思想和核心過程。(5)網絡教學法。網絡教學法運用于數據結構課程的教學中指的是,一是可利用視頻、博客或動畫等網絡資源輔助課堂講授;二是用藍墨云班課創建數據結構的網絡課堂,學生可看課件、看視頻、做題賺取積分,極大地提升了學生對該課程的興趣度、參與率和互動響應率;三是為課堂引入慕課或者微課,幫助學生透徹理解數據結構算法的思想、過程及核心。(6)實踐上機法。實踐是檢驗真理的唯一標準,將所學算法應用于實際問題的解決中是真正學會和掌握此算法的唯一標準,教材的應用實例及網絡經典案例是實踐上機的重要工作,實踐上機法能夠如實反映出學生們對算法掌握的情況,教師可根據上機反饋針對性地加強講解,幫助學生掌握算法過程及核心。

四、總結

基于數據結構課程理論性強、難度大、學生學習興趣度低的情況,類型定義三步法有效幫助學生學習類型定義;“問題啟發法、任務驅動法、案例解析法、動畫定位剖析法、網絡教學法、實踐上機法”相結合的教學模式,能夠從根源上幫助學生更好地吸收和接納數據結構的知識內容,能清晰地認識、理解和掌握算法的思想、過程及核心,經過課堂實踐也取得了良好的教學效果,不同的知識點適用的教學方法不同,可選擇教學模式里最適用的教學方法解析,以達到最佳教學效果。

參考文獻

[1]張西芝,劉敏娟,郭淼.《數據結構》課程教學方法改革探索[J].產業與科技論壇,2016,15(09):154-155.

[2]王曉艷.關于高校計算機專業數據結構教學改革的探討[J].黑龍江科技信息,2017(04):170.

[3]容青,熊冬春,李廣原,鄧育林.以提高學生創新創業能力為目的的數據結構課程教學實踐研究[J].中國現代教育裝備,2018(19):81-83.

作者:龔玲 張真真

亚洲精品一二三区-久久