張?jiān)∪A
(寶雞文理學(xué)院計(jì)算機(jī)學(xué)院,陜西 寶雞721007)
《數(shù)據(jù)結(jié)構(gòu)》是計(jì)算機(jī)及其相關(guān)專業(yè)的一門專業(yè)基礎(chǔ)課,課程的內(nèi)容主要系統(tǒng)介紹了軟件設(shè)計(jì)中常用數(shù)據(jù)結(jié)構(gòu)以及相應(yīng)的存儲(chǔ)結(jié)構(gòu)和算法,同時(shí)介紹了常用的查找和排序技術(shù),并對(duì)各種結(jié)構(gòu)與技術(shù)進(jìn)行分析和比較。該課程是程序設(shè)計(jì)的后繼課程,是學(xué)生學(xué)習(xí)操作系統(tǒng)、數(shù)據(jù)庫原理、編譯原理等專業(yè)課程的前驅(qū)課程,該課程在培養(yǎng)學(xué)生的計(jì)算思維、算法分析與設(shè)計(jì)、系統(tǒng)分析與設(shè)計(jì)、軟件設(shè)計(jì)與實(shí)現(xiàn)等基本能力方面起著非常重要的作用[1]。作為計(jì)算機(jī)科學(xué)與技術(shù)、軟件工程、物聯(lián)網(wǎng)工程等專業(yè)的核心課程,數(shù)據(jù)結(jié)構(gòu)課程的教學(xué)改革對(duì)基于應(yīng)用型人才培養(yǎng)目標(biāo)的實(shí)現(xiàn)起著舉足輕重的作用。
應(yīng)用型人才培養(yǎng)的關(guān)鍵是明確用人單位的需求,針對(duì)需求進(jìn)行教育教學(xué)調(diào)整,做到教育教學(xué)質(zhì)量的真正提高。寶雞文理學(xué)院計(jì)算機(jī)學(xué)院軟件工程專業(yè)于2013年11月30日對(duì)參加2014屆畢業(yè)生就業(yè)洽談會(huì)的220余家企事業(yè)單位進(jìn)行了問卷調(diào)查。調(diào)查過程中,共發(fā)放220份問卷,收回193份有效問卷,占87.73%。分別從用人單位的人才需求狀況、用人市場(chǎng)對(duì)計(jì)算機(jī)類專業(yè)畢業(yè)生的評(píng)價(jià)等多方面進(jìn)行調(diào)查,圖1為用人單位對(duì)專業(yè)知識(shí)和專業(yè)技能的關(guān)注度的投票比例統(tǒng)計(jì)圖。
圖1 用人單位對(duì)專業(yè)知識(shí)和專業(yè)技能的關(guān)注度
從圖1可以看出,收到的193份有效問卷中,有145家單位(占75.13%)都很看重學(xué)生的專業(yè)應(yīng)用技能,希望學(xué)生到單位后迅速適應(yīng)工作環(huán)境,能夠具備獨(dú)自分析問題、解決問題的能力;有108家單位(占55.96%)注重學(xué)生的專業(yè)基礎(chǔ)知識(shí),希望學(xué)生在單位能夠有巨大的專業(yè)發(fā)展?jié)摿?。圖2為調(diào)查問卷中關(guān)于單位所需人才類型的統(tǒng)計(jì)。
分別從問卷和圖2中可以得出,193家單位中:有21家(占10.88%)需要學(xué)術(shù)型人才,有166家(占86.01%)需要應(yīng)用型人才,有6家(占3.11%)需要綜合型、創(chuàng)新型等其他人才。總體看來,人才市場(chǎng)對(duì)應(yīng)用型人才的需要還是占絕大部分的。
長(zhǎng)期以來,受到傳統(tǒng)課程教學(xué)模式的影響,數(shù)據(jù)結(jié)構(gòu)課程從課時(shí)的分配、教材的選擇以及教學(xué)內(nèi)容的設(shè)計(jì)等方面,基本都在沿用研究型的課程體系。所有的研究型課程都比較注重教學(xué)內(nèi)容的系統(tǒng)性和理論性,該教學(xué)方式并不完全適用于強(qiáng)調(diào)實(shí)踐能力的應(yīng)用型專業(yè)。經(jīng)過長(zhǎng)期以來、多方面的教學(xué)一線的調(diào)研和統(tǒng)計(jì),結(jié)合目前各高校提出的應(yīng)用型人才培養(yǎng)方案,發(fā)現(xiàn)數(shù)據(jù)結(jié)構(gòu)教學(xué)主要存在以下問題。
圖2 用人單位所需人才類型
數(shù)據(jù)結(jié)構(gòu)課程作為一門專業(yè)基礎(chǔ)課,是計(jì)算機(jī)硬件、軟件技術(shù)和數(shù)學(xué)緊密結(jié)合的交叉科學(xué),涉及的概念既有計(jì)算機(jī)軟硬件技術(shù)方面又有數(shù)學(xué)方面的;課程中,強(qiáng)調(diào)問題的分析和抽象表達(dá),分析現(xiàn)實(shí)問題的抽象數(shù)據(jù)類型,再選擇恰當(dāng)存儲(chǔ)結(jié)構(gòu),設(shè)計(jì)基本操作的算法,然后在計(jì)算機(jī)上解決問題,該課程要求理論與實(shí)踐相結(jié)合。但是學(xué)生由于缺乏實(shí)際應(yīng)用經(jīng)驗(yàn),很難將棧、隊(duì)列、樹、圖等抽象概念應(yīng)用于具體問題的解決,使得理論和實(shí)際問題相互脫節(jié)導(dǎo)致學(xué)生學(xué)習(xí)難度大。
數(shù)據(jù)結(jié)構(gòu)課程內(nèi)容主要包括線性表、棧和隊(duì)列、串、數(shù)組和廣義表、樹、圖等基本數(shù)據(jù)結(jié)構(gòu)部分和排序、查找等基本技術(shù)部分,每種數(shù)據(jù)結(jié)構(gòu)部分又包括順序存儲(chǔ)和鏈?zhǔn)酱鎯?chǔ),基于不同的存儲(chǔ)又研究各算法的設(shè)計(jì)并進(jìn)行算法的分析。為了完成教學(xué)任務(wù),在教學(xué)過程中,教師需要花費(fèi)大量時(shí)間在理論知識(shí)講授上,不得不減少了實(shí)驗(yàn)教學(xué)課時(shí),課時(shí)安排中,數(shù)據(jù)結(jié)構(gòu)課程一般是64學(xué)時(shí)(理論)+16學(xué)時(shí)(實(shí)踐),直接影響到學(xué)生動(dòng)手能力的培養(yǎng),學(xué)生對(duì)課堂上講授的知識(shí)點(diǎn)難以消化,導(dǎo)致教學(xué)進(jìn)度的緩慢,形成惡性循環(huán)。
數(shù)據(jù)結(jié)構(gòu)這門課程學(xué)習(xí)過程中,很重要的一點(diǎn)就是需要學(xué)生主動(dòng)學(xué)習(xí)理解,對(duì)課程產(chǎn)生興趣,結(jié)合實(shí)際靈活應(yīng)用算法。但是長(zhǎng)久以來的教學(xué)模式和學(xué)習(xí)方式導(dǎo)致學(xué)習(xí)過程中學(xué)生缺乏舉一反三的能力和獨(dú)立思考的主動(dòng)性。學(xué)生對(duì)很多問題一知半解,不能深入的分析和理解,容易對(duì)課程的學(xué)習(xí)失去興趣。
上機(jī)實(shí)踐時(shí),學(xué)生往往按照課本上的偽代碼實(shí)現(xiàn)程序,或者直接錄入源代碼,僅僅完成著翻譯和抄寫的工作。最終導(dǎo)致需要用數(shù)據(jù)結(jié)構(gòu)的原理解決實(shí)際問題時(shí),學(xué)生往往無從下手,對(duì)算法設(shè)計(jì)更有畏難情緒,甚至不知所措,上機(jī)調(diào)試程序更加困難。
所謂應(yīng)用型教學(xué)方法,應(yīng)該是以實(shí)際的項(xiàng)目應(yīng)用為驅(qū)動(dòng),以解決實(shí)際應(yīng)用問題為目標(biāo),通過應(yīng)用來學(xué),在學(xué)中應(yīng)用,從而培養(yǎng)不但據(jù)有扎實(shí)的課程理論知識(shí),更能夠靈活應(yīng)用的技術(shù)人才。筆者基于多年的數(shù)據(jù)結(jié)構(gòu)課程教學(xué)經(jīng)驗(yàn)和研究,綜合考慮數(shù)據(jù)結(jié)構(gòu)課程教學(xué)現(xiàn)狀及計(jì)算機(jī)應(yīng)用型人才培養(yǎng)的迫切性,提出了如下的教學(xué)改革方案。
數(shù)據(jù)結(jié)構(gòu)課程是以ADT(抽象數(shù)據(jù)類型)為基礎(chǔ)的課程體系,教學(xué)過程中,應(yīng)該以應(yīng)用需求為導(dǎo)向,兼顧基礎(chǔ)理論、抽象概念和應(yīng)用設(shè)計(jì)各環(huán)節(jié),強(qiáng)調(diào)數(shù)據(jù)元素的邏輯結(jié)構(gòu)——存儲(chǔ)結(jié)構(gòu)——基本操作之間的有機(jī)聯(lián)系。
針對(duì)知識(shí)抽象復(fù)雜、教學(xué)內(nèi)容多的實(shí)際,要做到根據(jù)學(xué)生實(shí)際專業(yè)水平有效把握課程的基本原理和關(guān)鍵算法,針對(duì)于每個(gè)章節(jié)提煉出知識(shí)框架,并能夠設(shè)計(jì)出運(yùn)用重要知識(shí)點(diǎn)的、與生活聯(lián)系密切的應(yīng)用實(shí)例。如表1所示,例舉了線性表和圖的知識(shí)結(jié)構(gòu)。
表1 知識(shí)結(jié)構(gòu)整理舉例
學(xué)生通過知識(shí)點(diǎn)的梳理,增強(qiáng)了對(duì)理論知識(shí)點(diǎn)的理解;通過實(shí)例的引入,提高了他們分析問題、解決問題的能力,他們尤其享受到學(xué)以致用的成就感,大大增加了學(xué)習(xí)興趣。
3.2.1 注意多媒體技術(shù)和黑板板書的合理結(jié)合
多媒體教學(xué)信息量大、表現(xiàn)直觀,將一些概念、定義和程序動(dòng)態(tài)效果借助于多媒體演示,這樣既可以節(jié)省時(shí)間,又可以讓學(xué)生更加直觀的看到程序執(zhí)行過程和結(jié)果;有些原理、算法則需要學(xué)生跟隨教師一步步的思考、推導(dǎo)及互動(dòng),這時(shí)候選用黑板則效果更佳。
并且可安排適當(dāng)課時(shí),在課堂上借助于黑板進(jìn)行算法設(shè)計(jì),借助于多媒體完成調(diào)試程序,通過一個(gè)完整的過程讓學(xué)生了解如何應(yīng)用知識(shí)點(diǎn)?怎樣分析功能?如何發(fā)現(xiàn)問題?怎樣掌握調(diào)試方法?不但能夠加深知識(shí)點(diǎn)的理解,也可以避免剛開始獨(dú)立編程時(shí)學(xué)生無所適從的困境。
3.2.2 采用分組學(xué)習(xí)的形式
學(xué)生學(xué)習(xí)該課程時(shí)普遍暴露出不愛動(dòng)手實(shí)踐、不愿深入思考的問題,為了強(qiáng)化學(xué)生的主體地位,采用分組學(xué)習(xí)形式來促進(jìn)學(xué)生的思考、交流??梢赃x擇一些有針對(duì)性的應(yīng)用課題,或者是教師的科研項(xiàng)目,或者參與程序設(shè)計(jì)大賽等,確保每位同學(xué)參與的興趣點(diǎn),要求他們互相學(xué)習(xí)、共同討論。
教師對(duì)學(xué)生學(xué)習(xí)狀況的及時(shí)反饋和積極指導(dǎo)是激發(fā)他們自主學(xué)習(xí)的動(dòng)力。教師可以通過課程網(wǎng)站、Email、電話等各種方式加強(qiáng)和學(xué)習(xí)小組的交流,針對(duì)算法靈活多變的特點(diǎn),盡可能肯定學(xué)生的設(shè)計(jì),發(fā)現(xiàn)其閃光之處,給出中肯的意見和建議,保護(hù)學(xué)生的積極性和原創(chuàng)性。
3.2.3 注重報(bào)告講座的激勵(lì)作用
現(xiàn)實(shí)中,“功利性”存在部分學(xué)生的學(xué)習(xí)中是不可避免的。他們認(rèn)為一些編程工具有用,很感興趣,專業(yè)基礎(chǔ)課看不到其直觀作用,不能引起學(xué)生的興趣。針對(duì)這種普遍現(xiàn)象,每屆學(xué)生開課初,教師可以邀請(qǐng)著名企業(yè)的資深工程師為學(xué)生們作報(bào)告,分析數(shù)據(jù)結(jié)構(gòu)的應(yīng)用領(lǐng)域,探討該課程在實(shí)際工作中的作用,強(qiáng)化數(shù)據(jù)結(jié)構(gòu)課程的學(xué)習(xí)在就業(yè)及個(gè)人發(fā)展中的重要作用。
實(shí)踐是應(yīng)用型人才培養(yǎng)的一個(gè)重要環(huán)節(jié)。針對(duì)“由易到難”、“由簡(jiǎn)入深”的學(xué)習(xí)規(guī)律,結(jié)合教學(xué)目標(biāo),依據(jù)教學(xué)內(nèi)容,設(shè)置實(shí)驗(yàn)項(xiàng)目。將實(shí)驗(yàn)項(xiàng)目設(shè)置為驗(yàn)證性、綜合性、設(shè)計(jì)性、創(chuàng)新性等四大實(shí)驗(yàn)類型,構(gòu)建層層遞進(jìn)的實(shí)驗(yàn)教學(xué)體系,如圖3所示。
圖3 數(shù)據(jù)結(jié)構(gòu)實(shí)踐教學(xué)體系
驗(yàn)證性實(shí)驗(yàn)主要是掌握基本的實(shí)踐技能,加深學(xué)生對(duì)知識(shí)點(diǎn)的理解;通過綜合性實(shí)驗(yàn),培養(yǎng)學(xué)生獲取知識(shí)的能力,結(jié)合數(shù)據(jù)結(jié)構(gòu)課程中的多個(gè)知識(shí)點(diǎn),將課程思想應(yīng)用到系統(tǒng)開發(fā)中;設(shè)計(jì)性實(shí)驗(yàn)主要是培養(yǎng)學(xué)生利用知識(shí)的能力,利用課程理論知識(shí)點(diǎn)去解決特定應(yīng)用問題,在學(xué)期末的課程設(shè)計(jì)中,由學(xué)生自主選擇教師提供的題目,自己定義數(shù)據(jù)結(jié)構(gòu)、進(jìn)行算法分析和算法設(shè)計(jì),最終提交能解決實(shí)際問題的程序;創(chuàng)新性實(shí)驗(yàn)主要是培養(yǎng)學(xué)生創(chuàng)新能力,如何由舊知識(shí)建構(gòu)新知識(shí)?可以引導(dǎo)學(xué)生參加開放實(shí)驗(yàn)課程和校企合作項(xiàng)目。
考試作為檢驗(yàn)學(xué)習(xí)成果的重要手段,《數(shù)據(jù)結(jié)構(gòu)》課程的考試長(zhǎng)期以來以閉卷筆試為主。 但是作為一門實(shí)踐性很強(qiáng)的課程,基于應(yīng)用型人才培養(yǎng)的目標(biāo),最終應(yīng)該是通過數(shù)據(jù)結(jié)構(gòu)解決實(shí)際問題,我們做了以下改革嘗試:
一方面,增加階段性考核。通過增加階段性考核來分散期末考試的壓力保證課程每個(gè)階段的教學(xué)都能達(dá)到良好效果,避免平時(shí)松散、靠前突擊的學(xué)習(xí)方式,進(jìn)一步加強(qiáng)學(xué)習(xí)過程的管理,促進(jìn)學(xué)生學(xué)習(xí)的自主性。
另一方面,拓寬平時(shí)成績(jī)?cè)u(píng)分依據(jù)。 平時(shí)成績(jī)除過考勤、作業(yè)、小組內(nèi)部考核之外,還可以參考多方面,包括參加教師科研項(xiàng)目、開放實(shí)驗(yàn)室、校企合作項(xiàng)目等的項(xiàng)目導(dǎo)師評(píng)價(jià);參與學(xué)科競(jìng)賽、與數(shù)據(jù)結(jié)構(gòu)和算法相關(guān)的各類競(jìng)賽獲獎(jiǎng)情況。
總之,一定要改正僅靠一張?jiān)嚲淼脑u(píng)價(jià)模式,在考核中加大實(shí)際應(yīng)用能力所占的比重。
計(jì)算機(jī)專業(yè)是IT行業(yè)重要組成部分,變化快、應(yīng)用性強(qiáng)、發(fā)展迅速。如何做到學(xué)以致用,使學(xué)生能夠較好適應(yīng)市場(chǎng)的需求,培養(yǎng)出高質(zhì)量的應(yīng)用型人才,是目前高等院校面臨的重要問題。作為專業(yè)基礎(chǔ)課,數(shù)據(jù)結(jié)構(gòu)課程教學(xué)需要不斷改革,從而適應(yīng)信息時(shí)代的發(fā)展。實(shí)際上,數(shù)據(jù)結(jié)構(gòu)課程教學(xué)改革的成功經(jīng)驗(yàn),同樣適用于其相關(guān)課程,這對(duì)于應(yīng)用型人才培養(yǎng)方案的實(shí)施具有非常重要的現(xiàn)實(shí)意義。
[1]耿國華.數(shù)據(jù)結(jié)構(gòu)——用C語言描述[M].北京:高等教育出版社,2011.
[2]陳曉霞.數(shù)據(jù)結(jié)構(gòu)教學(xué)中的案例巧用[J].計(jì)算機(jī)教育,2010(24):61-62.
[3]孫惠杰,王明華.計(jì)算機(jī)應(yīng)用型人才培養(yǎng)研究[J].計(jì)算機(jī)教育,2011(13):28-31.