姚保峰
(蚌埠學院 計算機科學與技術系,安徽 蚌埠 233000)
數據結構是介于數學、計算機硬件和計算機軟件三者之間的一門核心課程[1],是計算機及相關專業的一門重要的專業核心基礎課,在整個計算機課程體系中具有重要的地位.數據結構的掌握程度對學習計算機專業的其他相關課程(如操作系統、編譯原理)具有重要影響[2].通過學習這門課程,學生將更加深入的掌握程序設計語言的相關知識并靈活應用,提高編程能力,最重要的是掌握了解決各類問題的一般方法.但是數據結構是一門抽象度高、理論性強的課程,教材大多采用偽代碼描述數據結構及相關算法[3],因而學生的掌握情況往往并不理想.本文從數據結構課程的教學方法、教學內容、課程實驗及考核方法等多個方面討論如何提高課程的教學質量.
在數據結構的教學過程中,一個突出的問題是學生的程序設計基礎較差.目前大多數學校采用C語言實現數據結構的相關算法,但是學生的C語言掌握情況往往并不理想,尤其是指針和結構體部分是薄弱環節,而這部分內容在數據結構中恰恰是應用的最多的.針對這一問題,在學習數據結構內容之前,有必要先花少量時間對這部分內容進行強化,通過一個具體案例(如通訊錄管理系統)加強學生對相關知識的理解.這樣不僅為后續課程的學習打好了基礎,也提高了學生的編程能力.
數據結構是一門理論性很強的科目,大量的理論知識使學生的學習倍感枯燥,嚴重降低了學生的學習興趣.為了更好的調動學生的學習積極性,采用案例式教學可以達到較好的效果.教師在備課時針對主要的知識點合理的選擇既能夠吸引學生又能夠說明問題的案例,在教學過程中圍繞給出的案例引導學生思考、分析和討論問題,并在教師的指導下找出解決問題的方法.這樣就使數據結構中很多抽象的概念變得具體化,縮短了理論與實際的差距,讓學生感到學有所用,而不是僅僅停留在理論層面上.同時,這種方式顯然比傳統的說教式教學更具趣味性,更能充分地調動學生學習的積極性和主動性.表1是筆者在教學中為主要知識點選取的教學案例.

表1 教學案例的組織
采用案例式教學要注意案例的設計必須符合學生的認知規律,盡量做到由易到難、由簡到繁,從而體現知識的漸進積累的過程.比如對棧的講解,可以先舉一個“手槍壓子彈”的簡單的案例,幫助學生理解相關的概念,然后再處理“老鼠走迷宮”的案例.在講解案例的過程中引出相關的知識點,再逐步擴展.
當前,現代化教學手段已經被大量應用于課堂教學中,并引起了多方面的變化.相對于傳統的教學手段而言,現代化教學手段改變了學生認識事物的過程,把感知、理解、鞏固、運用融合為一體,圖、文、聲、影并茂,將教學內容以有利于學生認知的方式呈獻給學生,能夠更加直觀地引導學生揭開事物的本質及內在聯系.在數據結構的教學過程中,應當充分利用現代化教學手段,包括多媒體課件、網絡課堂及在線問答測試等都可以有效提高學生的學習興趣.如在講解一些典型算法(“圖的遍歷”、“構造哈夫曼樹”等)的時候,在課件中用Flash動畫將整個過程模擬演示出來,能夠使學生更容易理解算法中每個步驟的含義;對于每章的重點及難點內容可以在網上教學平臺加以強化,對一些學有余力的同學也可以在網絡上給出一些深入學習的建議及參考資料;此外,在網絡上開設師生互動問答版塊及自助測試系統也有利于學生進行自主學習.
考慮到數據結構的理論抽象性和復雜性,學生理解起來比較困難,因此在實踐過程中同樣要注意充分調動學生的學習積極性.教材上的很多實例往往脫離實際問題,學生面對這樣的實驗很難產生興趣,如果能夠把每個問題都放到具體的情境中,就能夠使學生產生解決問題的欲望.在完成一些基礎任務的前提下,可以讓學生在用自己的方法實現表1給出的教學案例,這樣既使實驗具有趣味性,又與課堂教學內容緊密銜接.
“分層分組”教學就是有機的結合班級教學和小組教學兩種教學組織形式,按照學生在學習基礎、學習能力等方面的差異,將同一個班級的學生劃分為若干個層次,使不同層次的學生混搭配合,實施分組合作的學習方法.傳統實踐教學以學生個體學習為主,學生在實踐過程中互相之間缺少交流,不利于團隊合作意識的培養.采用分層分組教學更能夠體現因材施教的教學原則,且加強了學生之間的合作交流,符合現代社會對團隊型人才的需求.在分層分組策略上,采用以學生自我定位為主、教師建議定位為輔的方法,客觀公平的按照學生的學習基礎及學習能力進行分組,避免在分組時打擊學生的自信心.在實際操作中,首先將學生分為三個層次:A層是學習基礎和能力較強的學生;B層是學習基礎和能力一般的學生;C層是學習基礎和能力較差的學生.然后對各層的人數進行混合搭配,每組4~6人,使各個小組的配置盡可能的均衡,并在每個組設一名組長,由該組學習協調能力均較強的學生擔任,負責與教師聯絡溝通實踐情況.在設計實驗任務時,以B層次學生的能力為基準,將實驗任務細化為若干個子任務,并指出子任務中哪些屬于高級任務,哪些屬于主要任務,哪些屬于基本任務,要求A層次的學生完成包含高級任務的全部任務,B層次的學生完成主要任務,C層次的學生完成基本任務.學生在完成實驗的過程中,可以首先對任務進行集中討論,確定方案后各自獨自完成具體代碼.采用“分層分組”的實踐教學過程中,教師要注意適時的對各小組的實驗情況作出公正的評價,包括小組競爭方面的評價和小組內部合作情況的評價等;同時,也要注重對不同層次學生的個體評價,對有突出創新表現和進步幅度較大的學生給予鼓勵.“分層分組”的實踐教學機制充分體現了學生為主體的教學思想,能夠兼顧不同層次學生的情況,增強了學生的合作意識和競爭意識.
考核是檢驗學生學習成果和教師教學效果的主要手段,也是教學過程中的重要環節.數據結構課程的期末考核不能簡單的以卷面考試成績為最終結果,而應該充分考察學生的綜合能力,因此本課程的考核采用多項指標相結合的考核方式.具體指標包括學生的出勤情況、作業完成情況、實驗成績及期末考試成績等,將這些指標按比例綜合計算.在實驗成績中,不僅包含學生的最終實驗成果,學生的合作互助能力、溝通協調能力也作為其實驗成績的一部分進行考查.新的考核方法打破了只看考試分數,不看綜合素質的傳統成績評定方式,有利于學生素質的全面發展.
數據結構是計算機及相關專業的重要專業基礎課,進行課程教學改革有利于實現“培養應用型、創新型人才”的人才培養目標.教學改革應以培養學生學習興趣、提高學生學習積極性為著眼點,達到學生能夠自愿學習、具備自主學習能力的目的.本文從教學方法、課程實踐及考核方法等方面提出了數據結構課程教學的一些改革措施,在實際教學中可以看出,整體教學質量取得了顯著提升.相對于傳統的教學方式,學生的理論水平、程序設計能力和團隊合作能力均有了一定的提高,同時也為后續相關課程的學習奠定了堅實的基礎.
〔1〕嚴蔚敏,吳偉民.數據結構(C語言版)[M].清華大學出版社,2001.
〔2〕高嵐.以培養實踐能力為核心的“數據結構”教學方法探討[J].吉林工程技術師范學院學報,2008,24(8):49-51.
〔3〕馬曉波,劉利民,郭琳,秦俊平.“數據結構與算法”實驗教學改革的實踐與探索 [J].內蒙古農業大學學報,2012,14(3):186-187.
〔4〕趙耀紅,孫宇.數據結構實驗教學的實踐與探索[J].長春大學學報,2012,22(4):413-415.
〔5〕張桂芬,李海濱.數據結構實驗教學的改革與探索[J].高教論壇,2008(3):105-106.