翟佳佳 朱晶晶
摘要:該文針對(duì)目前數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)存在的問(wèn)題,提出相關(guān)解決措施,使學(xué)生能夠理解和學(xué)習(xí)如何分析和解決問(wèn)題,教師應(yīng)將提高自主學(xué)習(xí)能力為目標(biāo),進(jìn)行課程設(shè)計(jì)創(chuàng)新。實(shí)踐證明,案例驅(qū)動(dòng)教學(xué)法可以彌補(bǔ)傳統(tǒng)教學(xué)法的不足,拓寬學(xué)生的思維,提高學(xué)生自主學(xué)習(xí)效率,達(dá)到數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)的教學(xué)目的。
關(guān)鍵詞:案例驅(qū)動(dòng);數(shù)據(jù)結(jié)構(gòu);課程設(shè)計(jì);教學(xué)改革
中圖分類號(hào):G642? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2021)26-0209-02
開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
案例驅(qū)動(dòng)的數(shù)據(jù)結(jié)構(gòu)實(shí)踐是至關(guān)重要的,只有有效實(shí)行該教學(xué)過(guò)程,才能夠提高學(xué)生的程序設(shè)計(jì)能力,使學(xué)生可以有效解決相關(guān)問(wèn)題,同時(shí)提高自身的實(shí)踐創(chuàng)新能力。案例驅(qū)動(dòng)的數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)教學(xué)改革在實(shí)際教學(xué)中收獲頗豐,是具有較高教學(xué)效率的教學(xué)改革。
1 課程設(shè)計(jì)的教學(xué)目標(biāo)及定位
課程設(shè)計(jì)相關(guān)的教育目標(biāo)是:(1)學(xué)生通過(guò)課程設(shè)計(jì)深刻理解教材中學(xué)習(xí)的基本知識(shí)和基本理論,并結(jié)合各種數(shù)據(jù)結(jié)構(gòu),計(jì)算機(jī)表現(xiàn)形式,基本任務(wù)和基本操作的特點(diǎn),進(jìn)行相對(duì)復(fù)雜的計(jì)算,提升算法分析和評(píng)估能力;(2)使學(xué)生具有分析抽象數(shù)據(jù)的能力,并從復(fù)雜的實(shí)際應(yīng)用問(wèn)題中提取正確的數(shù)學(xué)模型;(3)通過(guò)加強(qiáng)編碼方面的指導(dǎo),使學(xué)生可以提高他們的編程技能,正確編寫程序,并寫出高質(zhì)量的程序;(4)帶領(lǐng)學(xué)生在分析、設(shè)計(jì)、編碼、調(diào)試等模塊加強(qiáng)學(xué)習(xí),教育學(xué)生掌握軟件所需的實(shí)際技能以及分析和解決問(wèn)題的能力;(5)培養(yǎng)學(xué)生在需求分析、大綱設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼實(shí)現(xiàn)、測(cè)試維護(hù)等方面的能力,初步培訓(xùn)學(xué)生關(guān)于軟件工作標(biāo)準(zhǔn)和科學(xué)學(xué)習(xí)方式的能力;(6)培養(yǎng)學(xué)生團(tuán)隊(duì)合作精神和編寫規(guī)范性數(shù)據(jù)的能力。
2 傳統(tǒng)課程中發(fā)現(xiàn)的問(wèn)題
(1)缺乏操縱整體工作的能力。學(xué)生在電子計(jì)算機(jī)模型上的工作能力較差,對(duì)軟件開(kāi)發(fā)的知識(shí)欠缺,因此他們?nèi)狈Σ倏v整體工作的能力。通常,軟件開(kāi)發(fā)課程是在算法設(shè)計(jì)課程之后建立的。在學(xué)習(xí)設(shè)計(jì)方案的算法設(shè)計(jì)課程之前,大多數(shù)學(xué)生沒(méi)有分析和編寫大中型程序過(guò)程的經(jīng)歷。
(2)基本數(shù)據(jù)結(jié)構(gòu)被機(jī)械復(fù)制。數(shù)據(jù)結(jié)構(gòu)教科書都是最原始的數(shù)據(jù)結(jié)構(gòu)?;旧希瑳](méi)有擴(kuò)展和修改,直接在課程設(shè)計(jì)中使用它來(lái)解決實(shí)際問(wèn)題有所欠缺。
(3)存在復(fù)制他人的課程設(shè)計(jì)現(xiàn)象。由于完成課程設(shè)計(jì)所花費(fèi)的時(shí)間有限,因此一些學(xué)生尋求解決辦法,通過(guò)互聯(lián)網(wǎng)、書籍等解決無(wú)法自行完成的問(wèn)題,無(wú)疑是通過(guò)查找資料,汲取其他人的解決問(wèn)題思路來(lái)解決自己的課程設(shè)計(jì)問(wèn)題。
3 案例驅(qū)動(dòng)的數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)教學(xué)改革的特點(diǎn)
案例驅(qū)動(dòng)的數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)教學(xué)改革是將案例教育的概念引入算法設(shè)計(jì)學(xué)科設(shè)計(jì)文化教育。在對(duì)經(jīng)典案例的基本原理和處理過(guò)程介紹的基礎(chǔ)上,再加上多媒體系統(tǒng),使老師與學(xué)生進(jìn)行交流和互動(dòng),提高學(xué)生分析和處理抽象問(wèn)題的能力,塑造學(xué)生的設(shè)計(jì)計(jì)劃和自主創(chuàng)新的專業(yè)技能,并填補(bǔ)和改善當(dāng)前算法設(shè)計(jì)課程中缺乏實(shí)踐活動(dòng)的能力。該方法具有以下特點(diǎn):
(1)了解軟件開(kāi)發(fā)的概念。案例驅(qū)動(dòng)的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)是軟件開(kāi)發(fā)概念的實(shí)際過(guò)程,使學(xué)生在解釋的全過(guò)程中有效了解軟件開(kāi)發(fā)的全過(guò)程,掌握設(shè)計(jì)觀念。
(2)提高自主學(xué)習(xí)能力。教師對(duì)經(jīng)典案例包含的算法設(shè)計(jì)進(jìn)行詳細(xì)的分析。在應(yīng)用不同的算法來(lái)處理相同問(wèn)題時(shí)可能會(huì)導(dǎo)致特性和功能上出現(xiàn)差異,學(xué)生可以在與老師的交流討論中提高對(duì)各種數(shù)據(jù)結(jié)構(gòu)的理解,幫助學(xué)生設(shè)計(jì)出更適合解決課程設(shè)計(jì)問(wèn)題甚至多種解決方案的數(shù)據(jù)結(jié)構(gòu)。
(3)養(yǎng)成良好的編程習(xí)慣。教師在指導(dǎo)學(xué)生寫代碼的同時(shí),代碼案例應(yīng)該具有標(biāo)準(zhǔn)化的定義,清晰的過(guò)程,強(qiáng)大的可讀性和參考值,在此條件下鼓勵(lì)學(xué)生養(yǎng)成良好的編程習(xí)慣。老師根據(jù)多媒體方法展示編碼編譯程序和調(diào)試的全過(guò)程,使學(xué)生對(duì)編程的自然環(huán)境有更具體的了解,并能夠靈活地應(yīng)用諸如跟蹤和斷點(diǎn)之類的調(diào)試方法,開(kāi)發(fā)過(guò)程將更加有效。
4 典型數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)案例分析
“活期儲(chǔ)蓄賬戶管理”是一個(gè)典型的數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)主題。下面以描述過(guò)程為例,概述案例驅(qū)動(dòng)的數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)教學(xué)的過(guò)程。本次課程設(shè)計(jì)中需要實(shí)現(xiàn)的功能有:(1)使用交互式工作方法 ;(2)實(shí)現(xiàn)創(chuàng)建新用戶;(3)實(shí)現(xiàn)取消儲(chǔ)蓄賬戶;(4)存入銀行具體賬戶;(5)提款。在特定賬戶上實(shí)現(xiàn)的功能有:(1)排序并顯示所有賬戶信息;(2)查詢賬戶余額;(3)查詢交易記錄;(4)將所有賬戶和交易信息保存到文件中,程序運(yùn)行時(shí)從文件中讀入。在課程設(shè)計(jì)中研究的知識(shí)點(diǎn)包括:數(shù)據(jù)結(jié)構(gòu)的選擇和構(gòu)建,使用與特定數(shù)據(jù)結(jié)構(gòu)相對(duì)應(yīng)的算法來(lái)實(shí)現(xiàn)特定功能,將結(jié)構(gòu)化數(shù)據(jù)讀取和寫入文件以及靈活使用編程語(yǔ)言。
首先,務(wù)必對(duì)主題進(jìn)行粗略的分析,分析出主題包括兩個(gè)級(jí)別的信息。一方面,基本存款賬戶信息內(nèi)容可以設(shè)計(jì)為包括諸如賬號(hào)、名稱、賬戶余額等字段名稱。另一方面,交易明細(xì)信息內(nèi)容可以設(shè)計(jì)為包括諸如賬戶的字段名稱。數(shù)據(jù)結(jié)構(gòu)中有順序存儲(chǔ)結(jié)構(gòu)、鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)和樹(shù)形結(jié)構(gòu),每種類型的存儲(chǔ)結(jié)構(gòu)都有其優(yōu)缺點(diǎn)。順序存儲(chǔ)的總體設(shè)計(jì)較簡(jiǎn)單,插入和刪除賬戶必須移動(dòng)記錄,很難連續(xù)存儲(chǔ)單個(gè)賬戶的交易詳細(xì)信息。當(dāng)枚舉類型并從順序良好的序列表中查找記錄時(shí),可以應(yīng)用某些優(yōu)化算法(例如二分法)來(lái)提高事務(wù)管理記錄的效率。總體來(lái)說(shuō),順序存儲(chǔ)適用性和總體效率相對(duì)較低。鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)設(shè)計(jì)略復(fù)雜,容量不設(shè)上限,賬戶插入刪除較方便,鏈?zhǔn)浇Y(jié)構(gòu)中存儲(chǔ)的事務(wù)管理記錄是連續(xù)的,因此枚舉類型很方便,但是效率很低。查找記錄時(shí),它將解析所有鏈接列表。從此案例分析,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)適用性和總體高效率高于平均水平。樹(shù)形存儲(chǔ)結(jié)構(gòu)是最復(fù)雜的,并且沒(méi)有容量限制。插入和刪除優(yōu)化算法也相對(duì)復(fù)雜。獨(dú)特的樹(shù)結(jié)構(gòu)(二進(jìn)制排列樹(shù)等)的應(yīng)用可以提高檢索效率。實(shí)際上,數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)大多以樹(shù)形結(jié)構(gòu)實(shí)現(xiàn)。綜上分析可得出結(jié)論,在實(shí)現(xiàn)難度方面,順序存儲(chǔ)是最簡(jiǎn)單的,鏈?zhǔn)酱鎯?chǔ)居中,樹(shù)形存儲(chǔ)是最困難的。因此,一般情況下,可要求學(xué)生使用鏈?zhǔn)酱鎯?chǔ)來(lái)完成學(xué)習(xí),并且適當(dāng)鼓勵(lì)技能較強(qiáng)的學(xué)生使用樹(shù)形存儲(chǔ)來(lái)實(shí)現(xiàn)。