李東暉+申聰+戴小鵬+王奕
【摘要】數據結構是計算機科學與技術專業中的一門核心課程,知識點多,課時少,并且難以理解,本文從數據結構的實踐性課程現狀出發,結合數據結構知識點的脈絡分析,提出實踐性教學在課程實驗、課程設計和畢業設計的教學模式,構建了數據結構實踐教學的教學設計。為數據結構課程的實踐性教學體系與教學設計提供了參考方向。
【關鍵詞】數據結構 實踐教學 教學設計
【中圖分類號】G642 【文獻標識碼】A 【文章編號】2095-3089(2017)33-0034-03
一、引言
隨著教學體系的改革[1],數據結構的教育教學也備受計算機專業的相關教育者關注,數據結構是計算機專業的一門必修課程,學生對于數據結構課程知識的掌握程度直接關系到專業知識的整體學習進度,而數據結構的課程具有難度大,知識點多,實踐能力要求高等特點,在教學過程中產生了很多的問題。其中,實踐課程教學體系的建設尤為突出,目前數據結構實踐教學體系存在諸多問題,學生不能夠利用好實踐課程,導致實踐課程沒有發揮其應有的價值,教師也無法給予實踐課程準確的定位,實踐課程的利用率遠不及理論課程,針對這種現狀,本文從實踐性教學的現狀出發,到實踐性教學培養模式,提出了一套完整的方案,為實踐性教學提供了參考依據。
二、數據結構實踐性教學
1.實踐性教學的現狀分析
數據結構的教育教學本身存在教學難度大的特點[2],其實踐教學體系的難度更為突出,其中主要存在的問題有如下幾點:
(1)課程知識點多,知識點難度大,教師在規定的時間難以把一個復雜的問題講解透徹,學生難跟上老師的上課進度,導致課堂效率不高,知識點掌握不牢,實踐課程沒法開展。
(2)學生自身的個體差異大,因材施教的策略只能適用于小范圍的學生群體,對于整個計算機及其相關專業學生群體因材施教比較困難,教師無法根據每一個人的掌握程度來展開教學,因此,這種情況會犧牲少部分學生的上課進度,制約了實踐教學計劃的開展。
(3)學生普遍存在程序設計類課程掌握不好的問題,學生學習C語言和Windows程序設計的過程中,對于程序設計類的課程容易產生畏懼和抵觸的情緒,學習數據結構的設計類的問題時,往往有逃避的心態,不會積極主動的解決數據結構課程設計中遇到的問題。
(4)學生對實驗課不夠重視,大部分學生的觀念還停留在只要考試能夠考好就行,其他的都不重要,這種片面性的學習觀念在大學的學習過程中嚴重的制約了學生的動手能力的強化,會導致學生只為讀書而讀書,沒有動手能力,走向社會很難適應。
(5)考核機制不夠完善,大部分學校的數據結構的課程設計僅僅通過提交相應項目的計劃書和源代碼作為評分標準,學生容易鉆考核辦法的漏洞,用走捷徑的辦法最后也獲得了高分,考核方式的不完善嚴重制約學生實踐性課程的能力的提高。
2.數據結構課程知識點脈絡分析
數據結構是計算機專業的一門必修課程,知識點多,難度大是其主要特點[3]。課內時間教學一般作為課堂教學的輔助手段,為加強學生對于知識點的掌握,設計能力的提高以及創新思維的培養,因此,必須要搞清楚數據結構課程知識點的脈絡,大部分數據結構的教材上主要把數據結構的知識點分為四大快內容:線性結構,非線性結構,查找算法,排序算法。
線性結構主要是針對線性表、棧、隊列、串、數組和廣義表等相關知識的學習,其中線性表是貫穿整個線性結構的基礎,其具體的關系如下:
由于課時的限制,教學計劃中對于線性結構的數組和廣義表的實踐性課程沒有安排,但是線性表的實踐性課程有課時保障,這是線性表是整個線性結構基礎的原因。
非線性結構主要是樹和圖的學習,書是圖的特殊情況,圖是樹擴展的形式,非線性的結構的知識脈絡圖如下:
非線性結構中的樹和圖都是數據結構中的重點,樹當中的內容主要有:二叉樹,森林,哈夫曼樹等,圖的內容有圖的遍歷、存儲和應用,其中的每一個知識點都有對應的實踐課程。
查找也稱為檢索、查詢。在日常生活中,經常會有查詢的情況出現,在計算機中顯得尤為突出,其中,數據結構對于查找算法進行了詳細的講解和分析,其主要查找算法如下:
查找的算法比較多,在實際運用的過程中,往往根據實際需要采取最優的查找算法,實踐教學中,大部分教學計劃中也只會對部分查找算法要求熟練掌握,部分算法也只做了解。
排序算法在計算機語言中非常常見,如何進行高效的排序,是計算機中研究的重要問題,排序算法主要包括直接插入排序,冒泡排序,選擇排序,希爾排序,快速排序,堆排序,歸并排序和基數排序等算法。排序算法部分能力的提高很大程度依賴于學生對于線性表的掌握程度,排序算法的熟練掌握是建立在線性表的熟練掌握的基礎之上,因此,想要學號排序算法,必須要有線性表的基礎。
3.實踐性教學的教學模式
(1)課程實驗
1)驗證性實驗
驗證性實驗是指對研究對象有一定了解,并形成一定認識或提出了某種假說,為驗證這種認識或假說是否正確而進行的一種實驗[4]。在數據結構的實踐性教學過程中,驗證性教學占據比較大的比重,學生的學習初期,受專業知識限制不具備較強的實驗能力,基于這種情況,數據結構中大部分實驗為驗證性實驗,如約瑟夫環的問題,漢諾塔問題等。
2)設計性實驗
設計性實驗是采用科學的邏輯思維配合實驗方法和技術,對擬定研究的目的(或問題)進行的一種有明確目的的探索性研究[5]。數據結構中的設計性實驗對于學生能力的培養起著重要作用,不僅僅是對于理論知識實踐化的能力的建立,更重要的是學生知識的綜合運用能力的建立和培養。數據結構的實踐性課程中有很多設計性實驗,比如構造哈夫曼編碼,拓撲排序等是常見的設計性實驗。endprint
3)綜合性實驗
綜合性實驗,就是在實驗過程中,要使用到多種實驗技術,已完成最終的實驗目的[6]。綜合性實驗對于學生的要求較高,需要在平時的驗證性實驗和設計性實驗的過程中學會融會貫通,得到適用于學生的知識體系,在達到這種要求之后,對于綜合性實驗,學生才能按時按質完成任務。在數據結構的實踐性教學的過程中常見的綜合性實驗主要有:用哈夫曼碼實現文件壓縮,編譯器的設計與實現等。
(2)課程設計
課程設計是完成一門課程以后,對該課程的知識綜合檢測的一個常用方法,在數據結構中,課程設計是教學大綱當中的必修環節,數據結構的課程設計屬于綜合性實驗的范疇,學生需要對于數據結構的理論知識達到教學要求以后,才能完成相應的課程設計,課程設計是實踐教學中重要的部分,為鍛煉學生的實踐操作能力具有強大的生命力。
(3)畢業設計
畢業設計是教學過程的最后階段采用的一種總結性的實踐教學環節[7]。通過畢業設計,學生可以綜合應用所學的各種理論知識和技能,進行全面、系統、嚴格的技術及基本能力的練習。數據結構的相關知識在畢業設計中必不可少,是和其他專業知識的有機結合才能達到教學大綱中需要的畢業設計的要求,畢業設計已經不僅停留在對于數據結構這一門課程的熟練掌握的程度之上,更還要同其他課程知識結合,具有更高的要求。
3、數據結構實踐教學的教學設計
1.科學設計實驗學時
大部分高校存在對于實驗課程課時安排不夠的問題,對于數據結構這一門課程,實驗課程應該要達到40課時,而大部分高校僅安排30課時,甚至20課時,實驗學時的嚴重缺失在一定程度上導致了數據結構這門課程學生掌握程度不夠,諸多問題也會隨之顯現。同時,實驗學時對于每一部分的知識點的分配也不盡合理,筆者建議,數據結構的各知識點的學時分配應該如下表所示。
2.實驗題目分層次
實驗的題目分層次是數據結構的實踐教學的教學設計中的重要組成部分[8],學生的自身的能力和對不同的知識的掌握程度不一樣,不能夠對于所有的學生是同一套教學模式,同理,不能夠在實踐教學的過程中對于所有的同學采用同一個題目,因此,實驗題目應該根據學生的能力分層次,不同的學生對于實驗題目的需求也不一定相同,實驗題目分層次對于學生的整體培養和因材施教是具有促進作用的。
3.實驗報告規范化
實驗報告的規范化一方面在對學生的對于階段性學習成果的知識點總結,同樣可以培養學生文檔的整理能力和和規范化的思維,數據結構傳達給學生的不只是停留在書本上的知識點的掌握,更是一種思維模式的培養,在學生完成本科學習之后,進行下一階段的學習或者直接走向工作崗位,思維模式的培養往往比專業知識更加重要,在數據結構這門課程中,就可以通過實驗報告規范化來做初步的鍛煉。
四、總結
數據結構實踐教學體系與教學設計是貫穿于整個數據結構的教學過程中[9],實踐性教學的研究會隨著計算機技術的發展和數據結構課程的重視達到最佳狀態,本文從這種角度,分析了數據結構的實踐性教學的教學現狀,總結了實踐性教學的教學模式,最后提出數據結構實踐性教學的教學設計,無論從課程體系的改革層面還是從學生的培養模式層面來說,都具有非常重要的指導意義。
參考文獻:
[1]李冬梅, 孟偉. “數據結構”課程的教學改革與教材建設[J]. 計算機教育, 2012(14):38-41.
[2]董麗薇.“數據結構”課程教學方法的改進[J]. 沈陽師范大學學報(自然科學版), 2012, 30(2):307-309.
[3]李東暉,戴小鵬,陳墾.概念圖在數據結構教學中的應用研究[J]. 湖南農業大學學報:社會科學版, 2008(2):68-69.
[4] Sirotová M, Fr?dková E. Supervised Practice Teaching in Higher Education of Future Teachers[J]. International Journal on Language Literature & Culture in Education, 2016, 3(2).
[5]劉越暢, 鐘秀玉, 鐘治初,等. 數據結構課程工程化實驗教學的探索和實踐[J]. 實驗室研究與探索, 2012, v.31;No.198(8):350-352.
[6]沈華. 數據結構課內實踐教學方案[J]. 實驗室研究與探索, 2013(10):412-416.
[7] Liu Y X, Zhang N Z. The Construction and Practice on Practical Teaching System of Chemical Engineering Specialty in Higher Education[J]. Advanced Materials Research, 2014, 1033-1034(91):1395-1398.
[8]張銘, 耿國華, 陳衛衛,等. 數據結構與算法課程教學實施方案[J]. 中國大學教學, 2011(3):56-60.
[9]劉曉靜, 王曉英, 張玉安,等. 以創新人才培養為目標的數據結構實驗教學改革[J]. 實驗技術與管理, 2014, 31(11):184-187.endprint