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ā)的多重思考
主站蜘蛛池模板: 中文字幕在线永久在线视频2020| 99热这里只有精品在线观看| 理论片一区| 一级高清毛片免费a级高清毛片| 女人18毛片一级毛片在线 | 国产免费精彩视频| 亚洲欧美在线精品一区二区| 免费看黄片一区二区三区| 最新亚洲人成网站在线观看| 日本爱爱精品一区二区| 国产欧美日韩一区二区视频在线| 国产91无码福利在线| 国产在线无码av完整版在线观看| 日韩麻豆小视频| 波多野结衣久久高清免费| 波多野结衣在线se| 91久久天天躁狠狠躁夜夜| 亚洲精品老司机| 思思99热精品在线| 色综合中文字幕| 免费人成视网站在线不卡| 狠狠操夜夜爽| 亚洲精品综合一二三区在线| 欧洲日本亚洲中文字幕| 一区二区三区四区精品视频 | 香蕉eeww99国产在线观看| 国产综合欧美| 日本不卡在线播放| 免费一级全黄少妇性色生活片| 亚洲日韩第九十九页| 久草热视频在线| 国产亚洲男人的天堂在线观看| 国产乱子伦视频在线播放 | 国产极品美女在线| 中文国产成人精品久久| 免费看的一级毛片| 中文字幕欧美日韩| 国产自产视频一区二区三区| 欧美成人A视频| 97综合久久| 久久国产精品影院| 伊人色在线视频| 国产精品yjizz视频网一二区| 91成人试看福利体验区| 亚洲国产精品日韩av专区| 精品久久久久久中文字幕女| 在线欧美一区| 久青草国产高清在线视频| 欧美激情视频在线观看一区| 国模极品一区二区三区| 亚洲品质国产精品无码| 91精品国产丝袜| 伦伦影院精品一区| 亚洲最大情网站在线观看| www.91中文字幕| 亚洲精品欧美重口| 一本色道久久88综合日韩精品| 五月婷婷中文字幕| 成年片色大黄全免费网站久久| 日本午夜视频在线观看| 大陆国产精品视频| 国产精品女主播| 日本少妇又色又爽又高潮| www.av男人.com| 久久福利网| 国产精品所毛片视频| 无码视频国产精品一区二区| 91欧美亚洲国产五月天| 欧美精品色视频| 666精品国产精品亚洲| 日韩国产无码一区| 国产精品极品美女自在线网站| 日韩乱码免费一区二区三区| 都市激情亚洲综合久久| 福利姬国产精品一区在线| 一本综合久久| 狠狠躁天天躁夜夜躁婷婷| 国内精品小视频在线| 国产成人91精品免费网址在线| 日韩第一页在线| 精品久久高清| 国产在线一区视频|