• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      數(shù)據(jù)結構課程中分步式案例設計的探索與實踐

      2019-10-23 05:15:00陳青青
      計算機教育 2019年10期
      關鍵詞:數(shù)據(jù)結構結點代碼

      陳青青

      (莆田學院 信息工程學院,福建 莆田 351100)

      0 引 語

      數(shù)據(jù)結構與算法課程是計算機學科的專業(yè)基礎必修課程,屬于專業(yè)課程體系中的核心課程,在教學體系中起著舉足輕重的作用。它所討論的知識體系和方法技術,無論對于下一步學習其他相關計算機課程,或是將來從事信息行業(yè)開發(fā)工作,都是重要且必備的基礎之一。

      該門課程的教學目標是學會分析研究計算機加工的數(shù)據(jù)結構的特性,以便為應用涉及的數(shù)據(jù)選擇適當?shù)倪壿嫿Y構、存儲結構及其相應的算法,并初步掌握算法的時間分析和空間分析的技術[1]。另一方面,本課程的學習過程也是復雜程序設計的訓練過程,要求學生編寫的程序結構清楚和正確易讀,符合軟件工程的規(guī)范。

      1 課堂教學存在的問題

      該門課程的特點是知識點多,理論性強,內容比較抽象枯燥,掌握起來相對困難。在傳統(tǒng)的教學過程中,存在以下問題。

      (1)數(shù)據(jù)結構課程需要學生熟悉不同數(shù)據(jù)結構的特性,從而在分析解決具體的問題時,為所要處理的數(shù)據(jù)選擇合適的邏輯結構、存儲結構;而教師往往按照教材授課,在講解不同數(shù)據(jù)結構時,選用不同的案例進行教學,相互之間沒有關聯(lián)與對比,學生無法理解不同數(shù)據(jù)結構在解決同一問題時的不同點及優(yōu)缺點,對如何根據(jù)實際問題選擇恰當?shù)臄?shù)據(jù)結構了解得并不深刻。

      (2)本門課程的實踐教學環(huán)節(jié)對學生的程序設計能力具有較高的要求。在莆田學院,C 語言程序設計的課程在大一下學期開設,而數(shù)據(jù)結構與算法課程在大二下學期開設。經過了一年的時間,大部分學生對高級程序設計語言的相關知識點比較陌生,再加上大一下學期學習時掌握不到位,直接影響了代碼的編寫質量[2]。常見的問題包括變量定義不規(guī)范,指針、結構體和函數(shù)相關應用弱,代碼可讀性差,程序調試能力弱等,同時,傳統(tǒng)教學過程偏重于數(shù)據(jù)結構理論,沒有對代碼編寫進行強調和規(guī)范。

      (3)數(shù)據(jù)結構課程實踐部分的考核,目前是以學生提交上來的實驗報告和代碼作為考評依據(jù),但是由于課程的復雜度與難度較大的特點,學生不愿意主動思考,提交上來的實驗報告和代碼往往千篇一律,抄襲現(xiàn)象嚴重,從而影響考評的效果,偏離考評的真正目的。

      2 分步式案例設計

      學生通過設計系統(tǒng)雛形,再利用所學章節(jié)知識分步完善系統(tǒng)的方式掌握各知識點,可以解決目前教學過程中各章節(jié)的案例設計相互之間沒有聯(lián)系的問題。

      2.1 章節(jié)案例設計與選擇

      案例的選擇是教學改革中的核心環(huán)節(jié)之一,通過選擇適當?shù)陌f知識的教學案例,并經過案例分析引出即將學習的新知識,以此驅動數(shù)據(jù)結構課程不同章節(jié)的學習,可以提高學生的學習興趣,幫助學生進一步理解不同數(shù)據(jù)結構的選擇和取用,從而達到教學目的。

      計算機學科的學生在應用數(shù)據(jù)結構知識解決實際問題時,經常接觸數(shù)據(jù)列表的建立、查找、插入、刪除等操作,這也是將來在開發(fā)編寫完整的系統(tǒng)代碼時,不可避免將接觸和實現(xiàn)的部分。在線性表這一章節(jié),選用“學生基本信息系統(tǒng)”案例,貼近學生的日常生活,學生也更易理解系統(tǒng)的邏輯條理。通過分步教學,學生使用順序表結構和鏈表結構兩種物理存儲方式進行實現(xiàn),從而進一步掌握兩種方式的區(qū)別。

      1)利用順序存儲結構實現(xiàn)。

      學生基本信息系統(tǒng)是一個小型的處理學生基本信息的程序,主要用于實現(xiàn)學生信息的錄入、刪除、查找等功能。在講解順序結構前,即以任務驅動的方式[3],將該題目下達于學生,讓學生進行分組討論,討論如何建立合適的數(shù)據(jù)元素類型,如何在此基礎上實現(xiàn)插入、刪除、查找等操作。學生首先利用已經學過的C 語言相關知識進行討論和實踐,之后教師在了解學生討論結果的基礎上,提出數(shù)據(jù)結構中“結點”的概念作為數(shù)據(jù)元素類型的建立,并通過回顧復習學生學過的關于數(shù)組的相關知識,提出“結點”以順序結構存儲的知識點,進一步讓學生討論并動手編寫對各“結點”進行插入、刪除、查找的代碼,并進行調試分析。

      2)討論順序存儲結構優(yōu)缺點。

      在實現(xiàn)上述系統(tǒng)的基礎上,與學生通過分析討論,對在原有數(shù)據(jù)集合中插入或刪除學生數(shù)據(jù)所需的時間和空間復雜度進行分析,發(fā)現(xiàn)在插入或刪除某條學生數(shù)據(jù)時,需要移動大量其他學生數(shù)據(jù),以達到“線性表”結構的要求,這種方法耗費的時間多,操作也繁瑣。

      3)提出以鏈式存儲結構實現(xiàn)。

      基于順序存儲結構的缺點,提出鏈式存儲結構的知識點,每個學生數(shù)據(jù)“結點”之間以指針相關聯(lián),特別針對“指針”進行著重強調,讓學生了解對于新“結點”的插入或刪除,僅需改變相關聯(lián)“結點”的指針即可,從而引出基于鏈表的結構建立、查找、插入、刪除等操作偽代碼,并讓學生通過上機實踐的方式實現(xiàn)。

      通過以上3 個步驟,學生首先通過回顧復習,利用原有的C 語言知識編寫系統(tǒng)雛形,之后分別以“結點”+順序結構、“結點”+鏈式結構兩種方式加以完善,通過“案例驅動型”實踐模式,即同一案例、同一系統(tǒng)利用不同存儲結構的實現(xiàn)與實踐過程,加深關于順序存儲和鏈式存儲的了解,理解二者的優(yōu)缺點與區(qū)別,從而達到教學目的。

      對于其他章節(jié)的實踐案例,實踐內容安排見表1。

      表1 各章節(jié)實踐案例設計

      經過以上實踐環(huán)節(jié),學生可以利用不同章節(jié)的知識,分步驟對所開發(fā)的系統(tǒng)進行逐步完善,既能掌握課程的相關知識,又能了解如何建立系統(tǒng)并逐步添加新功能,對于后期完成綜合型案例具有較大的幫助。

      2.2 綜合型實踐設計

      這個環(huán)節(jié)的教學是在整個數(shù)據(jù)結構的課堂教學結束之后,即課程設計環(huán)節(jié)部分完成[4]。在該環(huán)節(jié)的實踐中,學生可以自行組織4~5 人組成一個團隊,在教師提供的幾個實驗項目中,自行挑選一個項目,對任務進行分解與分配,合作完成。

      以圖書管理系統(tǒng)為例,可將系統(tǒng)功能分解為初始數(shù)據(jù)的建立、圖書的插入、圖書的查找、圖書的排序、圖書的編輯與刪除等多個模塊,每個團隊成員選擇其中一個模塊完成,同時進行小組討論,設計統(tǒng)一的數(shù)據(jù)接口,以實現(xiàn)不同模塊的相互調用和組合,最后,小組成員一起對模塊組合后的系統(tǒng)進行調試分析,發(fā)現(xiàn)不足并改進。這不僅能進一步加強學生的分析問題與實踐編程能力,還能鍛煉學生的團隊合作能力。實驗項目選題匯總見表2。

      表2 綜合型實驗選題匯總

      3 算法實現(xiàn)步驟改革

      學生在學習數(shù)據(jù)結構與算法這門課程時,往往只經過一個學期的C 語言學習,編程基礎較薄弱,代碼編寫不規(guī)范,模塊分析與邏輯設計還不嚴謹;而在該門課程的案例實現(xiàn)時,往往需要編寫幾個模塊的函數(shù)代碼,代碼量較大,相比以往僅僅是一兩個函數(shù)相互調用的C 語言學習,復雜度更高,整體與模塊分析比例更大,同時,還要以新“結點”的方式實現(xiàn),學生往往難以上手,并容易產生畏難情緒,學習積極性不高。

      基于以上原因,以線性表為例,在學生上機實踐“學生基本信息系統(tǒng)”環(huán)節(jié),采用以下步驟與方法。

      1)先以數(shù)組方式實現(xiàn)基本數(shù)據(jù)類型的數(shù)據(jù)操作。

      先讓學生以原有的C 語言知識編寫一個小型的、僅有兩三個函數(shù)的程序,實現(xiàn)基本數(shù)據(jù)類型數(shù)組的數(shù)據(jù)輸入、查找、插入、刪除等操作。這一代碼既是“學生基本信息系統(tǒng)”的雛形,又可以讓學生先以1~2 個課時的時間,復習回顧C程序的相關知識點和編寫過程,對編程知識進行查漏補缺。

      2)在提出“結點”概念與“順序結構”數(shù)據(jù)操作偽代碼后,讓學生針對第一步驟實現(xiàn)的代碼進行修改。

      在提出“順序結構”存儲的相關知識點后,首先讓學生以“結點”替代上一代碼中的基本數(shù)據(jù)類型,并在此基礎上修改上一步驟代碼中有關數(shù)據(jù)操作的部分。采用這一方法的目的,即是讓學生在此步驟中,重點關注數(shù)據(jù)結構的特點以及“結點”數(shù)據(jù)的訪問方式,而將了解數(shù)據(jù)查找、插入、刪除等算法設計的原理流程這一學習過程在上一步驟就完成,從而在這一步驟簡化并突出知識點的學習,分步完成基于順序表結構的“學生基本信息系統(tǒng)”。

      3)在提出“鏈式結構”的概念與數(shù)據(jù)操作偽代碼后,讓學生針對第2 步驟實現(xiàn)的代碼進行修改。

      在提出“鏈式結構”存儲的相關知識點后,讓學生修改上一步驟的代碼,將“結點”數(shù)據(jù)修改為以“鏈表”存儲,并修改查找、插入、刪除的相關代碼。學生在修改的過程中,可以進一步比較兩種不同存儲結構在進行數(shù)據(jù)操作時的異同點,并通過比較前后兩個版本代碼的時間與空間復雜度,了解如何在不同需求的情況下,選用不同的數(shù)據(jù)存儲結構。

      4)在以上3 個步驟中,學生在編寫完各自的代碼后,采用相互之間分析、找錯、糾錯的方式,提高代碼編寫規(guī)范與程序調試能力。

      寫完的代碼需要調試,學生在調試代碼方面往往存在問題,較難發(fā)現(xiàn)自己代碼的問題,可以通過同學間的相互改錯糾錯,發(fā)現(xiàn)問題所在,這樣學生不僅學習興趣高漲,還能進一步提高有關代碼編寫、調試的能力。

      4 實踐考評方式改革

      (1)實踐考評成績=實驗報告與代碼(30%)+答辯(50%)+組內成員互評(20%)。

      (2)在答辯環(huán)節(jié),組內每個成員對自己所承擔部分的系統(tǒng)任務進行演示與解說,包括匯報遇到的問題與解決方式等[5]。教師可以對學生進行提問,通過學生的回答了解學生的實際完成過程,并綜合學生的完成與答辯情況進行評分。

      (3)在組內成員互評部分,組內成員間通過匿名互評的方式,對其他成員的任務完成情況和團隊合作情況進行評分。

      通過以上考評方式的改進,學生就不能再僅僅依靠實驗報告與代碼的簡單復制粘貼通過考評,而是通過真正的團隊合作以及思考與動手實踐,從而提高學習主動性,保障考評的實際意義。

      5 結 語

      數(shù)據(jù)結構與算法課程所采用的分步式任務驅動型教學改革和考評改革,改變了按教材內容教學、按教材中一個算法接一個算法講解的傳統(tǒng)教學過程,更強調章節(jié)之間的聯(lián)結,從學生C 語言基礎的實際掌握能力出發(fā),從學生的學習效果出發(fā),設計合適的案例,并采用循序漸進的步驟,從代碼雛形出發(fā),根據(jù)實際的數(shù)據(jù)結構知識點進行進一步修改完善,將傳統(tǒng)教學過程中學生本應同時掌握的多個知識點拆解開來,分步教學,更適合學生的學習節(jié)奏;同時,通過新的實踐考評辦法,激發(fā)學生的學習主動性。在莆田學院近年的教學過程中,使用上述方法對數(shù)據(jù)結構與算法課程進行教學改革實踐,結果表明,學生更容易理解教材中各類數(shù)據(jù)操作的偽代碼,對于不同數(shù)據(jù)結構的特點與區(qū)別也理解得更為深刻,學生的學習與程序編寫興趣更高,編寫的代碼更加嚴謹、完整,取得了更好的學習效果。

      猜你喜歡
      數(shù)據(jù)結構結點代碼
      創(chuàng)世代碼
      動漫星空(2018年11期)2018-10-26 02:24:02
      創(chuàng)世代碼
      動漫星空(2018年2期)2018-10-26 02:11:00
      創(chuàng)世代碼
      動漫星空(2018年9期)2018-10-26 01:16:48
      創(chuàng)世代碼
      動漫星空(2018年5期)2018-10-26 01:15:02
      Ladyzhenskaya流體力學方程組的確定模與確定結點個數(shù)估計
      “翻轉課堂”教學模式的探討——以《數(shù)據(jù)結構》課程教學為例
      高職高專數(shù)據(jù)結構教學改革探討
      中國市場(2016年45期)2016-05-17 05:15:48
      TRIZ理論在“數(shù)據(jù)結構”多媒體教學中的應用
      《數(shù)據(jù)結構》教學方法創(chuàng)新探討
      河南科技(2014年5期)2014-02-27 14:08:57
      基于Raspberry PI為結點的天氣云測量網(wǎng)絡實現(xiàn)
      河北省| 丰镇市| 浦北县| 云南省| 西安市| 丰镇市| 阿尔山市| 北辰区| 宜春市| 郎溪县| 定南县| 红河县| 中西区| 三原县| 潼南县| 巴青县| 黄龙县| 镇安县| 井研县| 卫辉市| 垦利县| 郸城县| 慈溪市| 永年县| 绥江县| 宜章县| 额尔古纳市| 东海县| 安国市| 丹寨县| 竹溪县| 滦南县| 自贡市| 如东县| 许昌县| 石林| 衡阳县| 固安县| 珠海市| 哈密市| 财经|