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