段群 田俊華 吳小娥
[摘要] 本文根據(jù)《數(shù)據(jù)結(jié)構(gòu)》課程的特點(diǎn),在該課程教學(xué)中引入案例教學(xué)法。詳細(xì)介紹了如何設(shè)計(jì)各種數(shù)據(jù)結(jié)構(gòu)的案例,案例教學(xué)的實(shí)施過(guò)程,以及在典型數(shù)據(jù)結(jié)構(gòu)圖中的應(yīng)用過(guò)程。經(jīng)教學(xué)實(shí)踐證明,在《數(shù)據(jù)結(jié)構(gòu)》課程中采用案例教學(xué)法,學(xué)生能更好地理解抽象的知識(shí),激發(fā)了學(xué)生的學(xué)習(xí)興趣,調(diào)動(dòng)了學(xué)生自主學(xué)習(xí)的能力,提高了該課程的教學(xué)質(zhì)量和學(xué)習(xí)效果。
[關(guān)鍵詞] 數(shù)據(jù)結(jié)構(gòu) 案例教學(xué)法 線性表 樹(shù) 圖
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:B
《數(shù)據(jù)結(jié)構(gòu)》課程是計(jì)算機(jī)類專業(yè)的一門(mén)必修的專業(yè)基礎(chǔ)課 [1]。該課程的原理和算法比較抽象,難以根據(jù)實(shí)際問(wèn)題自行設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)及其算法,因此,很多學(xué)生感覺(jué)學(xué)習(xí)難度大,對(duì)該門(mén)課程學(xué)習(xí)興趣不濃,學(xué)習(xí)效果差。針對(duì)上述問(wèn)題,在《數(shù)據(jù)結(jié)構(gòu)》課程教學(xué)過(guò)程中采用案例教學(xué)法。案例教學(xué)法是一種開(kāi)放式、互動(dòng)式的教學(xué)方式,需要教師根據(jù)理論教學(xué)內(nèi)容事先精心策劃和準(zhǔn)備案例,指導(dǎo)學(xué)生提前閱讀,并組織學(xué)生開(kāi)展討論案例,形成反復(fù)的互動(dòng)與交流。將知識(shí)融入案例之中,重視實(shí)踐,可以大大激發(fā)學(xué)生的學(xué)習(xí)興趣,培養(yǎng)學(xué)生分析問(wèn)題和解決問(wèn)題的能力,從而達(dá)到提高該課程的教學(xué)效果[2]。
案例的設(shè)計(jì)
在案例教學(xué)方法中,案例是教學(xué)的核心,教師應(yīng)該在備課時(shí)精心選擇案例。在選擇案例時(shí)需要注意以下幾個(gè)方面[3]:(1)要根據(jù)教學(xué)目標(biāo)選擇案例,選用難易適當(dāng)?shù)陌咐?,通過(guò)案例教學(xué),學(xué)生能夠較容易地理解和掌握數(shù)據(jù)結(jié)構(gòu)的基本理論和方法;(2)案例應(yīng)具有內(nèi)容的完整性、真實(shí)性和典型性特點(diǎn),與實(shí)際生活相聯(lián)系;(3)案例的選擇應(yīng)考慮到學(xué)生的專業(yè)特點(diǎn),選擇與學(xué)生專業(yè)相關(guān)的內(nèi)容,盡量貼近學(xué)生的興趣點(diǎn)。
本文作者使用耿國(guó)華的《數(shù)據(jù)結(jié)構(gòu)——C語(yǔ)言描述》[1]教材,根據(jù)書(shū)中章節(jié)安排設(shè)計(jì)案例如表 1。
表1 案例設(shè)計(jì)表
案例教學(xué)法在數(shù)據(jù)結(jié)構(gòu)中的應(yīng)用
1.案例教學(xué)法的實(shí)施過(guò)程。(1)分析案例。在開(kāi)始講解某種數(shù)據(jù)結(jié)構(gòu)時(shí),教師應(yīng)首先給出案例問(wèn)題及要求,然后引導(dǎo)學(xué)生首先分析出問(wèn)題中的數(shù)據(jù)結(jié)構(gòu),然后確定存儲(chǔ)結(jié)構(gòu),并說(shuō)明該類數(shù)據(jù)結(jié)構(gòu)的特征以及操作特點(diǎn)。(2) 討論案例。在案例教學(xué)中,學(xué)生在教師的指導(dǎo)下,對(duì)案例中的問(wèn)題進(jìn)行分組討論。教師要結(jié)合本節(jié)知識(shí),提出問(wèn)題啟發(fā)學(xué)生思考,并且要注意鼓勵(lì)學(xué)生積極參與討論,這樣有利于培養(yǎng)學(xué)生獨(dú)立思考的能力和積極探索的精神。(3)評(píng)價(jià)總結(jié)。教師一定要對(duì)學(xué)生分組討論的結(jié)果予以評(píng)價(jià)、總結(jié)。在評(píng)價(jià)時(shí),應(yīng)注意以正面鼓勵(lì)為主,以此增強(qiáng)學(xué)生的學(xué)習(xí)興趣。最后教師將案例的解決方案展示給學(xué)生,并進(jìn)一步讓學(xué)生課后思考:“自己的解決方法與案例中的解決方法,各有何長(zhǎng)處與不足?”
2.在“圖”結(jié)構(gòu)中的應(yīng)用。案例描述:實(shí)現(xiàn)高速公路查詢系統(tǒng)基本功能,任意城市之間都有可能通有高速公路,高速公路是雙向的。具體要求有:(1)設(shè)計(jì)某國(guó)各個(gè)城市,城市個(gè)數(shù)不超過(guò)200個(gè);(2)為用戶提供城市信息的查詢;(3)為用戶提供任意城市之間高速公路的查詢:兩個(gè)城市之間是否通有高速公路?如果有,有哪些通路?哪條公路是最節(jié)省時(shí)間的?(4)如果要走訪多個(gè)城市,如何設(shè)計(jì)路線最節(jié)省時(shí)間?
案例分析:(1)首先抽象出數(shù)據(jù)的邏輯結(jié)構(gòu)。根據(jù)問(wèn)題的描述,本案例中要處理的數(shù)據(jù)對(duì)象是城市及城市之間的高速公路。由于城市之間高速公路的任意性,也就是任意數(shù)據(jù)元素之間都可能有關(guān)系??梢鰯?shù)據(jù)結(jié)構(gòu)——圖。(2)確定數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)。如何存儲(chǔ)各城市及城市之間高速公路信息?可引出圖的存儲(chǔ)結(jié)構(gòu),有鄰接矩陣、鄰接表等。并給出各種存儲(chǔ)結(jié)構(gòu)在C語(yǔ)言中的類型定義。(3)算法設(shè)計(jì)。確定本案例存儲(chǔ)結(jié)構(gòu),如采用鄰接矩陣存儲(chǔ)。按照案例中要求完成的問(wèn)題(1)可引出創(chuàng)建圖的操作和問(wèn)題。(2)可因此掌握?qǐng)D的各種遍歷方法和問(wèn)題。(3)可引出求圖中任意結(jié)點(diǎn)之間路徑的問(wèn)題及最短路徑的問(wèn)題。(4)可引出求圖的最小生成樹(shù)的問(wèn)題。
總結(jié)與擴(kuò)展:由教師總結(jié)各組同學(xué)的討論結(jié)果。如題目中描述的圖是無(wú)向的帶權(quán)圖,即無(wú)向網(wǎng)??偨Y(jié)了無(wú)向網(wǎng)的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)及操作的實(shí)現(xiàn)后,教師可再擴(kuò)展出其他形式的圖,如有向網(wǎng),可假定高速公路是有方向的,便可引出對(duì)有向網(wǎng)的操作,如求有向網(wǎng)的關(guān)鍵路徑問(wèn)題。
總 結(jié)
在案例和問(wèn)題的驅(qū)動(dòng)下,教師的引導(dǎo)下,學(xué)生主動(dòng)去分析問(wèn)題和解決問(wèn)題,就產(chǎn)生了學(xué)習(xí)該課程的興趣,很自然地就掌握了該課程的內(nèi)容。經(jīng)課堂實(shí)踐證明,在數(shù)據(jù)結(jié)構(gòu)課程中引入案例教學(xué)法可以提高該課程的學(xué)習(xí)質(zhì)量,增強(qiáng)學(xué)生學(xué)習(xí)興趣。案例教學(xué)法也可以引入到計(jì)算機(jī)類其他軟件類的課程中。
參考文獻(xiàn):
[1]耿國(guó)華.?dāng)?shù)據(jù)結(jié)構(gòu)-C語(yǔ)言描述[M].北京:高等教育出版社,2010,5.
[2]宗瑜.案例教學(xué)法與《數(shù)據(jù)結(jié)構(gòu)》教學(xué)改革[J].皖西學(xué)院學(xué)報(bào),2009,25(2):30-31.
[3]劉婭,孫錦霞.《數(shù)據(jù)結(jié)構(gòu)》案例教學(xué)的探討[J].電腦編程技巧與維護(hù),2009(10):128-130.
作者單位:段群 田俊華 咸陽(yáng)師范學(xué)院信息工程學(xué)院陜西咸陽(yáng)
吳小娥寶雞文理學(xué)院計(jì)算機(jī)科學(xué)系陜西寶雞