李婷

[摘 要] 數據結構與算法是信息與計算科學專業的核心基礎課程,對后續課程有重要的影響。在總結多年教學經驗的基礎上,從理論教學、實踐教學和引入思維導圖等方面對課程教學方法提出思考,目的在于提高學生對數據結構的理解程度和靈活應用能力,以達到應用型人才培養的目標。
[關鍵詞] 數據結構與算法;理論教學方法;實踐教學方法;思維導圖工具
一、引言
數據結構與算法是信息與計算科學專業的核心基礎課程,是進行非數值計算程序設計的基礎,也是后續學習的重要先修課程。
本文針對信息與計算科學專業的特點,結合具體教學過程中出現的問題和地方院校學生基礎素質的情況,從教學內容、教學手段及教學方法等方面進行了思考,旨在尋找合理的教學方法,達到應用型人才培養的目的。
二、改革方法思考
1.理論教學方法思考。數據結構與算法課程所涉及到的知識點較多,包括四種邏輯結構、兩種存儲結構和四種操作,理論性和實踐性均較強,且有高度抽象的特點。課程在內容組織上,難點分布的跨度大,概念多。對于算法的描述,通常只給了偽代碼的描述,而分析較少,不易看懂。由于地方學院的學生基礎較薄弱,學生的數學理論基礎不夠扎實,如離散數學、數值分析等課程掌握得不深,再加上前期的程序設計學習中不能理解程序設計的思想,比如指針的原理、尋址方式等,這在很大程度上影響學生對課程內容的理解。所以在授課時一定要精講細講慢講,要注意學生的反饋,在難理解的地方多花時間,必要時通過板書逐步演算算法的執行過程,將問題進行深入淺出的分析,師生互動,使學生容易理解算法。
另外,在授課時,要對課程內容進行一定的篩選,去掉一些深入應用的課堂講解,將這部分內容留給學生進行課外討論和學習,把課堂時間主要用于講透基礎知識。另外在后續課程中有問題,留到后續課程后詳細討論。若不加選擇地將所有教材內容全部詳細講完,一則課時數不夠,二則因為趕課時可能讓學生一知半解。
由于學生的基礎、能力存在較大的差異,在授課時也要注意對學生進行分類施教。對小部分學習能力強、基礎較好的學生,要鼓勵他們進行自主學習、超進度學習,并且可以讓這部分學生擔任課程的答疑助手,通過答疑可以幫助同學理解課堂知識,也促進了自身更有效的掌握和消化知識;對多數能力中等的學生,要把知識點處理得更容易理解,這樣才能讓他們不至于因難而退,而能把課堂知識中最基本、最常用的內容掌握;對少數基礎差的學生,應該提醒和鼓勵他們補充缺失的基礎知識,首先要先補程序設計語言基礎,教學安排由易到難,只要前期能補缺,后面循序漸進就能跟上進度。
2.實踐教學方法思考。數據結構與算法課程的教學目的之一在于培養學生有一定的程序閱讀能力、設計能力,面對實際問題,有分析和解決問題的能力,邏輯思維能力提高,能將理論知識用于實踐。因此在教學中特別需要重視上機實踐的環節。
要讓學生多動手、多練習、多調試分析,在練習中才知道自己對哪些細節還沒理解,才能真正的掌握知識。
在上機實踐中觀察發現,只有少部分同學可以比較順利的掌握教學內容并實現完整算法,多數同學對簡單的算法尚能編寫程序,稍復雜點的入手就比較困難。
所以,我們對實踐教學內容進行如下思考設計:在整個學期的實踐處理上,一方面保留基礎性實驗,這部分實驗難度不大,且考慮給出初步代碼框架,只留下關鍵部分讓學生去編寫,使學生在初學時不至于無從入手,能順利進行編程實驗,理解和消化教學內容,從而獲得一定的成就感,提高學習的積極性。在這個階段還要有意識地讓學生學會自己調試修改程序,從能調試語法錯誤到能調試邏輯錯誤,這樣才能真正讓學生掌握解決問題的能力,不會過分依賴老師。另一方面,增加一些實用性較強、難度稍大的課后實驗,讓學生進行分組完成。學生可以通過小組討論得出算法流程,然后再上機編程實現。例如,要求隨機生成一個迷宮后,自動求出迷宮的解,又如九皇后問題的解,等等。通過這些有趣實用的實驗,有利于加強學生對知識的應用能力、分析問題的能力和團隊合作的協調能力,激發學生的求知欲。
在上機實踐過程中,通常對算法的步驟一開始是不熟悉的,編程有助于幫助學生發現在聽課時的盲點,能回頭再去找答案,加深對理論算法的理解,同時多上機操作能培養學生良好的程序編寫習慣和風格,注重程序注解的說明。
3.思維導圖在理論教學中的應用。思維導圖是近年來的流行教學手段之一。思維導圖是使用一個中央關鍵詞或想法引起形象化的構造和分類的想法,它采用了層級的技巧,把各級主題的關系用層級圖來顯示,它可以將思維形象化,由一個思考中心點,向外發散出成千上萬的關結點,每個關結點又可以成為另一個中心主題,呈現放射性的結構。
在數據結構一課的教學中,課程的內容就是圍繞一個中心問題提出新問題,提出解決新問題的設置,所以在教學過程中,不妨應用思維導圖,通過導圖的方向來引導學生的思考方向,通過層級對比關系,讓學生對知識的體系更加清晰明確,能更好地自己去總結、對比,提出新的問題。
例如,數據結構與算法的出發點是對數據的操作處理,可以分成數據結構和數據操作兩部分。數據結構的定義是相互之間存在一種或多種特定關系的數據元素的集合,分為集合、線性結構、樹形結構、圖狀結構四種。數據之間的關系由邏輯結構體現,在計算機上具體實現這四種結構靠的是存儲結構,存儲結構又分為順序存儲和鏈式存儲。數據的操作為基本的增刪查改。結合數據的邏輯關系,針對采用的實現存儲方式,討論和研究四種數據操作的實現方法,就是這門課的中心和目的。我們可以將上面的關系以圖1所示的思維導圖來展示。
通過圖1的思維導圖的關系分析,學生能清楚的知道后續每個章節的任務,比如線性表一章,任務是掌握元素的關系為線性結構,在取順序結構存儲時,增刪查改是怎么實現的,取鏈式存儲時,增刪查改又是怎么實現的,方便學生有目的有方向的去預習、去復習,去對比、去思考,有利于激發學生的學習興趣。
4.教學考核方式的思考。本課程是實踐性課程,衡量這門課學得好壞,不能光檢查學生能不能理解課程知識內容,還要檢查學生能不能編程并檢驗理論內容,故考核的方法采用上機考查和理論考查兩種。上機考查是指提供問題后,要求學生結合相應的軟件,選擇合適的算法,編寫程序進行調試后得到運行結果;理論考查則采用筆試的形式,要求學生針對某個問題,分析后描述解決問題的步驟,最后綜合平時的實驗作業成績與上機考查成績、理論考查卷面成績得出最后成績。
三、總結
近年來,地方高等院校一直推動應用型人才的教學改革,使得培養出的學生都能成為社會需求的應用型人才。本文結合多年對信息與計算科學專業的數據結構與算法課程的教學經驗,提出了幾點改革的思考方向,并探討了一系列的教學改革措施,以期在教學中更好地讓學生掌握知識、提高能力,達到應用型人才培養的目標。
參考文獻
[1]嚴蔚敏.吳敏民.數據結構(C語言版)[M].北京:清華大學出版社,1997
[2]林書揚.為什么要給思維導圖“轉基因”——淺談“學科思維導圖”與“思維導圖”[J].中國信息技術教育,2015,(18):80-81.