吳華玲
[摘 要] 數據結構課程是計算機和信息處理相關專業的重要基礎課程,目前該課程主要采取理論為主實踐為輔的教學模式。針對應用型本科生培養的市場需求,本文分析了課程教學過程中存在的主要問題,探討了該課程理論和實踐教學內容和教學方法的設計以及在線課程建設的具體措施,以提升學生靈活運用理論解決實際問題的能力。
[關鍵詞] 數據結構;理論教學設計;實踐教學設計;在線課程設計
一、引言
數據結構是計算機類相關專業的一門重要的專業基礎課。課程主要研究非數值計算領域的程序設計問題,學習數據的各種邏輯結構和存儲結構,以及對數據的各種操作。對于培養學生分析問題、解決問題以及算法分析和設計能力非常重要。學習數據結構課程,應該教會學生針對不同的實際問題,分析需要處理的數據以及數據之間的相互關系,以選擇合適的內容存儲數據和關系,從而設計出高效的數據操作方法,提高算法的效率。該課程的學習對于后續專業課程的學習和學生自身的發展都具有重要意義[1]。數據結構課程本身是獨立于編程語言的,課程具有知識點廣泛、理論性強、內容抽象等特點[2]。通常,該課程的講解都是選擇一門編程語言,使用理論與編程實踐相結合的方式,但在調查中發現,學生普遍反映該課程的學習難度大,理論一知半解,實踐算法實現困難等問題[3]。
本文以本科應用型人才的培養目標為指導思想,主要針對數據結構教學中出現的一系列實際問題,進行教學方法的分析和改進探索,研究如何提升數據結構理論教學和實踐教學的效果,提高學生運用理論解決實際問題的能力[4]。
二、理論教學設計探討
在數據結構的理論教學中,根據實際教學效果和學生的反饋,主要針對以下問題進行教學改革探討:
1.學習目標不明確。數據結構課程的授課對象一般是大二學生,這時候的學生剛學過一門高級程序設計語言基礎,計算機相關儲備知識還比較少,對專業的整體認知也比較缺乏,從而對數據結構課程的學習目的和課程地位都不夠明確。
2.學習內容難度較大。數據結構課程主要內容包括線性表、棧和隊列、遞歸、樹、圖、查找和排序等。知識點覆蓋面較廣且有一定難度,對學生的邏輯分析能力和數學計算分析能力都有一定的要求,而且每個知識點的內容抽象難懂,很容易使學生產生畏難情緒。
3.學習內容難以聯系到實際應用。部分學生反映,雖然對于數據結構的各個知識點已經理解了,但是很難將這些知識點串聯起來,靈活使用到實際問題的解決中。
因此,在理論課授課過程中,為了有效改善上述教學效果不佳的情況,可以嘗試將教學內容分成四步目標來實現:
1.講清楚數據結構課程在整個專業課程體系中的地位。讓學生從宏觀上把握這門課,明確為什么要學習該課程、該課程的主要學習內容有哪些以及怎樣才能學好該課程?使得學生對課程的重點內容和精髓部分有一個整體的認識和把握,以便在后續學習中做到有的放矢。
2.在正式講解課程內容之前,應先計劃一定的課時來復習高級程序設計語言的基礎知識。將數據結構中所涉及到的高級程序設計語言知識作出條理清楚的總結和歸納。以便學生順利過渡到后面的課程原理和實驗學習中。
3.分知識點進行詳細講解。以學生熟悉的例子作為引導,對于每種數據結構的特點和操作,結合算法進行具體分析和講解,著重各知識點的應用,讓學生很好地掌握這門課的知識點。
4.注重案例教學。綜合這門課程所學習的內容設計案例,讓學生將各個知識點的知識進行綜合應用,采取教師帶學、學生分組討論、學生獨立分析和解決問題等方式學以致用,培養學生運用所學理論解決實際問題的能力。
三、實踐教學設計探討
目前,大多數高校數據結構課程的設置均是以理論課為主、實踐課為輔的教學模式設計。課程設置偏重于理論教學,實踐成績的考評主要依據學生的實驗報告。當然,這與對本科生的培養目標是息息相關的,在很長一段時間也取得了一定的成效。數據結構課程是一門理論與實踐綜合的課程,實踐教學的重要程度不亞于理論傳授。于是,很多高校越來越重視數據結構的實踐教學,國內外比較有影響力的教學模式有:講授模式、互動模式、任務驅動模式、范例模式等。這些模式集中體現了“教為主導,學為主體”的教學思想。但是,由于本課程涉及知識點多、邏輯性強、抽象性高、理解難度大,學生學習起來比較吃力,大部分學生動手實踐能力不同,用所學知識解決實際問題的能力較弱,很多學生在課程學習結束后,依舊無法編寫基本的排序算法、查找算法等程序,面對實際問題不知道怎樣動手去解決。特別是在從事大型軟件工程時,靈活應用相應算法能力比較欠缺的矛盾更為突出。因此,關于數據結構課程實踐教學的合理設計,成為當前急需解決的問題。針對上述問題,有必要對實踐教學進行設計與探索[5],具體措施如下:
1.加大實驗課程的課時量。一個理論知識點配備一次實踐課,在每個理論教學知識點講解之后,馬上讓學生動手實踐,先實現教材中的基本算法,便于深化理解所學知識點的基本思想和設計算法的基本程序,理論和實踐結合的學習和應用,也可以及時解決學生學習過程中的困惑。
2.注重激發學生的學習興趣。由于課程的學習難度大,有必要引入一些有趣的實驗,激發學生的學習熱情,調動學生動手實踐的積極性。例如,在講解遞歸時可以從一個游戲漢諾塔問題開始講解,先帶領學生玩幾盤漢諾塔游戲,然后指出其中的遞歸思想,并講解遞歸的理論算法,最后把該算法運用在游戲中,讓機器指導我們去如何挪動游戲中的盤子。
3.開發新的設計型實驗,注重案例教學。開發新的設計型實驗,引導學生將所學的知識運用到解決實際問題中。例如,設計一個學生管理系統,建立一個學生信息表,輸入學號、姓名、性別、班級、課程、分數等信息,注意分析數據之間的關系,并以合適的方式進行組織,可以選擇有序、無序順序表或索引順序表示。綜合應用基本的查找算法完成數據的查詢。設計型的實驗可以讓學生將所學的知識帶入到實踐運用中,讓學生體驗結構選擇和算法設計的思維方式與技巧,培養分析問題和解決問題的能力。
四、數據結構在線課程建設
數據結構課程內容具有知識點多且抽象、理論與實踐并重等特點,另外,每個學生的程序設計能力也存在差異性。傳統的課堂教學和集中上機實踐很難全面顧及到每一個學生。因此,在不斷完善課程設計的前提下,有必要進行教學方式的改革,例如建設數據結構的在線課程,提高教學質量和教學效果。在線課程建設的具體內容為:梳理課程內容、提煉重點知識點,針對這些必須掌握的知識點錄制教學視頻講解。學生可以結合自己的學習掌握情況,有目的地選擇自己要學習的知識點,且沒有時間和空間的限制。
五、結束語
數據結構是計算機類專業必學的一門重要基礎課,在其教學過程中,不僅需要注重理論教學中各知識點的講解,更需要設計合理的實踐教學,使其貫穿理論教學的始終。為培養學生學習的積極性、提高學生解決實際問題的能力、培養學生的邏輯思維能力,需要不斷探索理論教學和實驗教學的合理分配及課程設計,以適應當今培養應用型本科生的市場需求,幫助學生既掌握扎實的理論基礎,又具備解決實際問題的能力。
參考文獻
[1]嚴蔚敏,李冬梅,吳偉民.數據結構:C語言第2版[M].北京:清華大學出版社,2015.
[2]余艷,劉燕麗,李琳娜.數據結構實踐教學內容設置的分析與思考[J].實驗技術與管理,2014(4):171-173.
[3]張惠珍,馬淑嬌.“數據結構”課程的教學方法改進探討[J].上海理工大學學報(社會科學版),2018(2):174-178.
[4]張冰濤,王小鵬.基于工程認證的數據結構與算法課程教學研究[J].軟件導刊,2019(1):201-204.
[5]王嘉.信息與計算科學專業數據結構課程的教學探索[J].計算機教育,2019(1):68-71.