999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2019-10-23 05:15:00陳青青
計算機教育 2019年10期
關(guān)鍵詞:案例結(jié)構(gòu)課程

陳青青

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

0 引 語

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

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

1 課堂教學存在的問題

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

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

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

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

2 分步式案例設(shè)計

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

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

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

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

1)利用順序存儲結(jié)構(gòu)實現(xiàn)。

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

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

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

3)提出以鏈式存儲結(jié)構(gòu)實現(xiàn)。

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

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

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

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

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

2.2 綜合型實踐設(shè)計

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

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

表2 綜合型實驗選題匯總

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

學生在學習數(shù)據(jù)結(jié)構(gòu)與算法這門課程時,往往只經(jīng)過一個學期的C 語言學習,編程基礎(chǔ)較薄弱,代碼編寫不規(guī)范,模塊分析與邏輯設(shè)計還不嚴謹;而在該門課程的案例實現(xiàn)時,往往需要編寫幾個模塊的函數(shù)代碼,代碼量較大,相比以往僅僅是一兩個函數(shù)相互調(diào)用的C 語言學習,復雜度更高,整體與模塊分析比例更大,同時,還要以新“結(jié)點”的方式實現(xiàn),學生往往難以上手,并容易產(chǎ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程序的相關(guān)知識點和編寫過程,對編程知識進行查漏補缺。

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

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

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

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

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

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

4 實踐考評方式改革

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

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

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

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

5 結(jié) 語

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

猜你喜歡
案例結(jié)構(gòu)課程
《形而上學》△卷的結(jié)構(gòu)和位置
哲學評論(2021年2期)2021-08-22 01:53:34
案例4 奔跑吧,少年!
少先隊活動(2021年2期)2021-03-29 05:40:48
數(shù)字圖像處理課程混合式教學改革與探索
軟件設(shè)計與開發(fā)實踐課程探索與實踐
計算機教育(2020年5期)2020-07-24 08:53:38
為什么要學習HAA課程?
論結(jié)構(gòu)
中華詩詞(2019年7期)2019-11-25 01:43:04
隨機變量分布及統(tǒng)計案例拔高卷
發(fā)生在你我身邊的那些治超案例
中國公路(2017年7期)2017-07-24 13:56:38
論《日出》的結(jié)構(gòu)
一個模擬案例引發(fā)的多重思考
主站蜘蛛池模板: 女人18毛片水真多国产| 波多野结衣一区二区三区四区视频 | 精品91视频| 国产杨幂丝袜av在线播放| 色综合五月| 美女毛片在线| 毛片在线播放网址| 国产一区二区色淫影院| 亚洲性网站| 午夜日本永久乱码免费播放片| 浮力影院国产第一页| 老司机久久精品视频| 无遮挡国产高潮视频免费观看 | 亚洲日韩欧美在线观看| 高清乱码精品福利在线视频| 欧美一区日韩一区中文字幕页| 国产SUV精品一区二区| 久久一色本道亚洲| 在线va视频| 久久免费看片| 国产av无码日韩av无码网站| 亚洲第一黄片大全| 手机永久AV在线播放| 久久久久亚洲AV成人人电影软件| 婷婷色一区二区三区| 国产麻豆91网在线看| 欧美中日韩在线| 欧美国产中文| 婷婷在线网站| 国产网站免费| 自偷自拍三级全三级视频| 欧美性天天| 国产真实乱人视频| 2021亚洲精品不卡a| 99热国产这里只有精品9九| 免费A级毛片无码免费视频| 亚洲一区二区三区国产精品| 日韩 欧美 国产 精品 综合| 国产女人在线| 五月丁香在线视频| 最新午夜男女福利片视频| 亚洲欧美色中文字幕| 国产精品第三页在线看| 亚洲精品成人福利在线电影| yjizz视频最新网站在线| 国产人免费人成免费视频| 国产视频你懂得| 国产网站免费看| 久青草网站| 婷婷伊人久久| 啊嗯不日本网站| 丰满的熟女一区二区三区l| 中文国产成人久久精品小说| 无码国产伊人| 欧美精品亚洲二区| 中文字幕2区| 国产va免费精品观看| 视频二区中文无码| 青青操视频在线| 国产精品毛片一区| 欧美日本在线| 国产精品美女免费视频大全 | 91久久夜色精品国产网站 | 欧美va亚洲va香蕉在线| 亚洲精品高清视频| 亚洲欧美成人综合| 国产成人1024精品下载| 欧美国产菊爆免费观看| 亚洲精品成人片在线观看| 666精品国产精品亚洲| a网站在线观看| 久操线在视频在线观看| 毛片在线区| 波多野结衣二区| 亚洲中文字幕在线观看| 久久久久久久蜜桃| 一级毛片高清| 在线视频97| 欧美三级自拍| 97人人做人人爽香蕉精品| 国产精品视频白浆免费视频| 四虎影院国产|