魏 蕾,馮 妍,胡紅梅
(1.西北農(nóng)林科技大學(xué)信息工程學(xué)院;2.陜西南鄭陽(yáng)春鎮(zhèn)中心小學(xué))
數(shù)據(jù)結(jié)構(gòu)課程是計(jì)算機(jī)、軟件專業(yè)的核心課程之一,也是非常重要的專業(yè)基礎(chǔ)課。通過(guò)該課程的學(xué)習(xí),要求學(xué)生在實(shí)際應(yīng)用中能正確選擇合理的數(shù)據(jù)結(jié)構(gòu),并在此基礎(chǔ)上設(shè)計(jì)高效算法并進(jìn)行算法分析。
目前,數(shù)據(jù)結(jié)構(gòu)已經(jīng)是各大院校計(jì)算機(jī)相關(guān)專業(yè)的主干課程之一,大多在低年級(jí)開(kāi)設(shè)。在實(shí)際教學(xué)中,學(xué)生普遍存在對(duì)這門(mén)課程的畏懼情緒,考試成績(jī)不理想。原因有四:
授課教材采用清華大學(xué)嚴(yán)蔚敏《數(shù)據(jù)結(jié)構(gòu)》C 語(yǔ)言版,涉及的內(nèi)容有集合、線性、樹(shù)形及圖狀結(jié)構(gòu)等四種典型數(shù)據(jù)結(jié)構(gòu)及查找與排序算法。典型數(shù)據(jù)結(jié)構(gòu)部分,研究數(shù)據(jù)的邏輯關(guān)系、存儲(chǔ)結(jié)構(gòu)及其操作算法。算法部分則是經(jīng)典算法的講解和分析比較,知識(shí)點(diǎn)較多。
教學(xué)中的任何一個(gè)理論和概念,都是前人悉心鉆研出的成果,經(jīng)過(guò)多年的積淀,精簡(jiǎn)概括。短時(shí)間內(nèi)要求學(xué)生領(lǐng)悟、理解并應(yīng)用,存在相當(dāng)大的難度。
該課程普遍在學(xué)生學(xué)習(xí)C/C++程序設(shè)計(jì)課程后開(kāi)設(shè),而低年級(jí)的學(xué)生對(duì)計(jì)算機(jī)理論理解不足,其自主編程、運(yùn)行及調(diào)試程序的能力不強(qiáng),很難直接上手去編寫(xiě)其中的復(fù)雜算法。
數(shù)據(jù)結(jié)構(gòu)教學(xué)的側(cè)重點(diǎn)在于培養(yǎng)高效程序設(shè)計(jì)的思維模式,致力于改進(jìn)算法的性能,提高算法效率。對(duì)于學(xué)生而言,大多不求甚解,程序只要有結(jié)果就可以了。因此,學(xué)生對(duì)數(shù)據(jù)結(jié)構(gòu)的通用描述不理解,只知道照搬教材或教師的演示去做,不會(huì)變通。
《數(shù)據(jù)結(jié)構(gòu)》教學(xué)中的問(wèn)題,已經(jīng)引起計(jì)算機(jī)教學(xué)領(lǐng)域的廣泛關(guān)注。解決目前的教學(xué)困境,需要在調(diào)整教學(xué)內(nèi)容的同時(shí),注重教學(xué)方法的改進(jìn)。
例如,從邏輯關(guān)系來(lái)看,線性、樹(shù)型、圖狀結(jié)構(gòu)雖各有應(yīng)用領(lǐng)域,相互之間是有明確的規(guī)律可循的。線性結(jié)構(gòu)元素直接存在一對(duì)一的關(guān)系為樹(shù)型結(jié)構(gòu)的特例;樹(shù)型結(jié)構(gòu)元素之間存在一對(duì)多的關(guān)系為圖狀結(jié)構(gòu)的特例。課堂教學(xué)按照從簡(jiǎn)單到復(fù)雜、從具體到概括的人們認(rèn)識(shí)客觀規(guī)律的路線來(lái)展開(kāi)。在講授中,應(yīng)該理清脈絡(luò),啟發(fā)學(xué)習(xí)與思考。
數(shù)據(jù)結(jié)構(gòu)與算法有密不可分的聯(lián)系,但并非算法課,教學(xué)的關(guān)注點(diǎn)應(yīng)在典型數(shù)據(jù)結(jié)構(gòu)及應(yīng)用及算法效率的分析與衡量。此時(shí),研究的算法,是狹義領(lǐng)域內(nèi)具體問(wèn)題求解,設(shè)定的特定應(yīng)用問(wèn)題所涉及的算法。在教學(xué)中,合理把握好尺度,理解算法是一個(gè)方面,更核心的是選擇并應(yīng)用數(shù)據(jù)結(jié)構(gòu)和算法去解決實(shí)際問(wèn)題。
運(yùn)用信息化手段,通過(guò)網(wǎng)絡(luò)平臺(tái),輔以圖形、動(dòng)畫(huà)等多媒體,把抽象的概念形象化,再與學(xué)生熟悉的實(shí)例去類比,增強(qiáng)學(xué)生的學(xué)習(xí)興趣和學(xué)習(xí)的自信心。教學(xué)中,要充分利用課堂時(shí)間,精講多練。可以有針對(duì)性地布置一些思考題和練習(xí)題,并且檢查與考核學(xué)生的完成情況。
實(shí)驗(yàn)題目的設(shè)置,采用分級(jí)別管理:基本數(shù)據(jù)結(jié)構(gòu)的典型算法題目、綜合應(yīng)用算法題目、考研題目。實(shí)驗(yàn)運(yùn)用在線評(píng)閱系統(tǒng)(OJ),實(shí)現(xiàn)教師設(shè)定題目難易程度,設(shè)計(jì)測(cè)試用例;學(xué)生通過(guò)瀏覽器登錄,在本機(jī)編輯、編譯、運(yùn)行程序,提交至OJ 系統(tǒng),實(shí)現(xiàn)自動(dòng)評(píng)閱,根據(jù)輸出比對(duì),自動(dòng)給出評(píng)判結(jié)果。
在學(xué)生對(duì)所有基本數(shù)據(jù)結(jié)構(gòu)的內(nèi)容有了初步認(rèn)識(shí)后,選取難度高、應(yīng)用強(qiáng)、適用廣的題目,采用分組的形式,以任務(wù)驅(qū)動(dòng)的方法,融合企業(yè)軟件開(kāi)發(fā)管理的模式,開(kāi)展數(shù)據(jù)結(jié)構(gòu)綜合實(shí)訓(xùn)。學(xué)生對(duì)開(kāi)發(fā)充滿熱情,積極搜索資料,自主學(xué)習(xí),從而增強(qiáng)團(tuán)隊(duì)合作精神,綜合實(shí)驗(yàn)的能力也就會(huì)得到大幅提高。
幾年的教學(xué)實(shí)踐與探索證明,數(shù)據(jù)結(jié)構(gòu)課程教學(xué)改革的應(yīng)用,在實(shí)踐過(guò)程中取得了較好的效果??鬃诱f(shuō):“不憤不啟,不悱不發(fā)?!弊鳛榻處煟枰粩喔倪M(jìn)教學(xué)方法,探索教學(xué)思路,以提高教學(xué)質(zhì)量和教學(xué)效果,從而培養(yǎng)學(xué)生獨(dú)立分析與解決問(wèn)題的能力,并促進(jìn)學(xué)生自主學(xué)習(xí),積極創(chuàng)新,為走向社會(huì)打下良好的基礎(chǔ)。
[1]嚴(yán)蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)(C 語(yǔ)言版)[M].北京:清華大學(xué)出版社,2011.
[2]趙耀紅,孫宇.數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)教學(xué)的實(shí)踐與探索[J].長(zhǎng)春大學(xué)學(xué)報(bào),2012(04):413-415.
[3]徐慧,周建美,顧欣.強(qiáng)化課堂編程思維契合教學(xué)實(shí)踐目標(biāo):《數(shù)據(jù)結(jié)構(gòu)》教學(xué)方法探析[J].高教論壇,2013(01):24-28.