沈嫻
(河北工程技術學院人工智能與大數據學院,河北 石家莊 050091)
在信息化社會的今天,數據的算法設計行業已經成為推動企業發展的重要技術,數據的挖掘、分析和處理已經成為行業的主流技術,對于大數據專業來說,具有潛在價值的原始數據,只有通過深度學習和分析才能真正地掌握這些技術,從中挖掘出有價值的信息,因此對于大數據專業的學生來講,掌握數據算法設計的技能就變成了重要的任務。
《數據結構》課程是計算機類專業課程體系中最為重要的基礎理論課,是提高學生對于數據存儲、數據運行、存儲設計、算法設計的一門專業基礎課。熟練掌握《數據結構》課程已成為計算機科學與技術、物聯網、大數據、人工智能等專業的核心基礎課。
本文將“任務驅動、項目導向、教學做”三種方法相結合應用到該門課程中,對其課程的內容、框架及評價體系都有了創新設計,經過幾輪的教學實踐,在不斷完善課程內容的基礎上,學生的理論基礎及實踐能力都有了明顯的增強,取得了很好的教學效果。
目前,數據結構在教學過程中存在的問題如下:
(一)數據結構是一門理論性很強的課程,在講授過程中,由于存在大量的抽象概念及定義,課程內容不易被理解及記憶,教學方法單一不說,還不能真正地讓學生們理解并解決實際的問題,再采用傳統的PPT教學,只能讓學生知其然,而不能做到知其所以然。要想讓學生們真正的領會到各種數據結構理論的基本思想,并將其體現在實際操作中。
(二)數據結構要求用計算機語言來編寫算法,由于學生對于計算機語言類的課程掌握程度參差不齊,所以在學習算法的過程中,就會出現兩極分化嚴重的現象。要做到在同一時間,如何在相對較少的時間內掌握數據結構的特點以及應用場景也成了一道難題。
(三)數據結構在現實生活中的應用很多,在設計時需要更靈活的設計,由于課程內容不易理解,因此在學習過程中,學生們總是面對不同的數據,如何正確地進行選擇、設計與編寫。
面對這些問題,在教學過程中必須要進行思考,改變現有的教學方法,更新教學資源,融入創新理念。
對于以上數據結構課程存在的問題,能過一系列的教學改革,引入任務驅動、項目導向、教學做三個教學模式,一方面是使數據結構課程可以走進學生,便授課教師的教學水平和科研水平得到一個很好的提高,另一方面,引入新的教學方法,也會使學生們在學習過程中很好地理解相關的知識點,并對其知識點可以進行靈活的運用以及提高實踐動手的能力,為將來進一步深造把下良好的知識基礎。
任務驅動教學法,主要思路是讓學生在上課時,通過自我理解、自主解決教師布置的一個又一個的任務。如果學生想要完成這些任務,就需要通過自己的努力去翻閱大量的書籍或是通過網絡資源進行自主學習,在這個過程中,可以讓學生積極思考、通過完成任務來獲取學習的知識、獲得技能、形成能力。
項目導向教學法,用來培養學生的協作能力、溝通能力;并在教學過程中培養學生的探究學習解決問題的核心能力。把每一章的主要內容設置為一個完整的案例,把包含在內的項目化分成多個不同級別的任務,讓學生們自由組隊通過討論、設計逐步完成每一項任務,最終把每一項任務拼接成一整個項目。
教學做三合一的方法,在教學設計中,教師應該在教學案例設計中多咨詢、多鼓勵學生;學生在教學活動中也應該多思考、多觀察;教學做的教學法以“做”為主體,通過對于“做”的設計,讓教師和學生可以聯系在一起,增強學生的自主思考和動手能力。在上課過程中,如果學生遇到問題,學生就可以通過教學過程中的重要知識點去分析、解決問題。通過向教師提出問題、尋求答案,學生之間的討論等方式來解決問題,最終通過解決問題的過程來理解知識點,加深知識點。教學做三合一的教學方法體現了教學理論與教學實踐相結合的重視,也是對學生的主體性、創造性的肯定及培養。
把三者融入《數據結構》課程中,對于教師的教學也是一個挑戰。在梳理每個知識點的時候,結合不同的存儲方式,把教學方法加之利用,讓理論知識在教學方法的幫助下,學生們可以更好地進行掌握。
從另一方面說,把三種教學方法融入課程中去,還可以培養學生的實踐動手的能力,可以定期增加課程的實驗和研討會,讓學生們可以討論課程的設計方案以及解決的內容,
梳理知識點,使課程的發展平穩進行。
無論是教師授課還是學生自主討論,還是小組實驗,最終的結果還是為了避免在遇到現實問題時,能第一時間去解決并處理問題,并且通過實驗內容的討論、撰寫和實驗,讓學生們更加的自信、更加的準確定位問題,進一步激發學生們的學習興趣,提高學生們的應變能力,培養學生們的團隊協作能力,最終達到教學要求。
針對數據結構課程的難點和存在的問題,在教學過程中,我們需要讓學生做到以下幾點:
(一)學會正確的思維方法,具備分析研究計算機加工數據的數據結構的特性。
(二)加大學生對于計算機基礎課程的學習,因為《數據結構》是一門較抽象、靈活的計算機程序語言,對于沒有基礎的學生來講,在學習過程挑戰性太大。因此在學習課程之前,就需要對計算機基礎知識進行學習,減少學生學習數據結構的難度。
(三)能夠規范的運用結構的定義、初始化的方法和正確選擇適合設計的邏輯結構、存儲結構及相應的算法。
(四)需要培養學生們獨立選用合適的數據結構,編寫質量高、風格好的程序及初步評價算法的能力。
(五)使學生系統的科學的受到分析問題和解決問題的訓練,提高運用數據結構解決實際問題的能力,為后續的軟件課程奠定良好的基礎。
(六)利用所學知識,從生活中的實際問題出發,編寫適合學生所用的實驗指導書和課程設計指導書。在實驗指導書中增加了設計型實驗和綜合型實驗兩種,通過這些實驗,讓學生們可以更好地理解《數據結構》中的知識點,在實驗中結合PTA(程序設計類實驗輔助教學平臺)上的實驗,如整數的分類處理、組合數的和、單鏈表分段逆轉、共享后綴的鏈表以及二叉樹的非遞歸遍歷等基礎實驗,讓學生們掌握基礎的知識,再能過進階實驗,如兩個有序序列的中位數,海盜分贓、用撲克版計算機24點、兩個有序鏈表序列的次等內容提升學生對于知識點的理解。
(七)利用三種方法的結合,做到“理論——實驗——理論總結”的方式,在不同專業、不同學時、不同應用的區別中,有針對性的對于線性表、樹、圖增加實驗環節,而對于表、樹、圖的綜合性設計更要加大實驗環節的設置;而在大數據和虛擬現實專業來說,對于《數據結構》課程內容要求的更多更深,因此在講授過程中就要通過不同性質的實驗來提高學生們的學習的主動性和興趣點。
綜上所述,《數據結構》是我國高校計算機專業課程組織的重要組成部分,對于計算機相關專業的學生來說,也是非常重要的一門專業基礎課。在長期教授《數據結構》過程中,不斷增加新的教學方法,引入新的教學理念,提高授課教師的教學水平,從以前單一的教學到現在的教學、實驗相組合的理念,轉變了以往的教學的目標,填充了更多的教學內容,增加了接近生活的教學實驗,使教學內容得到了極大的豐富,在不斷地總結和實踐中也對理論課程和實驗課程進行了修改,在這一系列的改革措施中,其最終的目的還是為了幫助學生們對《數據結構》課程進行更好的學習和理解,從而可以把理論知識更好的轉變為自己的技能。