段明秀 王從銀 周鐵 彭勝
摘要:《數(shù)據(jù)結(jié)構(gòu)》是計(jì)算機(jī)科學(xué)、通信工程等專業(yè)的基礎(chǔ)課,對(duì)培養(yǎng)學(xué)生的理論聯(lián)系實(shí)際能力及創(chuàng)新能力起著關(guān)鍵作用。課程學(xué)習(xí)難度大,內(nèi)容枯燥,學(xué)生缺乏學(xué)習(xí)興趣。實(shí)驗(yàn)教學(xué)是提高教學(xué)效果的重要手段。針對(duì)實(shí)驗(yàn)教學(xué)中存在的問題,對(duì)實(shí)驗(yàn)教學(xué)進(jìn)行一系列的改革,以幫助全面提升課程教學(xué)效率及質(zhì)量,促使學(xué)生成為社會(huì)發(fā)展所需的復(fù)合應(yīng)用型人才。
關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu);算法;教學(xué)內(nèi)容;教學(xué)方法;實(shí)踐教學(xué)
中圖分類號(hào):G64 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)18-0129-02
《數(shù)據(jù)結(jié)構(gòu)》是計(jì)算機(jī)科學(xué)、通信工程等專業(yè)的基礎(chǔ)課,是介于數(shù)學(xué)、計(jì)算機(jī)硬件和計(jì)算機(jī)軟件之間的核心課程.主要研究非數(shù)值計(jì)算問題,是解決實(shí)際問題的重要橋梁,也是設(shè)計(jì)和實(shí)現(xiàn)編譯程序、操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)及其它系統(tǒng)程序和大型應(yīng)用程序的重要基礎(chǔ)。但由于課程的高度抽象性,以及它需要程序設(shè)計(jì)語言作為基礎(chǔ),教材僅有偽代碼而沒有完整代碼使得學(xué)生對(duì)課程的知識(shí)難以理解,算法思想難以吃透。實(shí)驗(yàn)教學(xué)通過將偽代碼“翻譯”成程序,不僅能夠提高學(xué)生的計(jì)算思維能力,在翻譯的過程中加強(qiáng)了對(duì)算法思想的理解。實(shí)驗(yàn)教學(xué)有效提高了學(xué)習(xí)的效果從而激發(fā)學(xué)習(xí)興趣。但目前傳統(tǒng)的實(shí)驗(yàn)教學(xué)尚存在以下問題:
1數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)教學(xué)存在的問題
1.1內(nèi)容難度大且抽象
數(shù)據(jù)結(jié)構(gòu)教學(xué)內(nèi)容多,主要包括線性表,堆棧和隊(duì)列,串,樹,圖,查找,排序等章節(jié),特別是圖,查找,排序章節(jié),不僅數(shù)據(jù)結(jié)構(gòu)復(fù)雜,算法設(shè)計(jì)內(nèi)容較多且難度大。每個(gè)章節(jié)都使用抽象數(shù)據(jù)類型,學(xué)生難以理解。
1.2學(xué)生編程基礎(chǔ)參差不齊
數(shù)據(jù)結(jié)構(gòu)需要程序設(shè)計(jì)語言做基礎(chǔ),學(xué)生由于學(xué)習(xí)興趣,理解力等差異導(dǎo)致編程基礎(chǔ)不同。而且由于數(shù)據(jù)結(jié)構(gòu)采用偽碼描述算法,部分編程基礎(chǔ)差的學(xué)生難以將偽碼翻譯成程序,不僅翻譯的程序有很多語法錯(cuò)誤,需要很多時(shí)間去解決,而且有時(shí)需要學(xué)生掌握調(diào)試技巧,理解算法思想,才能在實(shí)驗(yàn)教學(xué)時(shí)間內(nèi)完成教學(xué)任務(wù),由此導(dǎo)致較多學(xué)生對(duì)課程的實(shí)驗(yàn)教學(xué)失去興趣。
1.3實(shí)驗(yàn)內(nèi)容缺乏創(chuàng)新
由于學(xué)生編程基礎(chǔ)參差不齊,實(shí)驗(yàn)內(nèi)容大多只能選自教材的算法,傳統(tǒng)的數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)教學(xué)大部分采用的是驗(yàn)證型實(shí)驗(yàn),即將算法的偽代碼翻譯成程序。驗(yàn)證型實(shí)驗(yàn)不同實(shí)驗(yàn)內(nèi)容互不相關(guān)、相互脫節(jié),缺乏系統(tǒng)性和延續(xù)性,當(dāng)遇到類似的、需要知識(shí)綜合的問題時(shí),學(xué)生缺乏從全局的角度分析和解決問題的能力,這不利于學(xué)生知識(shí)應(yīng)用能力的培養(yǎng)。
2實(shí)驗(yàn)教學(xué)改革措施
2.1實(shí)行分層教學(xué),提供個(gè)性化服務(wù)
針對(duì)學(xué)生編程基礎(chǔ),將學(xué)生分成3個(gè)層次,即基礎(chǔ)扎實(shí),學(xué)習(xí)主動(dòng)性強(qiáng)且學(xué)習(xí)能力強(qiáng)的;基礎(chǔ)一般但好學(xué)的;基礎(chǔ)差且自律性差的。每堂實(shí)驗(yàn)課針對(duì)三種層次的學(xué)生布置相應(yīng)的實(shí)驗(yàn)教學(xué)內(nèi)容。并且對(duì)層次提高的學(xué)生實(shí)行一定的獎(jiǎng)勵(lì),激勵(lì)學(xué)生上進(jìn)。
2.2實(shí)驗(yàn)內(nèi)容豐富化
針對(duì)學(xué)生實(shí)行分層教學(xué),必然要對(duì)實(shí)驗(yàn)內(nèi)容進(jìn)行設(shè)計(jì)。借助pta平臺(tái),建立吉首大學(xué)數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)教學(xué)題庫。根據(jù)題目難度將題庫分成3類:低、中、高難度,每類題庫題量充足,以方便實(shí)驗(yàn)課時(shí)隨機(jī)抽取題目,防止抄襲,可以有效避免學(xué)生偷懶。借助pta平臺(tái),不僅可以實(shí)現(xiàn)對(duì)學(xué)生的個(gè)性化服務(wù),而且通過自動(dòng)提交代碼,pta平臺(tái)自動(dòng)判題,解決了學(xué)生對(duì)題目的解題方法的正確性驗(yàn)證,即節(jié)省學(xué)生的時(shí)間,也方便教師及時(shí)查看學(xué)生的學(xué)習(xí)效果?;A(chǔ)較差的學(xué)生基本采用驗(yàn)證型實(shí)驗(yàn),題目從題庫中選用低級(jí)難度題目。對(duì)這部分學(xué)生,先提供算法的一部分詳細(xì)案例代碼,學(xué)生可以先從讀懂代碼來體會(huì)數(shù)據(jù)結(jié)構(gòu)的精髓,加深對(duì)基礎(chǔ)知識(shí)的理解,然后將沒實(shí)現(xiàn)的部分依葫蘆畫瓢獨(dú)立完成(完成函數(shù)設(shè)計(jì))。對(duì)中間層次的學(xué)生主要采用設(shè)計(jì)型實(shí)驗(yàn),給定實(shí)驗(yàn)?zāi)康囊蠛蛯?shí)驗(yàn)條件,由學(xué)生自行設(shè)計(jì)實(shí)驗(yàn)方案并加以實(shí)現(xiàn),題目從題庫中選用中級(jí)難度題目。中間層次的學(xué)生占學(xué)生的主體,對(duì)這部分實(shí)驗(yàn)內(nèi)容要精心設(shè)計(jì),即要考慮實(shí)驗(yàn)的難度,又要有一定的應(yīng)用性和趣味性。由于設(shè)計(jì)型實(shí)驗(yàn)一般難度稍大,要求學(xué)生課前進(jìn)行實(shí)驗(yàn)預(yù)習(xí),人員組合可以采取3+1的形式,即3個(gè)中間層的學(xué)生,1個(gè)基礎(chǔ)扎實(shí)的學(xué)生,這種組合方式既充分調(diào)動(dòng)同學(xué)的學(xué)習(xí)主動(dòng)性、積極性和創(chuàng)造性,又培養(yǎng)了團(tuán)隊(duì)合作精神。針對(duì)基礎(chǔ)較好的學(xué)生主要采用綜合型實(shí)驗(yàn),題目從題庫中選用高級(jí)難度題目,如迷宮求解問題,哈希表的設(shè)計(jì)等。綜合型實(shí)驗(yàn)一般規(guī)模比較大,需要學(xué)生具備扎實(shí)的基礎(chǔ),良好的計(jì)算思維模式,縝密的邏輯分析能力。對(duì)這部分學(xué)生不僅要求其課前預(yù)習(xí)實(shí)驗(yàn)內(nèi)容,還提供相應(yīng)的資料,做好知識(shí)儲(chǔ)備。
2.3實(shí)驗(yàn)教學(xué)手段多樣化
為了更好地實(shí)現(xiàn)分層教學(xué),個(gè)性化服務(wù),除了實(shí)驗(yàn)內(nèi)容進(jìn)行了大量的題目準(zhǔn)備,在實(shí)驗(yàn)教學(xué)過程中還要根據(jù)學(xué)生的實(shí)際學(xué)習(xí)效果,對(duì)分組進(jìn)行動(dòng)態(tài)的調(diào)整。在實(shí)際操作中,這種方法能有效的激勵(lì)學(xué)生進(jìn)步。實(shí)驗(yàn)教學(xué)的初期,需要教師在掌握學(xué)生的學(xué)習(xí)效果、學(xué)生編程能力花費(fèi)較多精力。實(shí)驗(yàn)教學(xué)的中期,可以采用基礎(chǔ)扎實(shí)學(xué)生幫助基礎(chǔ)較差的學(xué)生解決在實(shí)驗(yàn)過程中出現(xiàn)的語法錯(cuò)誤、調(diào)試問題等,促進(jìn)學(xué)生的人際交流。在實(shí)驗(yàn)教學(xué)的后期,選拔學(xué)生參加一些小型的軟件開發(fā)項(xiàng)目,結(jié)合實(shí)際軟件開發(fā)項(xiàng)目,讓學(xué)生學(xué)會(huì)分析問題,設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu),設(shè)計(jì)算法,培養(yǎng)學(xué)生的理論聯(lián)系實(shí)際能力。
3結(jié)論
通過對(duì)實(shí)驗(yàn)教學(xué)進(jìn)行改革,使學(xué)生不僅停留在理論知識(shí)的學(xué)習(xí),在實(shí)驗(yàn)后期參與項(xiàng)目式軟件開發(fā),因此在實(shí)際的軟件開發(fā)中學(xué)會(huì)如何選擇合理的數(shù)據(jù)結(jié)構(gòu),設(shè)計(jì)有效的算法,學(xué)以致用,達(dá)到培養(yǎng)學(xué)生的創(chuàng)新能力,解決實(shí)際問題能力的目標(biāo)。同時(shí)對(duì)學(xué)生進(jìn)行個(gè)性化服務(wù),逐步提高學(xué)生的學(xué)生興趣,縮減學(xué)生的差距,全面提升課程教學(xué)效率及質(zhì)量。endprint