摘要:根據傳統數據結構課程教學中存在的不足,提出了數據結構課程與其它相關計算機基礎課程結合協同教學的教學方案。研究了在互動式教學中提高學生自學能力、創新能力、軟件設計能力的教學模式改革方案,并對教師業務學習、提高教學質量和評價機制等問題進行了探討。
關鍵詞:數據結構;教學改革;互動式教學;教學方法
引言
數據結構是計算機相關專業的一門專業技術基礎課,它為軟件設計提供必要的基礎知識和方法。其主要任務是講解數據組織中的數據邏輯結構,存儲結構以及有關操作的算法;目的是使學生學會分析研究計算機處理數據的方式,以便為應用中涉及的數據選擇適當的邏輯結構、存儲結構及相應的算法,并初步了解對算法的時間分析和空間分析技術。本課程具有很強的理論性和實踐性,并且課程間聯系密切,它所包含的數據分析、結構設計以及算法設計和分析等知識,無論對學生進一步學習計算機領域的其他課程,還是對今后從事理論研究、應用開發及技術管理工作都起著至關重要的作用。
數據結構課程具有較高的抽象性,因此學生普遍感覺學習難度大。不容易理解和掌握。如果按照傳統教學方法,學生在短時間內很難掌握數據結構的精髓,無法真正達到教學要求,更無法滿足社會需求。結合社會需求、研發經驗和教學實際,我們從系統高度上,整合與數據結構教學相關的課程,統一考慮教學內容,重新制定了新的教學計劃和科學的教學模式,形成了一套協同教學,分解難點,理論與應用相結合,不斷激發學生學習興趣,逐步完善學生知識體系的教改方案,并在教學實踐中取得了顯著成效。
1 傳統數據結構教學存在的問題
傳統的數據結構教學中存在很多不足,嚴重影響了教學效果。在傳統教學計劃中,數據結構是學生繼計算機程序設計基礎后接觸的第一門與程序設計密切相關的課程,由于程序設計基礎課程課時少,任課教師往往注重程序設計基本語法和程序結構的講解,在講到程序設計精華一結構體和指針時,課時已剩不多,學生對結構體和指針的知識掌握少,上機實踐時間短,理解不透徹。而數據結構中存儲結構以及相關算法的描述,離不開指針和結構體的知識。另外,數據結構中的很多算法涉及的函數調用在教材中根本未描述或者只是在前面章節中概述過,一般不能直接在計算機上運行,需要學生自己進行轉換,重新編程后才能運行。這種前驅課程和后繼課程的脫節以及算法描述特有的一些特性,給學生學習和理解數據結構造成了很大的困難。
2 優化教學體系
數據結構課程注重培養學生自學能力和創新能力,培養學生能夠根據具體問題進行數據抽象,設計合理的數據結構,通過研究算法及其實現,進行系統軟件和應用軟件的研發,并且編寫的程序結構清楚、正確易讀并符合軟件工程標準。為此,我們瞄準能力培養,努力構建科學合理的教學體系。在教學安排上,既要保證教學內容的完整性和先進性,又要使學生容易接受,愿意接受。在實際教學中,我們打破了傳統課程界限,根據學生培養方案和課程間相互關系,對相關課程知識點重新劃分,避免知識點的過多重復,保證相關課程內容相輔相成,由淺到深,由易到難,理論和應用相互促進,讓學生不斷鞏固所學知識,提高知識的綜合應用能力。
數據結構課程的開設,需要前驅課程的支持,如程序設計基礎、離散數學。鑒于目前數據結構與相關課程銜接中存在的問題,以及程序設計訓練太少的情況,我們對相關的課程教學內容和教學重點進行了調整。
2.1 與程序設計語言結合
在程序設計基礎課程中,按照教材內容順序講解,容易造成教學重點不突出,難點訓練不到位,學生自學和創新能力被壓抑等問題。根據知識點間的連續性、學生的理解能力以及后續課程需要,我們打破教材章節限制,將部分內容提前講解,并有重點地對學生進行訓練。在程序設計教學中,注重學生自學能力的培養,遵循少講多練的原則,對程序設計中基本的數據格式輸入輸出以及類型定義等基本內容只進行簡單講解,對于格式輸入輸出和類型轉換中經常遇到的問題,通過習題和上機實踐,讓學生自己去掌握。將指針和結構體的定義提到數據類型部分講解,使學生盡早接觸指針和結構體的應用,能夠順利地將地址和指針聯系在一起,懂得結構體和基本數據類型的關系。在習題和上機實踐中加強數組、指針和結構體的練習,適時引入項目設計(如學生信息和成績管理系統),要求學生利用所學知識設計完成基本的數據查找,插入、刪除、更新等;根據學生學習情況適當增加難度,激發學生的探索欲,培養自學能力,增強對所學知識的理解和應用能力。這既有助于提高學生對程序設計語言的綜合應用能力,又有助于學生對后續數據結構課程的理解。
2.2 加強離散數學實踐環節
數據結構課程與離散數學聯系密切,需要離散數學中很多知識的支持。傳統教學中,只注重離散數學的理論學習,學生不知道所學知識怎樣應用。為此,我們本著實用的原則,自己編寫教材,在離散數學教學中引入了上機實驗內容,要求學生根據所學理論知識,自己設計數據結構,將理論描述轉換為程序設計。這既能培養學生靈活運用數學知識解決實際問題的能力,又能提高學生的程序設計技能,還有助于學生對數據結構課程中圖等內容的理解。
2.3 整體規劃數據結構教學內容
由于學生在程序設計基礎和離散數學中反復進行了程序設計,對指針、數組和結構體的應用都已經很熟練,并且數據結構中的很多應用算法在前面課程中都已簡單接觸過,再進行數據結構的學習學生會加深對知識的理解,并且有溫故而知新的效果,學習不會感覺太吃力。
在數據結構課程開始,老師首先分析數據結構與前面所學知識的內在聯系和不同之處,以及學習數據結構課程的必要性,并引入數據結構在經典項目中的應用實例,激勵學生的學習積極性和求知欲。貫穿數據結構的命脈是存儲結構和算法描述,不同邏輯結構的存儲又分順序存儲和鏈式存儲兩種方式,每個章節之間既相互獨立,又相互聯系。對此,教學中我們抓住主線理清其內在聯系,對整個內容進行有機整合,注意與前驅課程內容間的對比,加強理論與實際問題的結合,每部分學習完畢后,均為學生提供幾個與階段知識相關的實訓項目進行分組設計,通過實際問題的解決,提高學生分析問題,解決問題的能力,加深對所學知識的理解,同時加強學生程序設計能力。實訓項目設計過程中,學生通過共同分析問題,相互幫助,促進了學生間的團結,有利于團隊精神的形成。學生在每個項目完成后都會有很大的成就感,提高了學習積極性。
將數據結構課程與其它課程相互滲透的教學方法,分解了理論知識的難點,可以促進課程間知識的互補;課程間知識的交互重疊,有助于加深學生對知識的理解,形成較完整的知識體系,提高學生自學能力,創新能力和綜合應用能力。
3 科學的教學模式
實際教學中合理的教學手段和教學方法,對于提高教學效果和學生的學習積極性是十分重要的。
3.1 互動式教學
傳統的“填鴨式”教學,學生只能被動聽講和練習,老師缺少與學生的互動和交流,課堂氣氛沉悶,這有悖于教與學的和諧統一,束縛了學生的思維發展和創新意識,壓抑了學生的學習積極性。
數據結構課程是理論與實際結合非常密切的一門計算機專業課,既能夠培養學生應用能力,又能培養獨立思考和創新能力。我們在課堂教學中,以學生為教學主體,采取互動式教學方式。對于部分教學內容老師提前提出問題,安排學生查找資料,分組討論,由學生自己動手,例如設計存儲結構和算法,并在課堂上講解,講完后老師進行點評和指導。學生可以在課下或者課堂上提出自己的見解,由老師直接給出解答或者由老師組織同學們進行討論。這種互動式教學起到了教與學互相促進的作用。學生由被動學習轉換為主動學習,并參與到課堂的講解中,無形中增加了責任感;學生經常與老師交流溝通,可以加深師生間的感情,進而提高教學效果;學生自己查找資料,設計算法,有利于學生創新能力的培養。這種教學方式能夠提高學生的學習主動性和自學能力,擴展學生知識面,加深學生對知識點的理解,提高學生的語言表達能力。
互動式教學方式對任課老師是一種考驗。學生提前自學,在課堂上會提出各種各樣的問題,這要求老師上課時不能再完全按教材進行授課,需要根據具體情況靈活掌握課程進度和深度,并且平時要加強業務學習,積極參加實際項目的研發,不斷將最新的算法介紹給學生。老師在聽取學生的講解過程中,及時發現學生對于問題解決方案的創新點,并積極鼓勵和引導,這有利于學生科研能力的培養。利用這種教學方式,老師可以及時了解學生的學習動態,發現教學環節中存在的問題并及時改正,促進了教學體系的不斷完善,提高了教學質量。
互動式教學過程,充分體現了學生在學習中的主體地位和教師的引導作用,是主動與被動教學相結合的最好應用。
3.2 加強實踐教學
數據結構課程實踐性非常強,能夠鍛煉學生實際問題解決能力和程序編寫能力。我們非常重視學生實際動手能力的培養,對學生的上機實驗嚴格要求,要求學生自己動手完成課程中涉及的所有算法,在每一個教學單元完成后,要將本單元的所有算法集成形成一個小的應用系統。通過系列實驗把難以理解的抽象概念和算法轉化為實實在在的能夠在計算機上正確運行的程序,學生才能將所學知識和實際應用結合起來,真正體會算法的設計思想精髓,提高運用知識解決實際問題的能力。在實踐教學中,老師根據學生能力的高低,對學生進行分組,由能力較強的同學作為實驗主題負責人,負責本組同學的實驗操作以及實訓項目的任務分配,并負責幫助能力較弱的同學。老師要求學生每次實驗前列出實驗計劃,實驗中對于學生遇到的問題及時給予解決,對于突出問題可以安排同學們進行討論。如果問題不能及時解決的,老師負責課下對學生進行個別輔導,或者指定其他同學幫助存在問題的同學進行分析并完成實驗。每次實驗完畢由負責人寫出本組實驗報告,并說明實驗中存在的難點、未完成實驗學生的情況。學生通過嚴格的上機實驗訓練,提高了程序設計能力,深化了對理論知識的理解,并且可以發現學習中存在的問題,及時與老師溝通,彌補不足,不斷完善自己的知識體系。同時,老師在實驗中能夠發現學生的不足,及時調整教學方案和教學內容。
3.3 現代化的教學手段
高質量的教學離不開現代化的教學手段和教育技術,在教學中我們充分利用多媒體資源和網絡資源進行課堂教學和課外輔導。多媒體教學形象生動,易于演示,在教學中我們非常注重數據結構多媒體課件的研制和算法演示系統的設計,將抽象的問題,通過多媒體手段形象地演示出來,這既能活躍課堂氣氛又能加深學生對知識的理解和記憶。為了充分利用網絡資源,加強學生和老師的交流以及教學過程的現代化管理。我們自主開發了教學管理平臺。學生登陸系統后可以向老師提交作業或者反映學習中遇到的問題,可以將自己每次實驗的算法提交到服務器,并可隨時下載;老師可以通過系統發布教學資源,審查算法設計,批改作業,回答學生疑問。
4 教學評價
教學評價是對學生學習情況和教師授課情況的綜合考查。對于學生學習情況的評價,我們改變了以往只看考試成績的慣例,為鼓勵學生積極探索新知識,敢于動手,勤于思考,我們根據學生上機實踐、實訓項目完成狀況、老師實際課題參與情況、課堂表現和考試成績等多方面對學生進行綜合評價。這種多方位評價體系能夠更加科學地反映學生的自學能力,實踐能力,創新能力和理論知識理解能力。
為保證教學質量,我們在教學中建立了一支年齡結構合理、知識結構全面、責任心強的數據結構教學梯隊。為提高教學質量,督促教師不斷提高教學水平,我們建立了老師間互相聽課、評課制度,并且在教學科研成果、實際項目參與情況、課堂新知識的引入、作業批改、學生評價等方面對任課老師進行量化考核。對于考核不合格的老師,由教學和科研經驗豐富的老師對其進行幫教。
5 結束語
數據結構作為計算機專業非常重要的核心基礎課程,在人才培養中具有非常重要的作用,其理論性和實踐性都很強,并且學科間聯系密切,技術發展迅速。因此,我們要在教學中不斷完善教學計劃,積極探索新的教學方法,引入更先進的算法設計理念,以培養出更多適合信息社會發展的合格專業人才。