前言:中文期刊網精心挑選了數據結構實驗報告范文供你參考和學習,希望我們的參考范文能激發你的文章創作靈感,歡迎閱讀。
數據結構實驗報告范文1
關鍵詞:數據結構;教學設計;教學目標;內容體系
中圖分類號:TP3-0 文獻標志碼:A 文章編號:1674-9324(2013)08-0209-04
一、引言
《數據結構》是計算機科學與技術及相關專業的一門非常重要的專業基礎核心課程,其主要研究內容是數據之間的邏輯關系和物理實現,即探索有利的數據組織形式及存取方式。有關計算機的各類軟件的開發和設計,首先要考慮數據的表示,即使用何種類型的數據結構。因此,如何更好地解決實際問題,僅僅依賴幾種計算機程序設計語言是不夠的,還必須學習和掌握好數據結構的有關知識。當我們使用計算機來處理一個具體問題時,一般需要經過下列幾個步驟:首先要從該具體問題抽象出一個恰當的數學模型,然后設計出解決此類數學模型的算法,再編寫相應的程序并進行調試、測試,運行程序并最后得到答案,如圖1所示。
早期計算機為解決問題而涉及的運算對象都是一些簡單的數據類型,如整型、實型或布爾類型數據,所以一般把著重點放在程序設計的技巧上,而不必重視數據結構。隨著計算機的發展,它的應用領域的不斷擴大,涉及非數值計算問題的應用所占的比例越來越大,許多問題涉及到的處理對象不再是簡單的數據類型,其形式更加多樣,結構更為復雜,因此,解決這類問題的關鍵不再是數學分析和計算方法,而是要設計出合適的數據結構,以便更有效地解決問題。
二、課程說明
1.課程的定位?!稊祿Y構》這門課程,是計算機理論與技術的重要基石,該課程一般是在大學二年級上學期開設,具有承上啟下的重要作用,既要對前一年學習的軟件技術進行總結提高,又要為后續專業課程提供基礎。它貫通始終,是計算機科學與技術人才素質培養框架中的中堅課程,對學生的軟件開發能力培養至關重要,也為學生今后的專業生涯打下牢固的基礎。所以《數據結構》課程是計算機專業提高軟件設計水平的一門關鍵性課程,它在整個課程體系中具有非常重要的地位?!稊祿Y構》課程在計算機學科中與其他課程的關系如圖2所示。
2.課程的教學目標。溫州大學甌江學院作為獨立學院,其定位為培養“應用性”本科人才,同時結合本課程的地位,因此,在本課程的教學中體現“基礎性”和“應用性”。本課程的定位與目標是:①注重基礎性:掌握基本數據結構的特點,了解數據結構與算法的關系;培養學生的算法設計與分析的基本理論知識和技能;培養學生設計及選擇有效的算法、設計合適的數據結構的能力;增強學生發現問題、分析問題和解決問題的能力。②突出應用性:本課程強調理論和實踐的統一,突出對學生的動手能力的培養。在對學生進行基本數據結構的理論、技術和設計等的知識運用和技能培養的同時,突出對學生進行將實際問題轉化為基本數據結構和算法問題的分析能力。鼓勵學生學以致用,用學到的知識來解決實際問題。
3.課程內容體系。數據結構課程的內容主要是圍繞著數據的邏輯結構、數據的物理結構(數據在計算機中的存儲方式)和選用合適的算法來實現對數據的相關操作展開。數據的邏輯結構有:線性結構、樹形結構、圖結構;數據的物理(存儲)結構有:順序存儲結構和鏈式存儲結構。在教學中引入抽象數據類型(ADT)觀點介紹數據結構技術,采用算法時空分析來判斷算法的好壞。在此基礎上介紹數據結構的具體應用。數據結構課程的內容體系如圖3所示。
我們把數據結構課程的內容劃分為基礎部分、數據結構與算法部分和應用部分?;A部分的內容有數據結構與算法的基本概念,抽象數據類型(Abstract Data Type,簡稱ADT)的表示,算法時空分析(算法復雜度)等。數據結構與算法部分是課程的核心內容。介紹各種基本數據結構的特點、ADT、各種存儲實現方法、相關的操作的實現。應用部分主要介紹排序、查找(或檢索)、索引和散列等經典算法。
三、理論教學設計
1.教學方法與手段。由于獨立學院的學生本身基礎不夠扎實,加上《數據結構》課程理論性強,內容抽象,學生在學習該課程的開始階段,容易產生畏懼和茫然的情緒。為了提高教學質量,我們在對教學方法和教學手段等方面進行了有益的探索和嘗試。要處理好多媒體教學模式與傳統教學模式之間的關系。多媒體教學模式以其形象性、生動性和信息量大等特點已成為主要的課堂教學手段,但也存在一些不足,一方面影響教師的即興發揮,而這恰是傳統黑板教學的長處;另一方面,由于多媒體教學具有信息量大、呈現快速、表現直觀、操作簡便的特點,教學活動很容易出現“課件喧賓奪主”的不良傾向。筆者認為,在講述如算法思想、編寫程序時,采用傳統的教學模式更能清晰地表達。因此,在教學中要綜合使用多媒體教學模式與傳統教學模式兩種教學手段,以達到良好的教學效果。
2.把握課程的重點和難點。①課程的重點?;A部分:數據結構的有關概念術語、算法特性、算法描述和算法分析;數據結構與算法部分:線性表、棧、隊列、串、樹、二叉樹、圖等數據結構的邏輯結構、存儲結構、相應基本操作的實現,這些基本數據結構的應用:一元多項式的運算、遞歸算法的設計和實現、哈夫曼算法的實現和哈夫曼編碼的設計、最小生成樹和最短路徑的求法及實現;應用部分:順序查找算法的設計,二分查找算法的設計,二叉查找樹的創建、查找、插入和刪除的算法的設計,散列表的建立和查找算法的設計;直接插入排序算法、冒泡排序算法、簡單選擇排序算法、快速排序算法、堆排序算法和歸并排序算法的實現,這些排序算法的性能比較。②課程的難點?;A部分:抽象數據類型(Abstract Data Type,簡稱ADT)概念的理解和描述,算法時間復雜度和空間復雜度的估算方法;數據結構與算法部分:棧在遞歸函數中的應用,模式匹配KMP算法。圖的遍歷方法、Dijstra、Floyd、Prim、Kruskal等典型的圖應用算法;應用部分:排序算法的復雜性分析,排序方法在各類實際問題中的應用。散列表的建立和查找算法的設計。
四、實驗教學設計
1.實驗類型。根據獨立學院應用型人才培養目標,注重培養實踐動手能力,結合教育部的“面向21世紀教學內容和改革計劃,保留少量必開的經典驗證型實驗,增開綜合型、設計型實驗”的精神,為了保證實驗課的正常運行,完成實驗教學目標,針對獨立學院學生普遍編程能力比較弱,C程序設計語言基礎較差的情況,我們打算增開一些鞏固C語言的課程預備型實驗,保留了必要的經典的驗證型實驗內容,增加設計型實驗,加強綜合型實驗,使得實驗類型不再單一,實驗內容更顯層次化,做到既要有基本實驗的訓練,又有獨立思考、綜合運用知識、創新等能力和素質的培養。預備型實驗:主要加強學生C語言的薄弱環節,如結構體、指針、數組、函數調用等,掌握C語言的這些知識點是完成數據結構實驗的有力保證。驗證型實驗:主要是為了理解和鞏固數據結構的基本知識點,用來驗證典型數據結構的邏輯定義及在具體存儲結構下的相關操作實現。綜合型實驗:實驗內容涉及本課程的綜合知識或本課程相關課程知識,主要是為了培養學生的綜合分析能力、實驗動手能力、數據處理能力及查找參考資料的能力。
2.實驗方法。對于驗證型實驗,學生在做實驗的任務基本上,只是將課本的算法修改為在某種編程語言環境下可以運行的程序而已。但對于設計型和綜合型實驗,尤其是綜合型實驗,它是多個知識點的綜合訓練,包括問題分析、總體結構設計、程序設計等基本技能,需要用更科學的實驗方法系統地完成。所以,為完成《數據結構》實驗,我們引入軟件工程的方法來指導實驗,以實現實驗方法的規范化。需求分析:說明實驗的主要任務,如輸入的形式和輸入值的范圍、輸出的形式、程序功能和測試數據等。概要設計:說明本實驗中用到的所有抽象數據類型的定義、主程序的流程以及各程序模塊之間的層次調用關系。詳細設計:實現概要設計中定義的所有數據類型,對每個操作用程序設計語言編寫代碼;畫出函數之間的調用關系圖。調試分析:調試過程中遇到的問題是如何解決的以及對設計與實現的回顧討論和分析;算法的時間復雜度與空間復雜度的分析;算法的改進設想。
3.實驗過程。數據結構課程實驗同其他課程不同,在上實驗課之前需要做大量的準備工作,整個實驗從開始到結束不可能在有限的實驗計劃課時中全部完成,因此對整個實驗過程的控制和管理顯得非常重要,要求對每一次實驗課都進行精心地策劃,我們主要從課前預習階段、實驗操作階段和實驗總結階段等三個階段進行改革,以實現實驗過程的規范化。課前預習階段:以往的實驗教學環節,往往是學生到了課堂上才知道實驗的內容,學生往往措手不及,這不利于實驗教學的正常開展?,F在我們采用把每個實驗內容提前放在網上,要求學生課前充分預習,詳細了解實驗目的和原理、實驗要用到的數據結構和算法,在實驗之前必須提交實驗預習報告。通過課前預習,保證學生在實驗中思路清晰,能及時發現問題,易于取得實驗的成功。實驗操作階段:學生上機實驗的過程是實驗成敗的關鍵,我們一方面培養學生在實驗過程中養成做實驗記錄的良好習慣,另一方面引導學生在實驗過程中積極思考,當出現異常情況時,教師要指導學生分析其產生問題的根源,尋求解決問題的方法。學生在每次實驗結束后,要將實驗記錄交給教師檢查簽字。實驗總結階段:這一階段要求學生完成高質量的實驗報告,實驗報告中除了包括數據結構定義、算法思路、異常情況分析、測試數據及運行結果等必備的內容外,更重要的還要包括實驗設計實施的成敗得失、經驗教訓和心得體會。整理和填寫實驗報告的過程,即是學生對自身存在的問題進行修正和完善的過程,通過分析整理實驗報告,學生可以更深刻地認識到自己在實驗中存在的問題,加強其設計思維的訓練,也能不斷地積累解決實際問題的動手能力。
五、課程考核
1.《數據結構》課程的考核學生成績以100分制評定,其中,平時成績(包括書面作業、課堂測試、期中測試),占總成績的15%;考勤和學習態度,占總成績的5%;上機實習(加實習報告),占學期總成績的20%;期末考試,占總成績的60%。
數據結構實驗報告范文2
關鍵詞:非計算機專業;數據結構;Flas
中國分類號:G218.7
0引言
由于專業需求,一些理工類非計算機專業也相繼開設數據結構課程,在我國,數據結構已成為理工科非計算機專業必修的信息技術基礎課程之一[1],學習數據結構是要讓學生掌握數據在計算機中的表示、組織和相應結構上的算法設計,以便學生在軟件開發的過程中能選擇適當的邏輯結構、存儲結構,高效的設計算法,并初步掌握算法的時間和空間分析技術[2]。
然而由于課程內容繁多、理論抽象、邏輯性強、難以理解,很多算法沒有源程序實現,因此,存在學生上課聽不懂、上機實踐動手能力差、課程難教難學的現象。本文從非計算機專業的視角切入,探討數據結構教學的一些實踐策略以及創新思維,為非計算機專業的數據結構教學提供一些有參考價值的建議。
1非計算機專業學生學習數據結構的現狀
1.1學生學習基礎薄弱,知識銜接不暢
程序設計基礎是數據結構的先導課程之一,非計算機專業的學生一般在學習本課程之前,已經學習過C語言程序設計知識,學生對此課程的掌握程度直接關系到數據結構課程的教學效果。
1.2課時不足
數據結構通常只作為非計算機專業學生的選修課,一般只設置18個學時,因此無論是理論授課還是實驗課時都相對不足。
1.3教學內容理論性較強,實用性難以充分體現
數據結構對于習慣了學習“所見即所得”的計算機知識(如Flash制作、網頁設計等)的非計算機專業學生來說,還是比較困難的。一來教材雖然是C語言版的,但其實是往往覺得難以理解,二來有些教材中使用的類C語言又不能夠直接上機使用,而且即便是寫出相應的C程序,其運行結果也沒有生動的界面來得好看和直接,學生對課程的實用性,心存疑惑。
2引入算法動畫,改善課堂教學效果
2.1利用Flash軟件,制作算法動畫
數據結構課程內容多,大部分都很抽象,用傳統的方法來講解該課程非??菰?,為了改善這種狀況,可以借助現代教學手段,除了把教學內容做成多媒體課件外,還可以把適合動畫演示的內容,通過Flash技術直觀地展示出來。
HANOI問題是程序設計中的經典遞歸問題,掌握算法的執行過程,對深入理解和靈活運用遞歸有重要意義。該算法用高級語言描述只有幾行語句,但由于遞歸算法中有兩次遞歸調用,程序執行過程復雜。在實際教學中,為了把這個過程講明白,可以利用Flash設計一個動畫,形象地描述運作過程和堆棧的變化狀態,從而幫助學生理解遞歸調用及遞歸過程,加深其對知識的理解。類似的問題還有很多,如串的模式匹配、二叉樹的遍歷、圖的遍歷等都可以借助動畫演示來加深理解,改善教學效果。
2.2把握課程主線,緊扣知識要點
數據結構課程內容比較繁雜,但總體來說主要介紹線性結構和非線性結構這兩大基本結構類型[3],線性結構部分包括線性表、棧和隊列、串、數組和廣義表,非線性結構包括樹和圖。
在線性結構中,線性表是最基本、最簡單的一種結構,屬于課程最基礎的內容,如果學生掌握了它的存儲結構及其基本操作,其他線性結構的教學就會相對容易。因此,在教學過程中加重對線性表部分的講解十分重要,而利用算法的動畫講解又起到了事半功倍的效果。
非線性結構的典型代表是樹和圖,主要涉及存儲結構、基本操作及其在實際中的應用,在這些存儲結構下,樹和圖的各種操作幾乎都是以遍歷為基礎的,因此以結構的遍歷為主線進行展開是合適的。例如,二叉樹是樹這一部分的重點,因為樹和森林的各種操作可以轉換為二叉樹來實現,而二叉樹的各種操作都是以遍歷為前提的。因此,掌握了二叉樹的遍歷,也就掌握了樹及森林的遍歷,從而達到快速掌握其他操作的目的。
另外,隨著數字化校園網絡的建設,利用網絡教學平臺輔助教學對改善教學效果十分有益。借助網絡教學平臺的和交流功能,可以把電子教案、多媒體課件、參考資料、課后習題、章節測試等各種課程資源提供給學生,學生可以在課后慢慢消化課堂上沒有消化的知識;網絡教學平臺的論壇和答疑系統也為學生和老師之間提供了一個交流的平臺,學生可以隨時向同學或老師提問,任課老師也可以與學生充分交流,及時掌握學生的學習動態,調整教學方法。
3通過實驗鞏固課內知識
3.1科學設置實驗內容
首先,在實驗類型上我們把實驗項目分為兩大類,即驗證型和綜合型。驗證型實驗以驗證教材介紹的算法為主,實驗指導書提供了這些算法的詳細案例代碼。綜合型實驗注重相關知識的融合,通過設計合理的實驗內容強化知識間的聯系,鍛煉學生的綜合實踐能力。
其次,在實驗內容的設計和選擇上必須兼顧廣度、深度和梯度。廣度即實驗內容應該涵蓋課程的所有的知識點;深度即對實驗題目進行精心設計,選擇一些帶有趣味性的現實問題;梯度即有對基礎知識進行鞏固的較簡單問題,也有相對較難的讓學生有所提高的隱蔽性問題。
3.2規范實驗過程
為了規范實驗過程,我們在實驗教學過程中要堅持做到有計劃、有指導、有報告、有總結,隨時掌握學生動態。實驗開設前由教師制定詳細的實驗計劃,對每個實驗項目確定基本目標和要獲得的具體結果;要求學生每次實驗必須隨堂提交實驗報告,教師通過批改實驗報告了解學生對相關知識的掌握程度,及時調整教學策略。
4結語
在利用Flas算法的教學過程中,在保證理論教學質量的前提下,充分重視實踐教學環節,喚醒學生的興趣,培養其自我性、主動性、抽象的歸納力和理解力,在教學中始終堅持培養學生的思維能力甚于知識本身的理念,以期對學生未來的發展起到有益的作用。
參考文獻:
[1]張銘,許卓群,楊冬青,等.數據結構課程的知識體系和教學實踐[J].計算機教育,2004(3):89
數據結構實驗報告范文3
關鍵詞:數據結構;教學改革;實踐;實踐教學
中圖分類號:TP311.12-4文獻標識碼:A文章編號:1007-9599 (2010) 09-0000-02
The Role of Practice Teaching in Data Structure Course
Cao Jianwu
(CREC Xianyang College of Managerial Staff-Members,Xianyang712000,China)
Abstract:Data structure is a core professional and basic course of computer science and technology.From the angle of teaching practice ,no other course can replace it because of its heightening the level of students' software design.According to practical hierarchy's demand and its existing problems in data structures course,the method,the content and the organization of practice teaching in data structures course are discussed in this paper.
Keywords:Data structure;Teaching reformation;Practice;Practical teaching
一、實踐教學在數據結構教學中的重要性
“數據結構”是計算機及相關專業的核心課程,可以為理解、應用和開發課程提供技術和方法支持,同時也是計算機程序設計的基礎課程。本課程的教學不僅要注重學生對理論的理解,同時鍛煉學生的空間想象能力和創造能力,更注重培養學生理論聯系實際的能力 ,使學生在學會利用計算機解決實際問題的同時有效地存儲、組織和處理數據的方法,設計出相應的結構清晰、可移植性好、高效的算法,為以后課程的學習和計算機應用軟件的研發奠定堅實的理論和實踐基礎。
二、數據結構實踐教學課程中存在的問題
學習”數據結構”的最終目的是為了使學生獲得求解問題的能力,然而從實際問題中抽象出數學模型,選擇合適”數據結構”計算機表示,再把解決問題的算法程序化,這是一個復雜抽象思維的過程,是一項創造性的智力勞動,這對初涉程序設計的學生來說是一件很難的事情?!皵祿Y構”課程本身較強的邏輯性和抽象性決定該課程的難度較大,學生首先從心理上畏懼”數據結構”,害怕實踐,拿到實驗任務到上機實習,常常茫然不知如何動手。
另一方面,學生對程序設計語言掌握不好?!皵祿Y構”的教學基本上都是在學過一門或幾門程序設計語言(如PASCAL、C語言、C++、JAVA等)的基礎上進行的。學生在剛剛開始接觸程序語言,學過后也只是掌握這門語言的基本語法規則,還不具備應用程序設計語言編制程序解決實際問題的能力。而“數據結構”實驗大量使用如C語言中比較難的結構體、指針、鏈表等知識點,這樣“數據結構”的實驗就更難了。
再者,“數據結構”理論教學多數偏重算法思想形成過程的分析,算法的描述可以用一種程序設計語言,也可以用偽碼,重在算法思想的描述。在實驗中,有些學生甚至有了現存的算法,也不知道如何將算法改換成計算機能接受的程序。
基于上述各種原因,“數據結構”的實踐環節往往流于形式,加上實驗教學過程中缺乏合適的監督管理和獎懲制度,大多數學生因程序設計基本功不扎實,當任務無法按時完成時就采取“COPY”方式交差,蒙混過關。有的同學一學期下來做了多次實驗,自己卻一個程序也未能調試通過,久而久之,對編程失去興趣,根本就不會編程序調程序,程序設計的能力也就可想而知了。
三、實踐教學模式的探索與改革
“數據結構”是一門理論性和實踐性都很強的課程,培養學生求解問題的實踐能力是教學的首要目的。上機實踐是學生學好“數據結構”、培養實踐能力最關鍵的環節。學生必須通過反復的實踐訓練,強化學生“數據結構”-算法-程序三者密切相關的意識,理解、習慣、掌握算法構造思維方法,從而得到求解問題的能力。針對傳統實踐教學中普遍存在的問題,課程組經過調研、分析后決定以培養學生求解問題的能力為核心,開展課程的教學改革,圍繞實際問題求解設計教學內容,組織理論教學和實踐教學,構建“問題化、層次化、多樣化”的實踐教學模式。
(一)實踐教學內容“問題”化
編寫程序就是解決一個問題,而“問題”又是創新的起點,是引發學生興趣、誘發學習動機的理想載體。因此,實踐內容的設計必須以問題求解為主線索,體現分析、設計能力的培養。針對每個教學單元的重要知識點,選擇有代表性、難度適中、綜合性的典型算法,合理設計“問題”作為實驗項目,以點帶面,使學生在面對實際問題中學會分析問題、設計解決問題的方案,讓學生編程、上機、調試,在實驗中加深掌握某種“數據結構”下數據組織、加工、處理方法,進一步理解算法的設計,同時鍛煉編程和調試程序的能力。
(二)實驗教學體系層次化
以往的教學中實驗大多由教師按教材統一組織進行,先理論后實踐,實踐只是對理論知識的簡單驗證而已,教師只關心學生是否來做實驗,而不關注學生是否會做實驗及實驗的效果。結果是學生對實驗越來越沒興趣,不利于學生創新意識的培養和實踐能力的提高。針對“數據結構”抽象性強、難度大的特點,構建一個漸進式、層次化的教學體系尤為重要。我們嘗試著按基礎性、綜合性、實用性和創新性四個層次構建“數據結構”課程的實驗教學體系。第一層次,基礎性實驗。針對某種”數據結構”的基本運算如插入、刪除、查找等算法設計實驗項目,其目的是讓學生掌握基本概念基礎知識和基本操作,通過實驗學會如何從算法轉變為程序。如隊列結構的基礎實驗可以是隊列的插入或刪除運算;第二層次,綜合性實驗。在一個實驗項目中整合某種“數據結構”的一些基本運算算法,提高學生分析問題、解決問題和綜合運用知識的能力。如隊列結構的綜合實驗包括隊列的創建、入隊、出隊、查詢、輸出等算法;第三層次,實用性實驗。實驗項目是解決一些實際有意義的問題,進行實戰訓練,提升學生的興趣和自信心,提高實踐能力。如在“棧和隊列”基本實驗、綜合實驗訓練后,給出“停車場管理”問題,通過這個實驗項目的分析、設計、編程實現,讓學生體會棧、隊列這樣的“數據結構”如何從現實問題中抽象出來,又如何用來解決現實問題;第四層次,創新性實驗。給學生自主設計自主選擇的空間,引導學生深化問題。如在“停車場管理”基本問題的基礎上,進一步引導學生思考“汽車種類不同,收費標準不同”、“汽車在便道和在停車場不同收費標準”、“棧、隊列采用不同的存儲結構”等問題,同時鼓勵學生提出新的問題,分析新問題,解決新問題,通過實驗解決自己想解決的問題。
(三)實踐教學形式多樣化
抽象思維、編程實踐都是極其復雜的工作,能力的提高不是一蹴而就的,需要反復訓練實踐。而本課程的實驗學時數受總學時數的約束,不可能很多。只有利用課內課外相結合的方式,通過強化實驗課、項目設計、課程設計以及開放實驗項目,來達到培養學生理論聯系實際、提高實踐動手能力的目的。
實驗課是“數據結構”實踐的一個基礎訓練。通過單個實驗項目,了解掌握基本”數據結構”的應用,掌握從算法到程序的轉換,并學會調試、測試程序能力。如停車場管理實驗,讓學生體會棧、隊列等基本”數據結構”的基本運算如入棧、出棧、入隊、出隊等操作的合理應用。
開放實驗項目是給出一些”數據結構”的經典問題,讓學生課外完成。這部分是針對學有余力的同學開展拓展訓練的。
課程設計又是一個必修環節,是學生綜合應用”數據結構”的訓練。每個學生必須獨立完成一個綜合項目的問題描述、需求分析、邏輯設計、詳細設計和編碼實現到測試的過程,訓練學生分析問題、描述問題(數學建模)、解決問題(設計與實現)的能力。
(四)培養良好的程序編寫習慣
數據結構課程的學習過程也是程序設計的訓練過程,程序除了能調試通過外,還要求學生編寫的程序結構清楚和正確易讀,符合軟件工程的規范。良好的編程習慣需要在不斷的實踐中養成,而且很大程度上影響學生的上機實驗效果。因此,教師可在以下方面注意引導學生:
1.代碼書寫格式。采用良好的書寫格式使代碼可讀性強,便于調試和交流,但一些學生覺得麻煩、沒必要,這需要教師在教學和實踐過程中強調和引導學生認識到書寫格式的重要性,并逐步形成良好的代碼格式書寫習慣。
2.注釋習慣。注釋是程序的一個重要組成部分,它可以使代碼更容易理解。而很多學生認為沒有必要寫注釋或者程序調試完后再象征性地補加注釋,教師要強調注釋的重要性,引導學生逐步養成良好的注釋習慣。
3.重視實驗報告的書寫。實驗報告除了實驗目的、實驗內容、實驗步驟和算法分析等常規內容外,需要重視實驗中出現的問題、解決的辦法、實驗改進的想法這三項內容的書寫,這樣可以培養學生實驗后總結積累經驗的習慣,提高學生分析、改進算法的能力。
(五)改革考核方式,引導學生加強實踐。數據結構是一門理論和實踐性都很強的課程,理論指導實踐,也只有通過實踐才能加深對理論的理解和掌握。考核方式和內容引導學生的學習方向,因此要提高數據結構的教學質量,把好考核這一關也非常重要。數據結構的考核可以結合使用多種考核方式,考核成績的組成可以包括平時成績、期末筆試成績、期末上機考試成績以及課程設計成績,其中平時成績要綜合考慮實驗準備、過程和結果情況,以及上課回答或提出問題等情況,課程設計也可以考慮采取小組形式完成并結合答辯情況給出成績。
以上各個環節相互銜接相互滲透,多樣化的實踐環節提供學生反復訓練的機會,強化學生獨立思考、發現問題、分析問題和解決問題的能力,從而加強學生的實踐能力和創新意識、創新思維的培養。
參考文獻:
數據結構實驗報告范文4
摘要 本文從實驗課計劃和提綱、實驗前的準備工作、實驗課的實施和總結幾個方面介紹了怎樣上好計算機課程的實驗課。
關鍵詞 計算機課程 實驗課
計算機科學的課程不但有較強的理論性,也有較強的實踐性,理論和實踐是緊密相關、相輔相成,理論指導實踐,實踐加強對理論的理解,特別是以職業教育為主的大專院校,計算機課程的實驗課在教學計劃中所占的比重是相當大的,例如,我系計算機專業教學計劃中FoxPro程序設計的總課時數是80,其中講課44課時,實驗36課時,由此可見,計算機課程的實驗課是計算機教學不可缺少的重要環節,有著舉足輕重的作用。
在計算機課程的教學中開設實驗課,就是給學生一個理論和實際相結合的機會,學生在實驗中必須親自動手操作,來加深對計算機理論知識的理解,掌握計算機是怎樣操作、如何運行的。通過上機實驗讓學生演示和操作軟件的各種功能,了解它的特點和作用,逐步熟悉和掌握軟件的功能及使用。尤其是《數據結構》,《高級語言程序設計》,《數據庫程序設計》等課程,學生在實驗中要自己編寫程序,在計算機上進行編輯處理,程序調試和運行,從中可以發現問題,改正錯誤,學習編程的經驗,最終獲得所需的結果。因此,如何開好計算機實驗課,對促進學生掌握理論知識,提高實踐動手能力有積極的作用。下面我們從幾個方面來討論怎樣上好計算機課程的實驗課。
1.完善的實驗課計劃和提綱
上機實驗計劃是實驗課的總體安排。包括實驗題目、時間、地點、課時分配、實驗次數,硬件和軟件環境等內容。以便任課老師和實驗室管理人員之間能夠很好的配合,提前安排上機實驗的有關事項。每一次上機實驗都要有實驗提綱。實驗提綱格式為:
(一)實驗題目
(二)實驗目的
(三)實驗要求
(四)實驗內容
(五)實驗步驟及注意事項
(六)實驗思考題
實驗提綱必須和實驗計劃一起編制,兩者協調一致,實驗提綱是實驗計劃的具體內容和實施細則。由系或者教研組組織有經驗的教學效果比較好的專業課教師,對每一門計算機課程的實驗計劃和提綱進行精心策劃,統一編制,在教學中不管是那個老師上這門課,都要按照統一的實驗計劃和提綱進行實驗,學生在實驗提綱的指導和安排下上機,完成實驗課程,根據實驗提綱執行情況書寫實驗報告。教師也是按實驗提綱的要求來檢查實驗結果,評定學生成績。因此,教師在進行實驗提綱編制時對每門課程的每一次實驗課都要有周密的安排,進行精心的設計。
2.計算機實驗課程的準備工作
計算機實驗課程的準備工作是非常繁瑣同樣也是非常重要的,通常包括以下幾個方面的工作:
(1)硬件環境
實驗室內學生上機所需的計算機及有關外部設備都要能正常運行,功能完好,適合學生上機實驗,學生所用的磁盤要合理分配,集中管理,一些輔助教學設備(如投影儀、無塵黑板等)都要能滿足上機實驗的要求。
(2)軟件環境
實驗室管理人員要根據實驗計劃,選擇好所需的操作系統軟件、高級語言環境、應用系統和輔助教學軟件,預先把這些軟件裝入計算機內并調試好隨時可供調用。若有網絡環境,管理員要為每一個上機的班級設置各自的帳號,根據實驗計劃分配所需的軟件和必要的權限。另外,版本新、功能強的殺毒軟件也是必不可少的,管理人員要隨時用它來清除計算機系統內的病毒。
(3)組織和管理
計算機的使用要嚴格管理,要保持良好的秩序、嚴令學生遵守實驗室各項規章制度,有條件的實驗室要實行學生上機自動管理(學生上機之前用上機證劃卡,系統自動為學生分配一個機號,該生即可在這臺計算機上上機,否則該生不能上機),該系統還可以自動記錄學生的上機時間,我們曾經根據這個功能破獲了學生盜竊計算機內存芯片的案件。如果實驗學生的人數超過計算機臺數,最好是分組進行實驗,使每個學生都有上機的機會,同時也便于管理和輔導。管理人員要嚴格控制學生使用外來磁盤,預防計算機病毒帶入實驗室。
(4)教師和學生
教師要對實驗課的全過程進行周密的思考,要避免出現漏洞和疏忽;而學生要按實驗提綱作好實驗課前的準備工作,特別要學生自己編程上機時,學生一定要在上機前準備好程序,實驗時主要是編輯輸入程序和調試程序。
3.實驗課的實施
計算機實驗課是計算機課堂教學的繼續,也是教學效果的初步體現。為了上好計算機實驗課還必須做好以下工作。
實驗課開始時,老師要重申本次實驗課的目的和要求,指明實驗要點和要注意的事項,對實驗中的疑難之處和可能出現的問題要給予必要的提示和說明。在實驗過程中學生初次使用的應用軟件或生疏命令,教師要首先進行演示和講解。
在實驗中要盡可能發揮計算機的優勢,充分利用計算機輔助教學軟件和多媒體教學手段,特別是學生進行程序設計的實驗時,教師可以先演示和講解自己在科研工作中開發的一些應用軟件,將一些程序設計的經驗傳授給學生,使學生有了一些感性認識以后能盡快動手進行程序設計。另外,教師要根據教學內容選擇一些效果比較好的輔助教學軟件,例如,《數據結構》課程的實驗課,可選擇集編輯、編譯、調試為一體的Pascal可視集成環境VP1和算法與數據結構的作業系統AD1,Pascal源程序可以在VP1上可視執行,能同步演示程序和數據的動態視圖,為學生理解算法、學習編程,調試程序提供了便利的環境,AD1可對數據結構的程序設計作業進行測試評分,可以大大提高軟件基礎課的教學效果和質量。
最后一點,對學生的基本技能的訓練要有高標準嚴要求,學生在操作計算機時一定要按規范和標準進行,如,開機、關機、入網、退網等要按正確的步驟,鍵盤打字的姿勢要正確,特別是學生在編程時要訓練學生養成良好的編程習慣和風格。要注意培訓學生在計算機使用中的應用能力和應變能力,為學生今后獨立操作和使用計算機打好基礎。
4.實驗課的總結
通過上機實驗,學生對老師講授的計算機理論知識、技術和有關算法都有了較為深刻的體會和認識,每個學生都會有不同程度的收獲。此時,教師要及時督促學生總結上機實驗中的收獲,鞏固所學的知識。為此,要求學生寫好實驗報告。
實驗報告直接體現了學生上機操作的情況,是對實驗過程進行概括和總結,具體內容如下:
(一)班級、學號、姓名、實驗時間及課時數
(二)實驗題目
(三)實驗目的
(四)實驗要求
(五)實驗過程
數據結構實驗報告范文5
關鍵詞:數據結構;精品課程;課程建設;課程教學
精品課程建設是教育部“高等學校教學質量與教學改革工程”的重要組成部分,是貫徹落實《教育部關于加強高等學校本科教學工作提高教學質量的若干意見》精神,進一步更新教育觀念,提高教學質量和人才培養質量的關鍵[1]。精品課程建設是教育新理念的體現,是新時代教學手段的具體運用,是各種教學資源的開發與整合,是學生自主學習、探究學習的窗口,是實施素質教育的新途徑[2]。精品課程的建設有利于優質教育資源的傳播和利用,也是我國教育事業的一次大的改革[3]。如何正確理解精品課程內涵、探索實現精品課程的科學途徑,對確保這一質量工程的順利進行具有重要意義[1]。
數據結構是計算機專業的核心基礎理論課,在整個專業知識體系中占據非常重要的地位[4]。通過學習數據結構課程,不僅要為后續課程打好基礎,而且要進一步提高學生的數據抽象能力和程序設計能力。數據結構課程概念多、方法多、邏輯性強、實踐性強,這些特點決定了教與學的難度大,其教學水平和效果又將直接影響后續課程的學習以及學生程序設計實踐能力的提高[5]。但是許多學生對于數據結構的概念、知識理解不夠,思考分析能力還處于一個較低的水平,所以不少學生反應數據結構是比較難學的一門課[6]。這些年來,我校各級領導對數據結構課程非常重視,加大力度進行組織建設,特別是在教學內容組織、師資隊伍建設、教學模式改革、實踐環節加強以及共享資源的開發等方面,具體論述如下。
1教學內容的組織
數據結構作為計算機專業的核心基礎課,主要思想是問題求解的理論與方法、抽象和設計的理論與方法等[4]。于是我們將課程內容分為概念表述、構建數據模型、算法設計與實現3個層面,突出數據組織方法與算法的實現技術,以適應不同層次的教學需求。采用面向對象的思想方法介紹數據結構的相關理論與方法,貫穿程序設計的思想觀點,引入抽象數據類型的概念及其基本性質,重點培養學生的數據抽象能力,突出構造性思維訓練,強化程序抽象能力和數據抽象能力的培養。
在教學過程中,我們圍繞抽象數據類型,采用面向對象的思想觀點,從基本概念、基本結構、基本方法來講解教學內容,并貫穿了計算機專業的一些問題求解方法。使用熟悉的C語言作為算法描述語言,便于學生把注意力集中在算法的理解上。通過給出用C語言實現抽象數據類型的方法,使數據結構的表示容易理解。采用定義、存儲以及典型算法實現來展開教學內容,并引導學生提高實際的應用能力。
我們在組織教學內容的時候注意知識點的前后呼應,而不是以簡單的流線形式呈現[7]。通過實踐證明,這樣可以幫助學生在學習新知識的同時復習以前的知識。例如有關排序知識,在程序設計課中已經學習了冒泡排序、選擇排序,在數據結構課中又學習直接插入排序、希爾排序、歸并排序、快速排序、堆排序等;這些排序算法可以應用于現實生活的很多地方,學生成績的排序、大學食堂買飯菜的排隊等;同學們在學習新的排序算法的同時可以復習以前的排序算法;還可以在自己熟悉的應用問題中實現各種排序算法,并對它們分析比較,收到很好的教學效果。
2師資隊伍的建設
教學質量的優劣取決于課程負責人、主講教師的教學水平和整體的能力[8]。課程建設需要有一支結構合理、綜合能力強的教學師資隊伍;建設學術水平高、教學水平高的師資隊伍是保證課程教學質量的關鍵。因此精品課程的建設過程也是篩選和培養一流教學師資隊伍的過程。通過精品課程的建設,我們組建了一支由8名教師組成的結構合理、綜合能力強的教學師資隊伍,其中高級職稱3人,中級職稱4人,初級職稱1人。教學隊伍中所有老師具有碩士或博士學位;年齡呈現梯隊結構,其中30歲以下的2人,40歲以上的2人。
本課程的教學師資隊伍中不但有主持過多項科研、教研項目的教授,也有教學經驗豐富的主講教師,并配有動手能力強的專職實驗教師。在課程建設過程中注重對青年教師的培養,通過“傳、幫、帶”的辦法,使青年教師走上主講教師的崗位,逐步挑起教學重擔;鼓勵中青年教師參加相關領域的師資培訓學習、參加科研和教研活動等,逐步提高他們的綜合能力。
3教學模式的改革
我們主要選擇并推廣精選案例(Selected Cases)、扼要講解(Briefly Explain)、任務驅動(Task-Driven)的教學模式,簡稱SBT教學模式[9]。
第一步,任課教師在深入鉆研數據結構教材的基礎上,根據課程的教學目的精心選擇教學案例。所選案例既能反映教學內容要表達的思想,又能讓學生容易理解。因此要求教師明確數據結構課程的教學目的:學生通過本課程的學習掌握如何根據問題的需求合理地組織數據,在計算機中有效地存儲數據和處理數據[10];通過該課程的實踐環節,對學生進行程序設計的訓練,鞏固加深對數據結構的理解,提高綜合運用本課程所學知識的能力,培養學生獨立思考、分析問題和解決問題的能力[11]。
第二步,任課教師對教學內容進行概括,結合教學案例進行簡單扼要地分析講解,使學生理解有關概念、掌握有關操作。在教學過程中注意啟發學生思考問題、分析問題,引導學生解決問題,提高學生的實際動手能力。
第三步,任課教師給學生布置具體課外任務,通過學生獨立完成具體的課外任務來實施教學。其中課外任務的提出可以結合學生的特點和興趣,使學生按自己的需求去學習,從而培養出獨立思考、勇于創新的自學能力[12]。
例如在講解哈夫曼編碼的內容時,我們一般先講一個簡單易懂的實例。學生很快就能理解哈夫曼樹的構造過程以及具體的哈夫曼編碼形成過程。然后引導學生理解哈夫曼樹的存儲和哈夫曼編碼的存儲。在學生掌握了這些存儲結構之后,再結合實例講解哈夫曼樹的構造算法、哈夫曼編碼的求解算法。最后布置課后作業完成一個求解哈夫曼編碼的實例程序,大多數學生能夠按時完成任務,教學效果良好。
4加強實踐環節
數據結構實驗應能達到如下基本目標:培養學生應用數據結構基本知識來分析問題、解決問題的綜合能力;幫助學生建立計算機問題求解的意識,主要是通過認識數據結構在問題求解中的地位來完成這種認識的建立;訓練學生用系統的、規范的觀點來進行計算機問題的分析、設計、編碼等[13]。
首先,改善實驗條件。在各級領導的大力支持下,我們更新了計算機專業實驗機房;實驗所需軟件都能在新學期開學之前完成安裝調試;每個實驗室配備一名維護人員,負責實驗室的運行與維護;設備完好率99%以上,實驗開出率100%。除了規定的上機實驗以外,提倡學生自己課余時間上機練習。為此,學院設有兩個開放實驗室,配備專門的實驗指導老師對學生免費開放。機房內計算機專業學生身影不斷,有的在復習教師的課堂教學內容,有的在閱讀網上的參考資料,有的在下載教師布置的作業,有效促進了良好學風的形成。
其次,加強實驗管理。在開學之初,主講教師與各班學習委員確認課內上機時間,并通知到每一個學生,實驗指導書、教材、習題集同時發到每個學生。每個學生必須完成教學大綱規定的8個實驗項目,實驗成績占30%;所有實驗實現1人1組;實驗前安排1次答疑;學生上機前必須完成預習,寫出完整的源程序,準備好上機步驟和調試數據。在實驗過程中遇到學生提問時,老師給學生一些提示信息,盡量讓學生自己將程序調試通過;實驗后要交實驗報告;教師批改后評定成績,不合格的學生必須重做。
第三,注重課程設計。課程設計是對所學知識的鞏固提高,是培養科研能力的重要環節。引導學生搞好課程設計的關鍵是選好題目與做好課程設計的準備工作。而課程設計題目的選擇要和所學知識緊密聯系,又與學生的創新能力培養密切相關。通過課程設計積極引導學生參加課外科技活動、校級省級程序設計大賽、大學生創新項目的探索等,以提高學生程序設計能力。
5共享資源的開發
建設精品課程的目的是通過為學生提供優質的教學資源來提高教育質量。我們在課程建設中使用網絡技術手段,建設了精品課程網站。精品課程網站由以下幾個部分主成:課程介紹、課程負責人、課程特
色、申報材料、教學大綱、課件與教案、教學錄像、教學論壇等。其中課件與教案就是教師上課使用的課件和教案,方便學生在不同時間、不同地點進行下載,然后根據自己的需要進行自主化的學習。任課教師還把自己的實驗程序、常見問題分析、習題解答等內容放到網上,供同學們學習參考。
6結語
隨著計算機技術的不斷發展,教學改革也在逐步深入,這必將對數據結構課程的教學提出更高的要求。因此精品課程的建設是一項長期的工作,也是一項綜合的系統工程。在今后的課程建設過程中,我們要用先進的教育理念武裝自己,不斷擴充新的教學內容,完善教學網站,強化實踐教學環節,為學生提供更多優質教學資源,培養出更多更好的符合社會需求的應用型人才。
參考文獻:
[1] 侯治富,金祥雷,谷樹嚴,等. 精品課程建設目標及實現途徑的研究與實踐[J]. 中國大學教學,2006(1):21-23.
[2] 李銀芳. 高校精品課程建設中應注意的幾個問題[J]. 中國高教研究,2007(1):91-93.
[3] 許坦,石. 精品課程發展現狀綜述[J]. 中國電化教育,2007(5):53-56.
[4] 嚴蔚敏,吳偉民. 數據結構(C語言版)[M]. 北京:清華大學出版社,2002.
[5] 耿國華,王小鳳,張德同.“數據結構與算法”課程工程型知識體系研究[C]//大學計算機課程報告論壇組委會. 大學計算機課程報告論壇論文集. 北京:高等教育出版社,2009:9-13.
[6] 顧沈明,張建科,李鑫. 數據結構教學模式的改革與實踐[C]//浙江省高校計算機教學研究會. 計算機教學研究與實踐. 杭州: 浙江大學出版社,2010:111-114.
[7] 劉雪梅,袁文翠,富宇,等.“數據結構”教學模式變遷的若干思考[C]//大學計算機課程報告論壇組委會. 大學計算機課程報告論壇論文集. 北京:高等教育出版社,2006:535-537.
[8] 耿國華. 數據結構課程改革與教學資源建設[C]//大學計算機課程報告論壇組委會. 大學計算機課程報告論壇論文集. 北京: 高等教育出版社,2006:150-153.
[9] 潘洪軍.“精選案例,扼要講解,任務驅動”教學模式[J]. 中國高教研究,2008(11):55-56.
[10] 王玉峰,劉寶旨,王猛劉,等. 也談“數據結構”的教學[J]. 計算機教育,2007(15):21-23.
[11] 舒堅,劉琳嵐,陳斌全,等.“數據結構”課程實踐教學改革的設計與實踐[C]//大學計算機課程報告論壇組委會. 大學計算機課程報告論壇論文集. 北京:高等教育出版社,2007:401-404.
[12] 王炳強,張植才. 任務驅動法在C語言程序設計課程中的應用[J]. 黑龍江科技信息,2009(5):53.
[13] 李治軍,廖明宏,張巖. 數據結構與算法課程設計教學模式的探討教學資源建設[J]. 計算機教育,2006(2):54-56.
Organization and Construction of High-quality Course of Data Structure
GU Shenming, WU Yuanhong, HUANG Haifeng
(School of Mathematics, Physics and Information Science, Zhejiang Ocean University, Zhoushan 316000, China)
數據結構實驗報告范文6
關鍵詞:實驗教學;教學改革;教學模式;數據結構
0、引言
編程能力是軟件工程專業中最重要的專業技能,也是評價學生專業素養和專業水平的首要指標。這種能力的培養必須通過對程序設計語言、數據結構和算法分析與設計等課程的學習,與課程對應的課內實驗練習以及針對具體工程問題的實訓幾個環節,按層次遞進式地進行。在這種能力培養過程中,數據結構課程教學、實驗和實訓處于核心地位,通過培養學生設計良好風格的算法,提高解決具體問題的能力,為計算機應用軟件的研制打下堅實的理論和實踐基礎。通過對“數據結構”教學中存在問題及產生原因的分析,筆者提出了以“實驗教學”深化“理論教學”的新的數據結構教學模式,強化數據結構基本知識和基本技能的培養,以期實現軟件工程專業規范中提出的“加強學生實踐和動手能力的培養”這一目標㈣。
1、數據結構教學中存在的問題及原因分析
1.1 存在的問題
數據結構教學包括教和學兩方面。從教的角度看,課程理論性強,講起來枯燥,學起來困難,如算法實現受制于對程序設計語言的掌握,往往很難給出一個直觀的結論。從學的角度看,該課程是專業基礎課,是軟件開發和設計的基礎,也是考研的科目之一,學生從態度上十分重視。然而在學習過程中,由于課程與離散數學、程序設計語言的掌握程度密切相關,本身邏輯性強,學生往往一次沒弄懂,接下來就比較惘然,課程結束了也不知道學了什么,更不會利用學過的知識去解決具體問題。
1.2 產生的原因
數據結構課程邏輯性強,但教師授課時不能將離散數學和程序設計語言課程中的內容以及數據結構課程本身的知識點聯系起來,不能對共性問題進行提煉歸納,使知識點系統化。
邏輯性強的算法很抽象,即使采用類語言描述,算法執行的結果也不能直觀地表示出來。教師在講授高級語言時更強調掌握語言的基本知識,很少關注培養編制程序解決具體問題的能力。受課時的限制,教師無法在課堂上用高級語言實現所有算法的傳授。有限的幾次課內實驗也往往由于學生編程能力的欠缺,不能順利完成,使學生完全失去對課程的興趣和學習的信心。
受到上機實驗時間以及學生偏弱的編程能力的限制,上機實驗就只能練習規模小、針對基本原理的小程序,當面對具體復雜的綜合性問題時,學生不知道如何合理地運用所學的數據結構知識解決問題。
顯然,課程的教學一方面要加強理論指導,進一步培養學生的邏輯和抽象思維能力;另一方面要加強實驗操練,進一步訓練學生使用程序設計語言的能力,通過課程中典型算法的實現,提高學生使用指針、復雜數據描述和處理問題的能力。實驗教學既是對學生理論學習的檢驗,也是對學生綜合能力的鑒定,因此,實驗教學是深化理論教學的關鍵。
2、教學模式設計
理論教學讓學生掌握數據結構課程的基本理論和基本原理,這是課程教學的最終目的,因此理論教學不能忽視。教師在精心講解的同時,也要強化實驗和實訓,將基本理論中的知識點細化為實驗內容,通過精心設計多層次的實驗,鞏固和強化理論知識的學習。加強實驗環節的過程管理可以強化理論教學的效果。我們按照軟件開發的工程化思想,綜合應用基本知識,針對具體問題開發應用軟件。教學模式的設計包含下面3個環節。
2.1 以教材章節中的一個或幾個知識點設計基礎實驗內容
數據結構基礎實驗可以在線性表、堆棧、隊列、二叉樹、圖、查找、排序等章節中分別進行設計。教師在設計時要明確每個實驗強化的基本知識點,選擇難度適中的典型算法進行訓練,讓實驗內容涵蓋課程的主要知識點。學生用規范的軟件開發方法和程序設計語言實現算法,既加深了學生對算法的理解,又提高了他們的編程能力。
加強實驗過程的管理。實驗前,要求學生理解實驗涉及的基本知識點,編寫好程序。進入實驗室后,學生要集中精力進行程序的調試和修改,提高語言的使用能力。實驗結束后,學生要寫出實驗報告,重點寫出調試過程,成功和失敗的經歷,寫好實驗總結,提高軟件文檔的寫作能力。
2.2 以教材中相關的某幾個知識點設計綜合性實驗內容
設計需要用幾個知識點解決的、有一定具體含義和應用背景的綜合性題目,要求學生以小組為單位合作完成。這些綜合性題目設計的基本要求是運用書本中學到的幾種算法解決一個實際問題,要求學生分析問題、組織數據、提出解決方案。
在實驗過程中,首先,按照軟件工程化的思路進行問題規劃、任務分工、團隊協作,具體實驗步驟包括:問題分析、任務分解、數據類型描述、系統概要設計、詳細設計、編碼、調試和實習報告編寫。其次,題目的設計采用招標的形式,可以讓學生自己設計題目,征集解決方案;也可以從多種解決方案中選擇優秀的方案進行實施。第三,指導教師要充分參與到學生的實驗過程中,通過論壇等形式收集學生的反饋信息,及時了解學生對知識的掌握情況、題目的完成情況以及學生的意見。
2.3 增加激勵措施,改革成績評價機制
加大實驗課程成績在總成績中的比例,給予實驗課程優秀的學生參加競賽和參與教師科研的優先權,激發學生學習的主動性和創造性。
3、教學模式實施
我們設計了一組課內實驗和訓練的題目,涵蓋了數據結構課程的主要知識點。在實施這種教學模式的過程中,我們采用了嚴格的實驗過程管理,經過兩年的實踐,教學效果良好。學生不僅掌握了數據結構的基本知識和程序設計的基本技能,而且鍛煉了解決問題的能力和團隊合作精神,在機器人競賽和軟件外包服務編程大賽中取得很好的成績。具體實施過程包括下面的幾個環節。
1)強化理論教學。
筆者結合教學體會,編制了數據結構補充講義,內容包括c語言的高級技巧(指針的使用和函數的設計)、數據結構中典型算法和算法設計方法(分治法、遞歸、優化算法、線性規劃等)幾個方面;給出了典型的練習題目和詳細的答案;另外,對考研大綱進行了解析,提出了復習的方法和措施。這些內容的梳理讓同學對整個課程的基本知識點有了更清晰的了解。
2)重視基礎實驗。
根據數據結構中的知識點設計對應的基礎實驗,采用基礎實驗與課堂教學同步進行的方式,要求學生在學習該知識點后,在實驗課中完成對應的實驗內容,通過這樣的訓練,強化對基本知識點的掌握。基礎能力實驗及知識點對照見表1。
3)設計綜合性實訓。
首先通過對大型程序的分析,學生了解和掌握基于軟件工程的大型程序開發的模型和方法,了解團隊合作的意義和步驟,了解軟件文檔寫作的基本步驟和規范。我們從多個征集的實訓題目中挑選了有代表性的訓練題目,見表2。
根據是否給出詳細的設計和解決方案,將這些題目分為不同等級,便于學生的合作和成績的評定。
(1)等級1提供詳細的系統分析過程和算法流程,提供程序設計的框架,訓練學生綜合應用基本知識的能力。學生1人一組,獨立完成,分數從60分起評。
(2)等級2提供初步的系統分析過程和算法的基本過程描述,要求學生自己設計算法,訓練學生項目開發的能力。學生1~2人一組,合作完成,分數從75分起評。
(3)等級3要求學生自己查閱相關資料,寫出詳細的系統分析、設計算法,2~3人一組,訓練學生利用軟件工程的思路,獨立設計開發應用軟件的能力。分數從85分起評。
4)改革成績評定辦法。
期末考試成績中理論成績占總成績的30%,課內實驗占30%、綜合實訓占40%。學生以團隊形式,獨立提出問題,經過合作完成任務的給予加分。選拔成績優秀的學生參加各類程序設計競賽,吸收在課題研究中表現突出的學生到學院各類橫向或縱向課題的研究梯隊中,開展初步的科學研究。