日韩精品高清自在线,国产女人18毛片水真多1,欧美成人区,国产毛片片精品天天看视频,a毛片在线免费观看,午夜国产理论,国产成人一区免费观看,91网址在线播放
公務員期刊網 精選范文 數據結構實驗報告范文

數據結構實驗報告精選(九篇)

前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的數據結構實驗報告主題范文,僅供參考,歡迎閱讀并收藏。

第1篇:數據結構實驗報告范文

數據結構》是計算機本科專業的一門核心課程,討論如何在使用數據的時候有效地組織數據。該課程與《程序設計》、《算法設計》等本科課程有著重要的聯系,是本科計算機專業的一門核心課程,在國內有不同版本的教材可以選擇。本文討論《數據結構》課程的教學內容安排、教學形式、實驗形式、考核形式、教學關鍵點等方面的相關問題,這些問題同時也在其它課程教學中存在。通過這些問題的討論,期望為數據結構課程的進一步改革與提高提供思路與借鑒。

1教學思考

在下文中,對數據結構課程的相關內容分項進行闡述和探討。

1.1教學內容安排

教師授課,應該對該門課的核心思想具有很深刻的認識。具體來說,應該對該門課的背景(在整個計算機學科中的位置與意義)、核心思想、典型技巧(如將典型數據結構模塊化、接口標準化等)、核心內容(表、堆棧、隊列等結構)具有深刻的認識。然后,再有所取舍地安排教學計劃。在不同層次的學校,應根據學生的水平不同而對教學知識點有所取舍。教學計劃最忌諱大而全地按照教材或考研大綱進行安排,這樣很容易造成10個知識點都有所涉獵,但每個知識點學生都只能理解50%。這樣還不如只深刻地教授3個核心的知識點,學生可以從這三個核心的知識點理解整個課程的關鍵與本質,同時可以由自我學習的途徑去掌握其它知識點。現在,許多高校的教學形式是針對同一門課程,多個教師對不同班級進行教學,同時,在期末進行統一的期末考試。這種統一的考核形式有利有弊,其利在于可以比較客觀地衡量不同教師的教學效果;但其弊在于各個教師傾向于按教學大綱撒大網式地教學,因為教師們害怕統一考試中有自己未講到的知識點而遭到學生抱怨。久而久之,教師們就會形成不是按教學內容的核心與重點,而是按教學大綱(而非大刀闊斧地有所取舍)死板地安排教學計劃,或者按統一期末考試可能的考點進行安排教學。而這樣的危害是非常大的。

1.2教學形式

現狀強調多媒體形式教學(比如利用powerpoint),但某些內容不適合PPT。例如,某些算法或代碼,其思維的產生可能不是從前往后過程化的,比如可能是先寫后面一段,再寫前面一段;又比如一些情況下需先寫while循環內部的循環代碼,再添加上面的循環條件判斷語句。讓學生了解思維的正常產生過程極其重要。因此,如果教師能不依賴PPT,即使在沒有PPT的情況下也能依靠一頁提綱和一只粉筆講完整堂課,那么基本可以判斷這個教師對該門課理解地很透徹了。當然,PPT的好處在于描述清晰與完整,節省時間。所以如何利用PPT的長處,同時避免依賴PPT是教師值得思考的問題。

1.3實驗形式

現有高校的數據結構實驗通常是教師發放給學生實驗指導書,然后學生按實驗指導書進行編程實驗,最后撰寫實驗報告并上交。教師最終根據學生的實驗報告給出實驗分數。這種實驗形式弊端非常大,其一易導致學生互相抄襲,教師不得不浪費大量精力去鑒別是否抄襲;其二易導致學生把大量寶貴時間花在撰寫死板的實驗報告上,而忽視了實驗本身的意義。筆者針對這些弊端,采取了一些相應對策。一是鼓勵學生當場提交(實驗指導書已提前發給學生),同時當場提交的學生需接受教師的提問。二是禁止學生在課堂上撰寫實驗報告。同時,若學生當場提交并回答教師提問的話,學生可以將實驗報告極簡要地撰寫。教師可以通過這個方法很好地了解學生的情況并避免實驗考核的形式化。

1.4考核形式

上文提到,許多高校針對同一門課程,安排多個教師對不同班級進行教學,同時,在期末進行統一的期末考試。這種課程考核方式有利有弊。當然,筆者注意到,不由各個老師自由安排各自班級的考試,其目的還可能有防止個別教師因進行應付式的教學而輕率刪減教學內容的原因。但是,我們認為,為了防止個別教師的應付式教學,利用本專業的教授委員會進行聽課與評判,同時結合學生對教師的評價意見,是一個較好的方法。對于考核的形式,現在很多高校強調考試的標準化(比如要求題型分布多樣,要求有選擇題、判斷題、簡答題、編程題等。同時要求各題型分值分布均勻)。筆者認為,這種所謂的考試題型標準化,其弊遠遠大于利。不同學科有各自不同的特點。比如數據結構,如果是書面考核,很容易由一道算法設計題知道學生的大致水平。如果是上機考核,諸如算法設計并編程的題就更容易測試出學生的真實水平了。從教學實踐上,學習考核對于學生學習什么內容、按什么方式學習、對學科知識理解到多少深度有著非常大的影響。比如,側重于記憶性概念的考核則會引導學生花大量時間去死背概念,而不會注意思考概念背后的本質。所以筆者在教學過程中,加大平時實驗在課程考核中的比重,讓當場完成并能回答教師問題的學生得到更高成績。另外,談一下對教師的考核。從現狀看,考核壓力對教師的教學積極性影響很小。這是因為:督導和學生評價確實會突出一些教學方式優秀的教師,但并不絕對。因為確實存在因科目差異因素而導致評價與教師素質背離的現象(某些偏理論化和難度較大的科目,評分會普遍偏低;某些“觀賞性”較強、較少公式推導的科目則會偏高)。而現有高校的教學考評往往會集中在上課是否缺席遲到、評卷是否分數有誤這些易于把握,但和教師深層次的教學素質聯系不強的考核標準上。因此,探討有效的教師考評機制也是一個值得思考的問題。如前文所述,筆者認為讓本專業的教授委員會聽課并結合學生意見進行評價是一個效果不錯的方法。

1.5教學關鍵點

筆者在數據結構課程的教學過程中,對某些教學關鍵點有一些體會,在此簡單列舉。

1)工具背景與設計思路。表、堆棧、隊列、樹、圖等基本數據結構實際上是人們經過實踐,抽象總結出來的常用數據模型工具。這些數據結構的出現背景與應用場景、設計思路與設計關鍵體現了數據結構課程的思維核心。

2)工具接口的標準化。這些工具,抽象成某個數據結構類型的描述后,其接口(或者稱ADT描述)應該是標準的。這就意味著接口描述(對應程序中的接口函數申明)不應隨內部實現的形式不同而出現差異。這不僅是ADT描述標準化的要求,也是程序模塊標準化的需求。但筆者注意到,在某些數據結構教材中,針對同一種數據結構,比如堆棧,順序實現的堆棧和鏈式實現的堆棧卻有著不同的函數申明。更具體地,用C語言描述,若順序堆棧的pop接口申明是ErrorCodepop(Stack&S,ElementType&e),而鏈式堆棧的pop接口申明是ErrorCodepop(Stack*S,ElementType&e),那么這是明顯不合適的。

第2篇:數據結構實驗報告范文

關鍵詞:數據結構;實踐;多維;教材

“數據結構”是在20世紀60年代中期才設立的一門課程。它主要討論在軟件開發過程中的分析、設計與實現中的若干基本問題[1]:1)問題的建模。如何把客觀世界的問題映射到計算機世界中?如何在計算機世界中表述和存儲客觀世界中的對象?它是算法處理的對象。2)問題的求解方法,即算法。3)算法的評價。評價算法的優劣。算法是數據結構的主要研究內容。算法是計算機科學的核心,也是一種一般性的智能工具。“學習算法有助于人們對其他學科的理解,不管是化學、控制、甚至音樂,即使非計算機專業的學生,學習算法的理由也是非常充分的[2]。”因此,數據結構是高級程序設計、編譯原理、操作系統、數據庫、人工智能等課程的基礎,它不僅被作為計算機相關專業(如計算機科學與技術、軟件工程、網絡工程等)的一門核心的專業基礎課;也是工科、理科、醫科等學科中許多專業的必修或選修專業基礎課。

“數據結構”課程具有抽象性和實踐性。客觀世界中的問題在計算機中的表示與算法描述是抽象的,但算法的實現是實踐的,惟有通過實踐才能真正掌握課程內容,達到學習目標。通常在有限的課時內,教師主要講授的是抽象部分,此種情況下如果沒有相應的實踐,課程的學習將如同在沙漠建房,難以落成。

因此,如何構建能夠有效的實踐環節,一直是教師關注的問題。

筆者結合“數據結構”課程建設,就多維一體的“數據結構”實踐教學系統的構建與實現進行總結,以期為“數據結構”實踐教學提供一定的參考和借鑒。

1 “數據結構”實踐活動層次

實踐是一切認識活動和知識的前提[3],學生的認識主要是在實踐活動中發展起來的[4]。筆者根據由淺入深、循序漸進和創新能力獲得的規律,將課程實踐活動按層次由低到高分為驗證型實踐、設計型實踐、綜合型實踐和創新型實踐。

1.1驗證型實踐

荀子說:“聞之,不若見之;見之,不若知之;知之,不若行之……行之,明也。”驗證型實踐指通過運行已實現的算法對書本知識及算法進行對錯性的驗證。驗證理論的實踐活動使學生充分領悟知識的內在意蘊,加深學生對基礎知識的理解,掌握基本實驗技能,為后續較高層次的實踐活動奠定基礎。驗證型實踐活動從內容上來講,它依附于課堂教學,是課堂教學的延伸和補充。

1.2設計型實踐

設計型實踐指用所學的一個或若干個知識點去解決特定的問題。通過對問題的求解,了解知識的應用場景,獲取知識的初步應用能力。智慧來源于知識,但知識不會自然而然地達成智慧,需要通過實踐活動對知識“內化”和“活化”,起關鍵作用的是人的實踐經驗[5]。這里的知識是局部的,是一個個知識點。大量的設計練習是解決較復雜的問題的基礎。

1.3綜合型實踐

綜合型實踐是指將所學的數據結構思想與方法,應用到軟件開發的分析、設計與實現等方面。綜合型實踐要用到課程的許多知識點。能力與智慧的獲得,絕不是簡單的累積,此處,1+1≠2。學習者可能掌握各個知識點及其各自的應用,但不等于具備解決復雜問題的能力,盲人摸象的典故正說明這一點。通過綜合實踐,引導學生從全局的觀點,認識數據結構課程的精髓和本質;指導學生如何綜合地將所學的知識應用于軟件開發過程中。

1.4創新型實踐

創新型實踐是指能夠激發和培養學生創新能力的實踐活動。培養具有創新精神和實踐能力的有較高綜合素質的人才是當代教育的目標,也是學校教學的出發點和歸宿。但“人的發展以人在不同經驗方式中發展為前提[5]”,創新型實踐旨在通過實踐活動培養學生的創新能力,由舊知識建構新知識,達到學習的目標。

2數據結構實踐活動的實施

實踐活動的參與者有教師和學生兩方。學生是實踐的主體,旨在運用所學的知識和理論發現問題、分析問題、嘗試解決問題,目的是提高解決問題的能力。教師是引導者,為學生提供必要的實踐環境和條件,當學生遇到困難時,給予指導;對學生的實踐成果給予評定,使他們不斷進取。

2.1驗證型實踐

對驗證型實踐的處理方式有兩種。一種是作為課程實驗內容。此法的不妥之處在于:1)在有限的實驗課時內,只能完成驗證工作的很少一部分;2)如果把驗證作為課程實驗的主要內容,那高一層次的設計型實驗就沒有時間了。另一種方式是完全由學生自我解決。持該觀點者認為,算法的實現是學生在學過高級程序設計語言后應該能解決的問題,不是本課程應該關注的。其實,算法描述和算法實現之間是有距離的,這如同一臺機器的構造和機器生產工藝流程之間的區別一樣,能夠跨越這個距離的學生很少,即使有的學生具備這個能力,但因時間、精力所限,也不可能實現教材中的所有算法。

一個人接受科學教育的最大收獲是那些能夠受用一生的智能工具。數據結構正屬于這類教育的內容。通過學習算法,學生一方面開擴眼界,培養正確的思維方法,更重要的是數據結構介紹的典型數據模型和實現,是一種可以用于解決復雜問題的工具。如果學習者的學習只是紙上談兵,就不可能學會工具的使用,就無法用工具去解決問題呢?所以,無論從學習者的認知所需還是從課程的學習目的來看,以適當的方式幫助學生掌握典型的數據模型的實現是必須的。因此,上述兩種方法均不可取。我們的做法是由教師實現這些數據模型并把源程序提供給學生,學生利用課余時間自行進行驗證實驗,具體任務如下。

1) 教師。①給出教材中相應算法實現后的源程序;②給出程序設計說明,方便學生理解程序的結構與功能;③給出思考題,引導學生閱讀源程序和理解源程序;④給出操作說明和測試用例,引導學生進行正確性地驗證和更全面地理解算法。

2) 學生。①理解相關背景知識;②根據程序設計說明和思考題閱讀源程序;③根據操作說明運行源程序的測試用例,并進行結果分析;④回答思考題。

為了督促學生進行驗證實踐,要求學生將任務③、④的工作記錄作為作業上交;教師利用課堂提問,抽檢和討論部分源程序的運行結論。

2.2設計型實踐

設計型實踐活動分為兩個部分,一是課程實驗,二是作業。

2.2.1課程實驗

鑒于實踐對數據結構學習的重要作用,一般會拿出課時的1/5~1/4用于課程實驗。針對課程實驗,教師與學生的工作分別如下。

1) 教師。①給出問題描述,提出問題解決的基本要求,如采用的知識點、輸入輸出要求、算法復雜度等;②對問題進行初步分析,必要時給出邏輯設計和存儲設計的建議;③酌情給出算法描述;④給出若干測試用例,引導學生進行功能測試,領會健壯的程序設計;⑤給出實驗報告撰寫要求,包含問題描述、數據結構設計、功能劃分和算法設計、界面設計、運行與測試、總結與心得、源程序等。

2) 學生。①分析問題;②定義數據結構;③給出算法描述;④編程實現算法;⑤用測試用例測試程序,記錄運行結果;⑥寫出符合要求的實驗報告。

教師通過檢查源程序運行情況和批閱實驗報告,了解和評定學生的實驗情況。

2.2.2作業

作業題分為兩類:基本概念題和算法設計題。部分算法設計題要求學生編程實現,以彌補課堂設計實驗的不足。對于這部分實踐活動,教師布置題目,通過批改作業,檢查學生的完成情況。學生編程實現題目,將設計思路、算法和運行結果形成作業上交。

2.3課程設計

課程設計對應于綜合實踐活動。對于計算機相關專業的學生來說,在“數據結構”課程學習結束后,通過前期的驗證和設計實踐,具備一定的綜合使用課程知識解決問題的能力和規范的程序設計能力。所以,一般在課程結束后,單獨有1~2周的“數據結構”課程設計,教師與學生的工作分別如下。

1) 教師。①制定課程設計實施計劃書。給出課程設計的目的和要求、日程安排、考核方法及分組情況等。②給出問題描述。區別于設計題,這里的問題一般較復雜,實現的源碼,一般均在500行以上,甚至千余行。③提出設計要求,引導學生進行概要分析。可分為基本要求和較高要求,與不同層次的學生的能力相對應。④設計提示。綜合設計的問題解決,通常包含多個算法,對其別難的、學生不易想到的要點給出提示。⑤提出課程設計報告的寫作要求。包含需求分析、概要設計、詳細設計、調試分析、測試分析、總結與體會、使用說明及源程序等。

2) 學生。①根據實施計劃書的進度要求、問題描述和設計要求進行“概要設計詳細設計調試測試”的問題求解;②接受系統檢查;③撰寫符合要求的課程設計報告。

教師通過作品檢查和批閱課程設計報告給出學生的課程設計成績。教師通常在課程設計的最后一天,通過運行系統和提問,檢查學生的系統設計與完成情況。

2.4科技活動

學生的創新能力來自科研實踐。科研實踐要因人而異,針對學有余力的學生,通過下列三種途徑提供科研實踐活動。

2.4.1項目開發

通過項目鍛煉,培養學生進行科學研究的工作方法和相互協作的精神。

1) 輔研。教師積極向學生介紹自己的研究方向和課題,吸納有特長和興趣的學生參加自己的項目研究,根據其知識結構,給學生布置力所能及的任務,逐步深入。

2) 項目申報。積極鼓勵學生參與各級項目的申報。學生作為申報人并獲得資金的資助,能有效增加其完成項目的責任感與投入其中的熱情。

2.4.2社會實踐

“沒有經驗”被企業視為大學畢業生的最大弱項。參加社會實踐,是學生獲取經驗的最好途徑。學習數據結構的學生基本上是大二和大三的,這樣,他們有1~2個暑假,可以進行社會實踐。教師向學生宣傳社會實踐的好處,介紹社會實踐場所。學生在寒暑假或平時課余時間,到某個單位短期工作或兼職工作,參與單位具體項目的工發。

2.4.3競賽

競賽是學生用理論知識解決實際問題的有效載體,是檢驗、鍛煉、提高和展示學生科技創新能力的很好平臺。競賽所帶來的榮譽感,能夠有效激勵學生的創新熱情。常見的競賽有:校級的“希盟杯”電腦技能設計大賽、網頁設計大賽等;市級的“天翼杯”電腦技能大賽、科技創新大賽等;省級的“富士通”杯網頁網站設計大賽、大學生軟件設計大賽等;國家級的數學建模大賽、“挑戰杯”全國大學生科技作品競賽、軟件人才設計大賽等。

教師及時地把各種競賽信息通報給學生并組織學生申報;組織好競賽作品的創作與指導工作;對參賽者和獲獎者給予一定的獎勵,并對參賽作品進行展示和宣傳,擴大活動效果,以吸引更多的學生參與競賽活動。

3 “數據結構”實踐平臺

為了使數據結構的實踐活動能夠順利進行,我們編寫了《數據結構實踐教程》[6],創建了“數據結構實踐教學網站”作為實踐教學實施平臺。

3.1 《數據結構實踐教程》教材建設

本書含蓋了1―3層的實踐活動的素材和實施指導。全書分為三篇:驗證篇、設計篇和綜合篇。

1) 驗證篇。詳述《數據結構》[1]教材中相關算法的實現。本篇首章介紹算法到程序轉換的基本步驟及需要注意的問題;給出了進行驗證性實驗的步驟;同時介紹了實驗環境。其余各章按教材教學內容進行編排。每個應用程序的敘述采用一致的結構,由如下四個部分組成:①程序設計。給出數據的類定義和程序結構圖。②源程序。方便學習者研習程序設計思路、程序結構、改進程序以及更好地操作程序。③程序運行。給出程序操作方法介紹及程序運行界面。④思考題。引導學習者更深入地理解程序、程序所實現的算法、程序所采用的存儲結構以及可改進之處。

2) 設計篇。針對一定的知識點給出不同難易程度的設計題,作為課程實驗和課后程序設計素材。本篇介紹了設計型實驗的實驗步驟、設計內容;提供了實驗報告格式,并給出一個實驗報告案例。其余各章按教材教學內容進行編排,每個設計題由以下五個部分組成:①問題描述。給出問題背景,提出需要解決的問題。②基本要求。給出算法實現時對數據邏輯結構、存儲結構、功能設計、數據輸入或輸出上的要求。③實現提示。對算法設計給出必要的提示或偽碼描述。④測試與運行。給出測試案例。⑤思考題。提出相關問題或更高設計要求。

3) 綜合篇。針對一個以上的知識點給出綜合設計題,可以作為課程設計素材。全篇首章給出有關綜合設計項目涵蓋的內容、綜合設計報告格式以及綜合設計成績評定準則等。其余各章按設計任務編排,每個項目任務的敘述由以下三個部分組成:①問題描述。給出問題背景,提出需要解決的問題。②設計要求。提出項目設計與實現時功能上需求,分為基本要求和較高要求。③實現提示。對數據組成形式、相關算法設計上給出必要的提示。

該教材充分考慮了學習者進行1―3層次的實踐活動的可能需求。驗證程序使用菜單界面,結構統一,操作簡單;設計篇和綜合篇內容豐富,提供了各種難易程度、且有一定實用性或趣味性的題目,可以為學習者提供全程指導。

3.2數據結構實踐教學網站

該網站分為用戶管理、學生主頁和老師主頁三個部分,其功能如圖1所示。

圖1 “數據結構實踐教學平臺”系統功能

3.2.1學生主頁

以學生身份登錄系統后進入學生主頁,從中查看實踐教學內容、聯系教師,上傳作業、在線交流等。頁面中包括課程實驗、課程實訓、課程設計、作品展示等。

1) 課程實驗:提供實驗教學大綱、實驗指導書及實驗上傳功能。

2) 作品展示:提供經典算法設計案例、優秀學生作品展示、典型數據結構及其基本操作的算法動畫演示等。

3) 課程實訓:提供習題、試題、典型題解、最新題庫等。

4) 課程設計:提供課程設計指導書、課程設計作品上傳等。

3.2.2教師界面

以教師身份登錄系統后進入教師主頁。教師通過該頁面,公告,進行實驗、實訓(即課外設計)、課程設計、作品、學生、教師等相關信息的管理。

1) 公告管理:實施公告的編輯、及公告的數據庫管理等。

2) 課程實驗:實驗指導相關內容;查看學生上傳的課程實驗源程序與報告。

3) 課程實訓:實訓設計問題及對問題庫的數據庫管理。

4) 課程設計:課設指導相關材料;對學生上傳作業進行管理。

數據結構實踐教學系統的開發為學生和教師帶來了很大的方便,通過網絡突破時間和空間的限制,方便教師與學生之間、學生與學生之間的專題交流,為學生提供豐富的素材。

4結語

實踐教學是“數據結構”教學中不可缺少的環節,對課程學習成效起著決定性的作用。筆者根據課程特點和創新人才培養目標,提出按驗證、設計、綜合和創新四個層次的實踐活動,對教材和網站的建設進行了積極探索,構建了一個多維一體的數據結構實踐教學體系。經過多年的實踐,已經取得了明顯的成效,考研率逐年提高;學生在各級比賽中獲獎越來越多,等級也逐步提高。

參考文獻:

[1] 管致錦,徐慧,陳德裕. 數據結構[M]. 北京:清華大學出版社,2010:3.

[2] 王道俊,郭文安. 主體教育論[M]. 北京:人民教育出版社,2005:309-310.

[3] 張英彥. 論實踐教學的理論基礎[J]. 教育科學,2006,22(4):34-36.

[4] 張英彥. 論高校實踐教學目標[J]. 教育研究,2006(5):46-49.

[5] 陳佑清. 論活動與發展之間的相關對應性[J]. 教育研究,2005(2):77-82.

[6] 徐慧. 數據結構實踐教程[M]. 北京:清華大學出版社,2010.

Multidimensional Practice Teaching System of Data Structure

XU Hui, GUO Rongxiang, ZHOU Jianmei

(School of Computer Sci. & Tech., Nantong University , Nantong 2260019, China)

Abstract: Practice in teaching of Data Structure is a key to affect learning. In this paper, the practice actives are divided into four level from easy to complication, they are test and verify, design, integration and innovation. The division is corresponded to the aim of the course learning and creative ability of students as a precondition. The implementation method of the practice is discussed from the role of teachers and students respectively and auxiliary textbook and website is introduced. The multidimensional one of Data Structure practice teaching system is constructed based on these ideas and materials.

第3篇:數據結構實驗報告范文

關鍵詞:數據結構與算法分析;課程體系;研究型大學;創新性教學

為落實教育部“高等學校教學質量與教學改革工程”,湖南大學肩負著為建設創新型國家而培養創新型拔尖人才的重大歷史使命[1]。湖南大學計算機與通信學院為進一步貫徹以人為本、因材施教的辦學理念,加速培養基礎寬厚、學科知識交叉的復合型人才,充分調動學生學習積極性,以精品課程為目標,進行研究型大學創新性課程建設,實施設計與創新型人才培養模式的本科教學質量工程[2]。在學院制定的新本科教學計劃中,“數據結構與算法分析”是四門學科通識教育課之一。課程教學團隊結合學校和學院的教學質量工程要求,對課程進行了全面的創新建設。

1 “數據結構與算法分析”課程的地位

計算機專業的學生今后無論是從事硬件方向的工作,還是從事軟件方向的工作,其程序設計和算法設計與分析的能力都是非常重要的!隨著計算機應用領域的擴大和軟硬件的發展,計算機加工處理的數據越來越龐大和復雜,而且對其處理的效率也提出了更高的需求[3]。“數據結構與算法分析”就是隨著處理對象的復雜性不斷增加而發展起來的一門課程,作為計算機專業的核心課程,它在專業人才培養鏈條中占有舉足輕重的地位,它是一門承上啟下的樞紐課程,同時也是一門實踐性很強的專業技術基礎課程[4]。

2研究創新性“數據結構與算法分析”課程的目標

研究型大學既要培養研究型人才,也必須培養高質量的應用型人才,即必須多目標培養人才[5]。同時為貫徹教育部本科教學質量工程提出的顯著增強學生的實踐能力和創新精神的要求。我們制定研究創新性“數據結構與算法分析”課程的目標是:激發創新意識,培養研究興趣,訓練兩種能力,提高實踐技能。

研究數據結構的目的是為了學會編寫更高效的程序,基于追求更有效率程序的創新理念,引入并加強“權衡”的概念,培養學生研究數據結構相關的代價和效益的興趣和方法。通過課程教學和實驗,訓練數據結構的設計和算法分析兩種能力。這兩種能力有以下三個層次:1)學會常用的數據結構,形成一個程序員的基本數據結構工具箱,在解決實際問題時,能熟練使用數據結構來表示和存儲問題中待處理的數據元素。2)熟練地應用各種常用的數據結構。掌握對每一個數據結構和相關基本操作算法所花費的時間和空間代價的分析方法。針對實際問題所要求的資源限制,能確定工具箱中的哪一個數據結構對于該問題是最合適的,即解決方案是最有效率的。3)了解研究數據結構和算法分析的方法,培養研究數據結構的興趣,為在解決實際問題中,能發明新的數據結構和進行正確的算法分析打下良好的基礎。

通過該課程的學習,我們不僅要讓學生掌握數據的邏輯結構、存儲結構及其相應的算法,更重要的是激發學生的研究創新意識,培養學生研究問題和解決問題的能力,即能夠把現實世界中的客觀問題變換為在計算機內的表示形式,學會組織數據、選擇算法、養成良好的程序設計風格。所以,“數據結構與算法分析”的教學要以培養學生的實踐能力為核心,重點提高學生的分析設計能力和編程能力,進而提高學生的系統的認知、設計、開發、應用能力,為研究數據處理的科學問題和創新解決問題的科學方法打下堅實的基礎。

3研究創新性“數據結構與算法分析”課程建設

3.1教學計劃

在創新與設計型人才培養模式探索過程中,學院基于基礎厚實、學以致用、知識技能并重的理念,大膽重設課程體系,實現通識教育基礎上的寬口徑專業教育的兩階段培養模式,并將實驗教學組成相對獨立體系,提出了“課程實驗――實驗課程――工程設計訓練――畢業設計”四級實驗體系[2]。學院選出“數據結構與算法分析”等四門專業基礎課程作為專業學科通識教育平臺課程。要求課程相對穩定,安排足夠學時,力求講透講深,夯實專業學科的理論基礎。安排足夠的課程實驗學時,通過課程實驗使學生鞏固加深對理論知識的理解;以及通過相應的實驗課程,訓練和增強學生綜合運用知識的能力。圖1 給出了本科教學計劃的部分運行圖。由圖可知,“數據結構與算法分析”在課程體系中的安排,凸顯了其作為培養學生專業基本能力的地位和作用,強調計算思維能力、算法設計與分析能力和程序設計與實現能力的訓練和培養,為全面培養學生的創新與設計能力打下堅實基礎。

3.2教學大綱

課程教學大綱根據近年全國碩士研究生入學統一考試計算機科學與技術學科綜合考試大綱中的要求,參考全國著名高等院校近幾年使用的教材以及期末考試、研究生入學考試試題編制而成。教學內容包括54個知識點,分為:數據結構緒論,算法分析,線性表,棧、隊列和數組,樹和二叉樹,圖,查找和內部排序八個部分。每個知識點根據課程目標中三個能力層次要求分為基礎知識,重點知識,提高知識,并為其設計相應的教學內容,教學進度,作業題或實驗題以及考查評價要求。

如教學大綱中線性表部分。通過這部分的課堂和實驗教學,要求學生熟練掌握線性表的基本性質,及其順序存儲結構和鏈式存儲結構的描述方法,以及線性表的各種基本操作的實現,這是該部分的基礎知識,注重課程目標中能力層次一的培養。理解線性表的兩類存儲結構的特點,能夠從時間和空間復雜度的角度綜合比較兩類存儲結構和各種基本操作性能的不同特點及其適用場合,這是該部分的重點知識,注重課程目標中能力層次二的培養。了解從實際應用問題的需求分析中發現待處理數據具有線性關系的方法,以及如何設計合適的基本操作,這是該部分的提高知識,注重課程目標中能力層次三的培養。重點考查學生對線性表的基本概念和基本應用的掌握,以及對線性表兩種存儲結構實現(尤其是鏈表實現)的特點的理解情況。通過實驗和算法設計題考查學生對線性表靈活運用的程度。

3.3教材建設

由于計算機科學是一門快速發展的新興科學,數據結構與算法分析的理論、概念和方法隨著程序設計方法學和程序設計語言的發展不斷發展和更新。這些情況給課程的教材建設提出了更高的要求:必須緊跟計算機科學技術發展的步伐[6]。在選材上,我們始終堅持統一要求和因材施教的原則,確保教材內容的組織科學、合理,體系得當。選取的課堂教學教材,內容涵蓋了教學大綱中確定的所有知識點,并根據課程的培養目標,以及學生的學習基礎和興趣需求,選用了三本高水平教材――嚴蔚編的《數據結構(C語言版)》、Clifford A. Shaffer主編的《數據結構與算法分析(C++版)》和Sartaj Sahni主編的《數據結構、算法與應用(C++語言描述)》。經過幾年的教學實踐,學生普遍反映嚴老師的書在講解知識點時,能夠把抽象的內容表述得更明確、更具體、更便于學生理解和把握。兩位美國教授編寫的教材都使用C++語言描述數據結構和算法,使得數據結構與面向對象的思想緊密結合。Shaffer的書還結合算法分析來討論各種存儲方法和算法的利弊,如何設計出有效率的算法,如何根據應用需求選擇最佳方案,這種“授人以漁”的思想極大激發學生的思考熱情。Sartaj Sahni的書最大特色就是強調應用,通過現實生活中的許多應用實例具體演示了各種數據結構和算法設計方法,使學生能了解學習數據結構后如何應用到實際工作中去,學以致用。

只靠讀書是不能學會靈活使用數據結構的。課程的教學目的不僅是讓學生掌握各種數據結構,更重要的是培養學生解決實際問題的能力。因此,上機實驗是課程教學的重要環節。為了幫助學生進行有效的實驗訓練,我們積累多年實驗教學改革經驗,編寫了《數據結構與算法分析課程實踐》講義,用于指導學生的課程實驗教學。在講義中不僅精心設計題目,緊扣理論內容,由淺入深,循序漸進地培養學生計算思維能力、算法設計與實現能力,而且給出了實習步驟和實習報告的規范,訓練學生軟件工程的能力。教學實踐表明,學生通過上機訓練和完成實驗報告,不僅加深了對理論知識的理解,提高了復雜程序設計的技能,而且培養了良好程序設計的習慣和工作作風。

數據結構與算法分析是實踐性很強的課程,僅靠上課和上機中學習是絕對不夠的。為了給學生在課外自學和練習中提供指導,我們編寫了《ACM程序設計培訓教程》,并提供在線評測系統供學生隨時測試。這樣做可以充分調動學生的學習積極性和主動性,并使其鉆研更深、更新、更難的問題,提高研究創新能力。

3.4教學組織

多年來,本課程教學團隊已積累了一套“課堂―課程實驗―實驗課程―課外自學輔導”四個環節相互配合,提倡激發興趣,精講多練,重點突出,培養專業基本能力和研究創新的教學實施方案。

課堂環節注重計算思維能力的訓練。在講授具體課程內容時,要精講,把重點要講透徹,把難點加以分解,讓學生能理解。要串講:把前后相互關聯的多個知識點串講,總結其中的共性,突出各自的特點,分析相互的差別。要活講,除了講解基本的知識,更要授人以漁,要把“分析問題中待處理的數據建立抽象數據類型、根據物理存儲特點建立物理數據結構、設計有效率的存儲結構和基本操作算法、分析各種數據結構和基本操作算法特點和適用性”這樣一條學習主線給予詳細的介紹,引導學生有效地學習理論知識,進行計算思維能力的訓練,使學生掌握創新地學習的能力,以激發學生對問題的探索精神。

實驗注重算法、程序設計與分析能力的訓練。通過實驗報告文檔,訓練學生的算法設計和分析能力,通過上機實踐,訓練學生的程序設計和調試能力。實驗實踐環節由簡單到復雜,通過精心挑選的驗證型、技能型、創新與設計型三類實驗題目,提升學生對理論知識的理解和應用能力,促進學生的創新研究思維。對每次實驗的目的、原理、實驗步驟、注意事項和實驗要求都做出了詳細的說明,突出了實驗的重點,并編寫了詳細的實習指導書,包括實習報告范例、難度不同的程序范例,便于學生從模板開始,快速入門與提高。實驗報告包括需求分析,概要設計,詳細設計,調試分析,測試結果,使用說明和實驗心得七個方面。嚴格實施這些貌似繁瑣的規范,對于學生基本程序設計素養的培養和研究問題方法的訓練,將能起到顯著的促進作用。

課外自學輔導注重因材施教,滿足不同的學習需求。學生的興趣、專長,接受能力、自學能力都有差異,課堂上“均等和有限”的教學不能達到因材施教的目的。在課堂上,教師只能針對程度一般的多數學生的情況進行教學,對于程度差的學生要靠個別的輔導,幫助其積累知識和提高理解能力,跟上一般學生的進度。對于優等生,也要進行個別的指導,指定課外讀物,加大信息量,布置思考題,調動其潛能,引導其創新。對于尖子生,我們還有一條措施,讓其參加程序設計競賽,組織和指導他們參加全國性的學科競賽,促使他們脫穎而出。

3.5教學研究

為實現培養“寬口徑、厚基礎、強能力、高素質”的研究型人才的教學理念,學院對包括數據結構與算法分析在內的四門學科通識教育課程進行重點建設,組織專業教師認真總結多年來的教學經驗,深入開展教學研究,提出一系列合理的教改方案。

1) 優化調整專業培養計劃。

2009年初,為配合學校的人才培養模式向研究型轉變的本科教育培養計劃改革,學院制定了新的旨在培養設計與創新型人才的課程體系和實驗體系,把“數據結構與算法分析”課程定位在學科通識教育課程,全院所有專業的學生必修。同時把該課程從第四學期提前到第三學期,并與第一學期開設的程序設計基礎,第二學期開設的高等程序設計和軟件基礎實驗1,以及第四學期的軟件基礎實驗2,構成一組課程體系,保證本科生在通識教育培養的兩年中,每個學期都開設程序設計方面的課程,為培養設計與創新型人才夯實學科基礎。

2) 基于課程責任制的師資隊伍建設。

近幾年,學院在教學改革中大力實施定崗定編和課程責任制改革。根據教師的科研方向分配教學任務,同時按照課程特色組合多個教學團隊,并與教師所屬的科研團隊互相關聯,達到科研與教學相結合促進教學質量提高的目的。

3) 以申報精品課程為契機加速課程信息化建設。

以課程建設促進專業建設,打造精品課程是學院對每門專業核心課程的要求。根據精品課程建設的要求,開發了課程網站,學生可以隨時訪問網站獲取課程資源、在線播放課件、習題指導等;開發實驗與實踐在線評測系統,學生可隨時上網提交軟件在線評測,并在學習園地學習交流。開發ACM競賽培訓網站,為喜愛編程的學生提供交流和切磋的平臺。

4) 培養設計與創新人才的實踐教學體系建設。

學院提出了“課程實驗―實驗課程―工程設計訓練―畢業設計”的新型特色實踐教學體系。明確“課程實驗”和“實驗課程”的內涵與目標,要求所有核心課程必有此環節[2]。“數據結構與算法分析”作為訓練學生計算思維、算法設計和分析能力和程序設計與實現能力的重要課程,對課程實驗和實驗課程的實踐教學環節不斷改革創新,如教學團隊積累多年實踐教學經驗,編寫了《數據結構與算法分析課程實踐》講義,用于指導學生的課程實踐教學。申請多個SIT項目,為學生提供研究創新平臺。編寫了《ACM程序設計培訓教程》教材,對喜歡算法和程序設計的學生進行指導,使學生在各類與程序設計相關的學科競賽中頻獲佳績。

4結語

“數據結構與算法分析”是計算機專業的一門核心課程,學習數據結構和算法設計分析不僅為學習后續課程建立基礎,也有益于創新與設計型人才的培養。

為了不使教學過程過于抽象和枯燥,我們要充分調動學生主動學習的積極性,提高教學的趣味性;大力提高學生的實踐能力和知識應用能力,注重創新研究能力的培養。借著學院新型課程體系和新型特色實踐教學體系改革的春風,我們明確了培養創新與設計人才的理念,針對數據結構與算法分析課程能力培養三層目標,在繼承原有教學體系中關注課堂教學的基礎上,加強實踐教學環節和課外輔導提高環節,使這門課程的教學更加系統和全面。實踐證明,這種新模式對提升教學質量非常必要,近幾年,學生和校督導團的評教成績在學院名列前茅,該課程已通過省精品課程評審,用新模式培養出來的學生陸續在全國各種大賽上獲得較好名次,在2010年ACM亞洲區比賽中我院學生獲得兩個金獎。

按照學院提出的“創新與設計型人才”培養目標。“數據結構與算法分析”課程教學工作從課堂教學和實踐教學兩個方面進行建設和完善,精品課程網站和實驗與實踐在線評測系統已經投入使用,課程教學輔助課件在逐步建設中,符合創新與設計型人才培養目標的教材正在編寫中,相信“數據結構與算法分析”這門課的教學質量在教學改革中將不斷得到提高。

參考文獻:

[1] 鐘秉林,董奇,葛岳靜,等. 創新型人才培養體系的構建與實踐[J]. 中國大學教育,2009(11):22-24.

[2] 趙歡,駱嘉偉,李仁發,等. 計算機專業設計與創新型人才培養模式及課程體系研究[R]. 武漢:第八屆全國計算機系主任論壇,2005,10.

[3] Gregory Goth. Turning Data Into Knowledge [J]. Communications on the ACM,2010,53(11):13-15.

[4] 教育部高等學校計算機科學與技術教學指導委員會. 高等學校計算機科學與技術專業人才專業能力構成與培養[M]. 北京:機械工業出版社,2010.

[5] 張思東,張有根,高萬英,等. 重點大學既要培養研究型人才也必須培養高質量的應用型人才[R]. 深圳:全國電子高等教育學術研討會,2003,11.

[6] 張乃孝. 編寫“數據結構”教材的幾點體會[R]. 南京:第二屆大學計算機課程報告論壇,2006,7.

Constructing Innovative Curriculum of Data Structures and Algorithm Analysis

in Research-oriented University

LI Xiaohong, LUO Jiawei, YAN Hua, WU Hao

(School of Computer and Communication, Hunan University, Changsha 410082, China)

第4篇:數據結構實驗報告范文

【關鍵詞】數據結構;基本知識;課程實驗;方法;改革

中圖分類號:G423.07 文獻標志碼:A 文章編號:1673-8500(2014)01-0068-01

一、數據結構內涵

數據結構是指相互之間存在著一種或多種關系的數據元素的集合和該集合中數據元素之間的關系組成。目前,對數據結構研究已經成為世界上一些非數值量的信息結構及其處理方法,它被定為計算機科學與技術相關專的重要課程,同時也是應用數學、管理科學等很多專業的一門基礎課程。為了更好有成效的使用計算機、讓計算機的性能得到充分發揮,數據結構的有關知識的學習和掌握是非常必要的,大量的很難的算法存在于數據結構中,分解與抽象是它的核心技術,要想讓學生掌握這門核心技術,就要認真扎實的通過對課程內容的學習與實踐,構造性思維訓練的特征得到有效的體現,提高學生的操作能力和實際應用水平。

二、數據結構課程設計改革

通過課程設計來讓學生進一步掌握數據結構的整體框架和知識層次,課程設計的內容主要是根據三種邏輯結構(線性、樹型和圖型)把課程分成三部分貫穿下來,對每一部分又采用層次結構,即邏輯結構、存儲結構和在該存儲結構上的操作及相應的算法。結合講過的一個和幾個典型的算法給學生留一個實際問題,讓學生編程序上計算機去處理。如:講線性問題的插入和刪除這部分時,就留一作業題:把學生成績按學號錄入進計算機中,一涉及到實際問題就會用到許多的相關知識,需要查閱大量的書籍和網站。不過,得到的收獲也是可觀的。

三、數據結構教學手段和教學方法的改革

實現以教師主導下的以學生為主體的教學模式。在具體的教學手法方面,把學生為教學的主體,堅持實行任務驅動的教學手段,誘導學生主動學習,相互協助學習,共同進行探索與研究,這種教學方式學生很容易接受并受到好評,取得成效很顯著。研究算法的具體法則是給學生的算法實現的有關程序和算法實現的思路。每一節課上完后,對討論過的內容作出總結,對本節極容易出錯的狀況做好歸納,梳理出具體條款。學生對每一種數據結構的特點和實現都能夠牢牢地掌握。除此之外,做好與學生溝通協調工作,重視課后輔導。課下輔導除在課堂中以及學生上機進行輔導之外,還有一種辦法是和學生取得聯系,利用網上交談的手段,利用這種手段,掌握學生的思想動態、學習狀況,迅速回應學生在自主學習及課后學習時遇到的疑難問題。教師在數據結構教學手段上,要精心設計教學內容,對較困難的算法制作以及收集了大量FIASH演示動畫方面的材料。把抽象的概念和空間結構加以具體化、形象化,使所教的數據結構內容直觀、生動、提高了學生的學習的積極性,同時提高數據結構教學質量和學生的學習效果。

四、數據結構基本知識部分教學的改革

數據結構的基本知識是這門課程的重點,包括數據的邏輯結構,相應邏輯結構的存儲結構,以及在此存儲結構上的相關操作及算法等,這些內容必須要講,也很枯燥,教學時可以根據實際情況做一些調整。

教授學生理解數據結構這門課,同時也是提高學生的學習興趣的實踐過程。通過舉例分類、總結學生參與進來的辦法來幫助學生理解數據的邏輯結構和存儲結構等概念。首先從實際情況入手來引出邏輯結構的概念:學生都知道計算機能進行圖書管理,能和人對弈,可是學生要明白計算機之所以能干這些事是靠人工編的程序輸入到計算機中來支配計算機工作的,程序怎么編,不同的問題有不同的編程思路,那么實際中的問題基本上就是這么三類;線性問題、樹型問題和圖型問題。接著通過分析上面圖書管理問題,下棋問題,以及修路問題來讓學生明白什么是線性、樹型和圖型問題,接著給一定的時間讓學生每人想出一個線性、樹型和圖型關系的例子,在生動活潑的氣氛中把實際問題過渡到這門課中來,實際生活活躍了學生的課堂氣氛。反過來,學生也把數據結構的理論知識應用到了實際中去,最后總結到實際問題的線性、樹型和圖型的邏輯關系是人類對實際問題的邏輯思維。在數據結構這門課中把這種邏輯關系叫做邏輯結構。要讓計算機處理實際問題必須把從實際問題中抽象出來的數據和它們之間的邏輯結構存儲到計算機中,計算機才能夠對實際問題進行處理,那么怎么存儲呢?邏輯結構在計算機中的存儲方式在數據結構中就叫存儲結構。邏輯結構和存儲結構這兩個概念學生就順其自然地接受下來。

五、數據結構課程實驗部分教學的改革

進行實驗教學改革,加強實踐教學環節。讓學生學以致用是教師傳授知識的目的,因此明確教學目標,把培養學生的能力放到重要位置,重視數據結構實踐性環節。數據結構課程的讓學生上機實習,是對學生極有利全面綜合訓練,它與課堂上聽老師的講解、自主學習和獨立訓練是相輔相成的,也是教學中不可或缺的一個教學環節。因此為了幫助學生更好地學習本課程,理解和掌握算法設計所需的技術,制定了實驗大綱,實驗指導書,實驗手冊等設計了系統的有效的實驗項目,規范實驗報告,提高學生編程能力和專業技術水平。

在學生理解了數據結構的邏輯結構和存儲結構這兩個概念的基礎上,接著讓學生學習計算機對數據的操作和算法。算法一般都是用C語言來描述的,要想讓學生掌握好每個操作的算法,一定要學生自己編出完整的程序,直接上機訓練每個算法。在理論課上把每種邏輯機構聯系到的操作進行初步歸類后,接著講每種操作的算法。講算法時主要采用以下方式幫助學生理解和掌握:

第5篇:數據結構實驗報告范文

【關鍵詞】數據結構 學習方法 理論性 概念性

【中圖分類號】G642 【文獻標識碼】A 【文章編號】1006-9682(2012)10-0086-02

一、引 言

“數據結構”是計算機程序設計的重要理論技術基礎,它不僅是計算機學科的核心課程,而且已成為其他理工專業的熱門選修課。[1]通過“數據結構”課程的學習使學生學會分析、研究計算機加工的數據機構特性。以便為應用涉及的數據選擇適當的邏輯結構、存儲結構及其相應的算法,并初步掌握算法的時間分析和空間分析技術。另外,本課程的學習過程也是復雜程序設計的訓練過程。通過本課程的學習提高學生進行軟件設計開發的能力,也為操作系統和數據庫等后續課程奠定基礎。[1]

二、數據結構課程的特點

從課程性質上講,“數據結構”是一門綜合性的專業基礎課,是介于數學、計算機硬件和計算機軟件之間的核心課程。因此,在學習本課程的過程中不僅考慮數據本身的數學性質,而且還必須考慮數據的存儲結構。為了研究數據結構課程的學習方法,我們可以先分析本課程的特點,該課程具有以下特點:

1.很強的理論性

本課程不是以掌握應用性知識為目的,而是以掌握基本理論、基本方法、基本技能為目的。讓學生把握解決什么樣的問題,用什么思想,采用什么方法解決,以及用什么方法最優等一系列問題。

2.很強的概念性

本課程要求學生不但深刻理解某些概念的所有要素,同時也要求理解為什么要引入某些概念,這些概念的形成過程,以及引入這些概念解決什么樣的問題。在學習各個數據結構(線性表、棧等數據結構)時要考慮為什么要引入這些數據結構,這些數據結構在什么樣的場合中使用。例如“棧和隊列”這章中在“數制轉換”、“括號匹配的檢驗”和“行編輯程序”等應用中,由于棧的引入極大地簡化了程序設計的問題。

3.很強的連貫性

本課程結構緊湊,每部分所述問題層層推進,逐步深入。全課程始終是以數據間的關系即“結構”為主線展開。其中“基本數據結構”部分圍饒數據結構三要素即邏輯結構、物理結構、運算特性展開,輔以一定該數據結構基本應用的講述;而“應用數據結構部分”以基本概念、基本方法、性能分析的順序展開,使全課程大量龐雜的內容條理分明,輪廓分明。

4.易混淆性

本課程中有一些易混淆的基本概念,也有很多算法、狀態等一系列問題都易混淆。比如要解決某類問題,也許有很多方法和途徑,每種方法和途徑適用于什么場合,各自存在什么優缺點(例如“內部排序”這一章中各種內排方法的比較與應用),都易產生相互混淆。

三、數據結構課程的學習方法

1.循序漸進學習法

由于本課程很強的理論性、概念性和連貫性,所以學習過程中要從概念入手,逐段、逐節、逐章深刻理解和掌握,層層推進,從基礎到應用,最后達到完全掌握該課程內容的要求,培養學生分析問題、解決問題的能力。加強上機實踐環節非常必要,能增強對數據結構的理解和應用能力。

注重上機實踐環節,上機實踐是提高學生操作能力的一種直接有效的方法:

從時間角度可以把上機過程分為三個階段:上機前、上機和上機后。我們從這三個階段對學生和教師的要求來說明如何做好上機實踐這個環節:

上機前,老師要把每次上機題目提前給學生,并讓學生了解本次上機所要用到的數據結構的理論知識、C語言相關的知識和開發工具所需要熟悉的內容。學生根據本次實驗的要求,做好上機的準備,不要等到上機時還一頭霧水。由于C語言的學習已經經過了一段時間,有些學生可能對C語言的所學的東西有些模糊,例如:一些語法的標準使用、類型的使用范圍等。所以在上機前需要學生對C語言的知識進行鞏固。

上機,在進行實際的上機操作時,教師要時刻在學生周圍輔導,一是能及時幫助學生解決問題,二是能監督學生認真做實驗。使學生明白上機實踐的意義,使學生的上機實踐能夠規范化,認真編寫程序,通過程序的編寫和調試,不但能更深刻的理解理論知識(如:通過一元多項式的加減的例子,學生才能真正理解鏈表的使用,并體會到采用鏈表這種數據結構能極大的簡化程序的設計與實現),還可以培養學生良好的程序設計習慣。

上機后,要求學生寫出完整的實驗報告,并對自己的上機實習情況進行總結,指出成功之處和不足之處。通過這種實驗方式,能有效地提高學生的編程能力、分析問題和解決問題的能力。

2.概括提煉學習法

每學完一節、一章內容,都要從中概括提煉出本部分內容的要點和重點。一則可以達到內容總結、有效復習的目的,二則可以自檢學習中存在的問題。

課堂的講解只是讓學生有了一個系統的概念,為了讓學生鞏固課堂所學到的知識和深入理解基本概念和算法,教師應根據各章節的教學目的和具體內容,精選習題,讓學生練習。例如,學過單鏈表的插入、刪除基本操作以后,可通過讓學生多做習題,反復練習指針的修改情況,從而深刻掌握鏈表的操作,為后面的學習打下良好的基礎。同時教師要認真批改作業,從學生的作業中發現問題,然后針學生存在的問題進行講解。所以,習題不但是促使學生掌握所講授內容的一種手段,也是老師與學生之間的一種互動方式。[2]

3.歸納對比學習法

針對課程中容易混淆的概念以及課程中同類、非同類容易混淆的問題,進行歸納和比較,從中找出它們的異同點、優缺點。這種方法不僅能搞清楚容易混淆的問題,而且能更深刻理解本課程的內容實質。

4.循環學習法

由于課程中許多基本概念和復雜算法在順序地學習過程中并不能達到準確、透徹地理解的程度,有些概念和方法可以應用于多種場合,對這些內容,在學習時就需要循環往復,借助后續內容的信息來全面把握。

四、結束語

數據結構是一門專業技術基礎課,本文分析了數據結構課程的特點,并針對這些特點提出了幾種學習方法。這些方法已在教學實踐中得到了初步驗證,但數據結構的教學方法還需進一步研究。

參考文獻

第6篇:數據結構實驗報告范文

關鍵詞:數據結構;實踐教學體系;教學改革;教學模式

“十一五”期間,教育部計算機科學與技術教學指導委員會發表了《高等學校計算機科學與技術專業發展戰略研究報告暨專業規范(試行)》。提出了“專業方向分類”發展的基本思想和三個輔助提議[1],其中建議之一是“加強學生實踐和動手能力的培養”。程序設計能力是計算機科學技術相關專業最為重要的專業技能,它是評價本專業本科生培養質量的首要指標。計算機科學技術專業中開設了高級語言程序設計、數據結構等程序設計類專業基礎課程,這些課程的教學質量直接決定了學生程序設計能力的高低。數據結構是最為重要的程序設計基礎課程,是設計和實現各種應用軟件的學科基礎,課程教學效果對學生專業素養的形成具有重要的影響作用。

我校數據結構課程是江西省首批精品課程,為進一步提高課程教學質量,增強計算機專業學生程序設計綜合能力,課程組在江西省高等學校教學研究立項課題“數據結構綜合性課程設計探索與實踐”和江西師大實驗教改重點課題“數據結構新型實踐教學體系的開發、設計與探索”的資助下,對數據結構實踐教學體系進行了優化設計與教學實踐。實踐表明,該體系對提高學生程序設計綜合能力起到了重要的作用。

1數據結構實踐教學改革的必要性

數據結構教學中長期存在一部分老師重理論輕實踐的現象,而且由于該課程內容比較抽象,有時教師即使花了很多的時間準備,也常出現學生看似明白算法思想,可是卻無法真正實現算法的情況。主觀上,學生對這門課程的認識僅停留在此門課是研究生入學考試的必考課程,知道這門課程是非常重要的,起初并不能體會到這門課程在專業學習中的作用,對它在軟件設計與開發中的作用更是缺乏感性認識,學生學習的興趣有待于提高。

數據結構作為實踐性很強的計算機專業基礎課,教學中必然離不開實踐。大部分高校采用驗證性實驗作為課程實踐的主要內容,即布置針對課堂教學內容的小型練習題,讓學生去完成程序設計與實現。由于學生可以采用教材中現成的方法實現這類實驗,因此其計算思維并沒得到有效的鍛煉[2]。另外,這類小型的實驗一般都是由學生獨立完成,團隊協作精神在實踐過程中也沒有得到有效的鍛煉。為了在課程實踐環節加強團隊協作,盡早地讓學生接受軟件工程訓練,必須對傳統的實踐環節進行改革。

2數據結構實踐教學體系

2.1數據結構實踐體系的設計

我校數據結構實踐環節的教學改革最早從2000年開始,當時制定的該課程的教學目標是:“通過實踐鞏固理論知識,培養學生的程序設計能力”。具體做法是在教學計劃中增加實踐考核內容,經過3年實踐,雖然學生程序調試能力有了普遍的提高,但學生的綜合性程序設計能力有待進一步提高。2003年本課程獲批江西省首批精品課程后,課程組對課程理論與實踐教學進行了一系列的教學改革,到2006年,課程組開展的“基于網絡協作模式的教學改革與實踐”項目獲江西省教學成果二等獎,精品課程建設初顯成效。但如何進一步提高課程建設質量,提高學生綜合性程序設計能力成為課程組面臨的又一新課題。為此,課程組全面改革數據結構實踐教學體系,在數據結構課程中引入了綜合實驗及綜合性課程設計,修改后的課程實驗體系如圖1所示。

其中“基礎實驗”與課堂講授同步,目的是加深對某個知識點的理解;綜合實驗是對多個知識點進行綜合訓練,加深對課程內容的整體認識,要求學生提交實驗報告;課程設計是在課程結束后進行,要求學生以項目組的形式合作完成大型程序,以培養學生的綜合程序設計能力及團隊合作精神。教師提供了一些基本選題如表1所示,學生也可以自擬綜合設計題目。課程組確定的綜合性課程設計訓練目標是:通過大型程序的編程訓練,進一步培養學生程序設計綜合能力、增強團隊協作意識。課程設計安排在本課程的后期進行,此時學生已具備一定的程序設計基礎,具有完成項目的能力。

2008年教育部高等學校計算機科學與技術教學指導委員會編制出版了《高等學校計算機科學與技術專業公共核心知識體系與課程》和《高等學校計算機科學技術專業實踐體系與規范》兩個指導性綱要,我們開展的教學改革思路與其指導思想完全吻合。

2.2數據結構實踐教學體系的實施

具體實施方法如下:

1) 基礎實驗與課堂教學同步進行,學生在實驗課中完成該部分內容。

2) 綜合實驗與每一章的教學同步,一般要求學生完成“線性表順序存儲及其應用”,“線性表鏈式存儲及其應用”,“棧與隊列”,“樹與應用”、“圖”、“排序與檢索”等綜合性實驗[3-4]。

3) 對于綜合性課程設計,由于涉及一些課外知識,所以需要向學生介紹一些基于軟件工程的大型程序開發方法,通過解析若干個大型程序范例,引導學生學習和掌握大型程序的設計思想和開發方法;對大型程序的訓練題目給出問題的描述以及基本要求和高級要求,使學生可以根據實際情況進行不同層次要求的訓練。項目實施時要注意設計題目的趣味性,鼓勵學生在功能點上創新,并要求學生提交課程設計報告(如圖2所示)。

4) 以項目式教學模式指導實踐環節中的綜合性課程設計[5-6],教師在數據結構課程中以項目教學模式流程為主線來設計教師和學生所從事的各類活動。為幫助學生選定題目,教師除了在日常的課程教學中引導學生選題外,還開展專題講座,目的是引發學生對某一個或若干專題感興趣,期間也可以給學生感興趣的專題講授一些概括性的知識。例如,教師結合數據結構介紹“互聯網搜索引擎原理”等熱點問題,極大地激發了學生的學習興趣。

5) 采用軟件工程思想指導項目教學模式。在項目教學模式中,教師按照軟件工程的思想,要求學生進行需求分析、確定時間計劃,確定行動方案、確定最終作品的形式、確定小組內的任務分工,教師負責審定項目計劃,并進行必要的修改。項目實施過程中,上一屆留下的資源可以給下一屆學生借鑒,上一屆學生中選拔的優秀學生可以作為我們開展項目教學的“學生助教”,讓他們參與項目的審定,一方面節省了任課教師大量的時間,另一方面也提高了“學生助教”的實際工作能力。項目組在確定題目后,在“助教”和老師的共同參與下制定項目實施計劃,開展項目研究,定期提交項目階段性的研究成果或文檔報告。

6) 改革成績評價機制,充分調動學生的學習主動性。為了讓學生有激情參與到實驗教學中來,課程組改革了傳統的教學成績評定機制,期末理論成績考試只占總成績的50%,另外50%成績來源于學生的項目實踐成績,圖3是學生集中上機考試現場。學院建有機器人開放實驗室、ACM程序設計競賽組等學生創新實驗平臺。實驗室成員從數據結構與算法方面具有較強動手能力的學生中選拔,ACM程序設計競賽隊的成員也基本上來自其中的優秀學生。在課程項目中表現突出的學生有更多的機會參與到學院各類橫向或縱向課題的研究梯隊。以上激勵措施,極大的調動了學生的學習主觀能動性。

3實踐教學改革成效

在數據結構實踐體系中,綜合性課程設計通過問題建模培養學生將所學知識和實際問題聯系起來的能力與意識;數據結構設計體現數據的組織結構對問題求解的差異;算法設計與實現根據具體問題的要求設計出合理的算法;測試幫助發現設計中所存在的問題,體現設計的性能。經過綜合性課程設計的訓練的學生,在后續軟件開發課程的學習中表現出明顯的優勢。課程組經過3年的教學改革,主要取得了以下教學改革成效:

1) 出版《數據結構C語言版(第二版)》教材一部[3],出版《數據結構實驗》教材一部[4];

2) 培養了學生的自主學習能力,培養了學生團隊合作的精神,訓練了學生的組織管理能力,一些學生的科研能力得到了早期的培養,參與過項目設計的學生在學校科研立項中獲得好成績,學生撰寫的研究論文多篇發表在核心期刊上。

3) 煅煉了學生大型程序設計的開發能力,學生成績顯著提升,圖4是學生連續三年考試的試卷分析情況,從中可以看出實踐教學改革對學生成績提升具有積極的作用;

4) 為學院ACM程序設計競賽隊和機器人實驗室提供了后備力量。本校ACM隊是江西高校唯一一支三年內迅速成長起來,每年都有資格和能力參賽,并與國內眾多名校同臺競技的隊伍。圖5是我院學生在第33屆ACM國際大學程序設計競賽亞洲區現場賽比賽情況。

此外,課程組將本課程實踐教學改革方法在“高級語言程序設計”等課程中推廣,2009年課程組主持申報的“程序設計教學改革與創新”項目獲批江西師大第十一批教學成果二等獎。

4結語

通過改革實驗教學體系,學院學生程序設計能力得到了大幅度提高,學生多次在ACM程序設計競賽與廣茂達杯機器人大賽上獲得好成績。當然,由于學生個體差異性較大,較好地完成大型課程設計的同學所占比例還不高,課程設計指導教師的力量還比較薄弱,不能滿足學生的輔導需求。實踐教學改革的最大的受益者是學生,實踐表明,較好完成實踐環節訓練的學生其程序設計能力、后續自主學習能力都得到了很大的提高。圖6是學生自發地通過網絡給教師留言,表達了學習體會。今后,課程組將進一步總結實踐教學改革方法,努力提高學生軟件開發綜合能力,為計算機專業人才培養作出更大的貢獻。

參考文獻:

[1] 教育部高等學校計算機科學與技術教學指導委員會. 高等學校計算機科學與技術專業實踐教學體系與規范[M]. 清華大學出版社,2008:7-9.

[2] 陳越,何欽銘,馮雁.數據結構綜合性課程設計教學探索與實踐[J]. 計算機教育,2008(4):54-55.

[3] 李云清,楊慶紅,揭安全.數據結構(C語言版)[M]. 北京:人民郵電出版社,2009(6):130-160.

[4] 劉芳,揭安全. 數據結構實驗[M]. 重慶:西南師范大學出版社,2010(1):1-40.

[5] 揭安全,李云清,楊慶紅,等. 項目教學模式指導的“數據結構與算法”教學改革[J]. 計算機教育,2008(11):21-23

[6] Jie Anquan,Gan Dengwen,Yang Qinghong,et al. Research and Practice of the PBL Model for Data Structure Curriculum[C]// Proceedings of 2009 4th International Conference on computer Science & Education. 廈門:廈門大學出版社, 2009:1512-1515.

Design and Implement of Practical Teaching System for Data Structure

JIE An-quan, LI Yun-qing, YANG Qing-hong, HUA Zhi-zhang, WANG Lan

(College of Computer Information & Engineering, Jiangxi Normal University, Nanchang 330022, China)

第7篇:數據結構實驗報告范文

關鍵詞:數據結構;實踐;教學方法

中圖分類號:G642文獻標識碼:B

1引言

社會經濟成分、組織形式、就業方式、利益關系、分配方式的多樣化,對人才素質提出了更高的要求,社會也需求大批應用型技術和技能人才。高等學校教育也為適應社會需求培養面向基層、面向生產、面向服務和管理第一線需要的技術應用型人才。

我校致力于技術本科教育理念,深化教學改革是一條提高教學質量的有效途徑,在教學改革中揚棄傳統的“以教為中心”的教學結構,逐步建立“學教并重”和“學致以用”的教學結構。考慮到目前我校教育的現狀,我們在“數據結構”實踐教學中做了有益的探討,讓學生知道學習完成后能夠實際應用,激發學生的學習主動性,培養富有技術應用性的人才,對我校技術應用性本科教育都具有深遠的意義。

2 “數據結構”教學的現狀

“數據結構”課程主要研究非數值性、結構性數據,具體涉及數據的邏輯結構、存儲結構、算法和算法復雜性分析等內容。它不僅是一般程序設計的基礎,而且是設計和實現編譯程序、操作系統、數據庫系統等系統程序和大型應用程序的重要基礎。學習“數據結構”課程的目的是為了了解計算機處理對象的特性,將實際問題中所涉及的處理對象在計算機中表示出來并對它們進行處理。同時,通過算法訓練來提高學生的思維能力,通過程序設計的技能訓練來促進學生的綜合應用能力和專業素質的提高。

目前大多數高校越來越重視在實際教學中,在“數據結構”教學中進行許多新的教學模式進行教學,根據目前所擁有的資料來看,國內外有影響的現代教學模式主要有:講授模式、互動模式、任務驅動模式、范例模式等。這些教學模式體現教師為中心、學生為主體的教學關系,通過教師提問、學生發問、課堂討論等多種教學方法讓學

生參與互動,充分調動學生學習的積極性和主動性,對于提高教學質量和教學效果都能起到一定的積極作用。由于種種原因,學生掌握的情況并不十分理想。這其中一個非常重要的原因,是實踐環節的不足。學生在學完理論后,不能及時通過實踐來檢驗和鞏固所學知識,導致越學越糊涂,也越加深了對這門課程的畏難心理。

下面是目前“數據結構”教學中存在一些不足的原因:

(1) 概念多

“數據結構”課程內容的特點是概念多、邏輯性強、綜合性強、技巧性強。在教學過程中發現,對于學生來說,剛接觸這門課程時,不知怎么去學,等這門課程結束時,也不知道自己學了些什么,對學過的也不知道如何應用。

(2) 基礎差

目前數據結構算法是通過計算機語言來實現,很多學生在對這門課程前導課程序設計語言掌握不好,目前大部分數據結構教材算法是用C語言(也有C++語言和JAVA語言)來實現,大部分學生對C語言指針知識掌握不牢,用起來生疏,很多使學生對算法的思路是清晰的,但也難以用C語言(C++語言和JAVA語言)將算法描述出來。

(3) 實踐效果不顯著

人們已經普遍認識到計算機程序設計課程是實踐性、技術性非常強的課程,需要大力加強實踐性教學環節,因此實踐課課時的比例也越來越大。當前實踐課內容、形式雖然能在一定程度上提高了學生的動手實踐能力,但并不一定能提升學生解決實際問題的能力。其一,實驗內容大多是課堂教學內容的驗證性實驗,學生往往是照著葫蘆畫個瓢,知其然不知其所以然,實驗的時候對所學習內容沒有充分理解,只是充當的打字員,結果出來后就萬事大吉。其二,各個實驗內容各不相關,互相脫節,不能形成一個問題的全部,在以后遇到同類問題,不能從全局的角度分析解決,只能部分的解決局部問題,不利于能力的提高。其三,對所學知識內容,由于程序設計語言掌握不好數據結構概念不是很清晰,不能完整的串起來,如二叉樹操作,從建一個二叉樹,到遍歷二叉樹、求葉結點數、求總結點數、求樹的深度完整的串起來,對知識點掌握和理解要有直觀的認識。

3實踐教學改進

在“數據結構”課程的學習過程中,學生比較困擾的是理論脫離實踐,對“數據結構”潛在的應用價值難以有深刻的認識。在課程建設中,在努力提高課堂教學效果和抓好習作的同時,下大力氣對上機實驗的要求和管理進行重點建設。在第一次上實驗課程時,除了給問題和要求外,還給出問題分析、總體結構設計、部分詳細設計,最后要求學生進行主要算法程序設計及調試。這樣做的目的是讓所有的學生對“數據結構”實驗有初步了解,在給出的整體框架上將主要算法及應用實現出來,達到學習“數據結構”的效果。同時,還考慮到學生的學習程度不同,有些學生底子較薄,對實驗認識也不夠,認為“數據結構”只是理論上的學習,根本無法編寫程序和實際應用。根據這種情況,我們給出部分詳細設計就是要使這部分學生增強用程序實現算法的自信心,繼而模仿編程,最終實現將理論知識應用到解決實際問題中去,提高應用與創新能力。對每個實驗都有具體要求,并鼓勵學生課下多編程、上機調試,每次試驗結束后要求學生完成實驗報告及調試分析,算法的時空分析以及經驗體會,為將來進行軟件開發打下堅實的基礎。

以下是我們在“數據結構”課程教學中的幾點做法:

(1) 引發學生興趣,明確實驗內容

學生普遍認為“數據結構”實驗難于上手,而且不知道它的應用。這就需讓學生了解數據結構的重要性,告訴學生,在計算機科學中,數據結構不僅是一般程序設計的基礎,而且是設計和實現編譯程序、操作系統、數據庫系統及其他系統程序和大型應用程序的重要基礎。從而引發學生學習的主動性。

在課堂授課中,還要向學生介紹各章節內容的意義、算法的思想以及實驗的內容。筆者在授課時,將各章實驗內容分成以下幾個部分:順序表、單鏈表、雙向循環鏈表、順序棧、鏈隊列、循環隊列、串、壓縮矩陣、樹與二叉樹、圖、查找與排序。在開始階段,教師最好給出一些簡單程序的源代碼,以供學生參考,激發學生上機的積極性。筆者在授課的開始階段就前幾章節的算法實現,都親自編寫源程序,供學生參考,并上機講解,幫助學生調試成功,增強學生自信,從而激發了學生的上機興趣。

(2) 強化程序設計語言的程序開發能力

“工欲善其事,必先利其器。”在“數據結構”的實驗教學中,上機實現程序,必須先對所使用的程序設計語言工具有所精通。教師可根據學生對C語言(或其他語言)掌握的情況,有目的地講授一些數據結構所涉及的C程序語言的疑難點,如動態存儲函數使用、靜態數組、指針等知識,幫助學生盡快上機編程,從而也更好地配合數據結構的實驗教學,達到事半功倍的效果。否則,學生不能參與實踐,對課程就漸漸失去興趣。

首先教師給出程序案例的框架結構,學生經過思考,選擇合適的算法和指令語句,經互相討論,完善和豐富程序案例,然后上機調試,通過運行來檢驗結果。程序案例的教學法是從興趣入手,首先給人們編程的樂趣,繼而帶領學生進入程序的天地,提高了探索的欲望,使學習編程變得生動而有趣。

(3) 精選實驗內容,編程實現典型算法

“數據結構”教學中的上機是理論聯系實際的重要教學環節,針對具體的教學內容和目前的學生能力,專門設計出“數據結構上機實驗系統”,在選擇典型算法的時候,從以下三個方面進行考慮:

代表性:算法應該能夠集中體現某個數據結構的基本特征。

難度適中:算法既不是很簡單,也不應該很難,要使多數學生經過努力可以實現。

綜合性:算法要有一定理論深度。既有助學習數據結構,又有助于提高編程能力。

該系統為學生精選的、難度適當的大約50個典型算法為基礎,包括順序表、鏈表、堆棧、隊列、串、矩陣和廣義表、二叉樹、圖、查找和排序等部分,系統對每種數據結構都設計了相應的基本操作及應用操作,組裝一個數據結構實驗演示系統,完成一個數據結構課程的實訓。

該系統具體內容是:

實驗1線性表子系統:主要算法有建表、插入、刪除、顯示。

實驗2棧隊子系統:主要算法有建棧、進棧、出棧、顯示、數制轉換、逆波蘭式。

實驗3隊列子系統:主要算法有建隊列、進隊、出隊、讀隊頭、顯示雙向隊。

實驗4串子系統:主要算法有建串、連接兩串、取出子串、刪除子串、插入子串、模式匹配、比較大小、顯示。

實驗5稀疏矩陣和廣義表子系統:主要算法有稀疏矩陣建立、轉置、顯示、廣義表建立、查找和顯示。

實驗6樹子系統:主要算法有建二叉樹、凹入顯示、先序遍歷、中序遍歷、后序遍歷、層次遍歷、葉結點數、總結點數、樹的深度。

實驗7圖子系統:主要算法圖的建立、建立鄰接矩陣、深度優先遍歷、廣度優先遍歷。

實驗8子系統:主要算法有建立查找表、順序查找、二分查找、二叉排序樹、建排序樹、查找結點、插入結點、刪除結點、輸出。

實驗9排序子系統:主要算法有數據輸入、插入排序、希爾排序、冒泡排序、快速排序、選擇排序、歸并排序、堆排序。

實踐表明,多數學生經過努力,大部分同學都可完成以上的算法。通過這九個實驗,就等于學習一個小型系統開發的全過程,所以它既不同于一個大型的完整的數據結構演示軟件,也不是一般意義上的復雜的系統開發指導。

4結束語

在本課程教學設置上,我們既要考慮到本科教育的基礎性和階段性,也要充分考慮到技術應用型人才適應第一線工作的要求,體現了既要有一定的學術性,又要有一定的實踐性。在教學方式上除要加強正常教學外,重視實踐教學環節和通過項目活動過程突出應用專業技術能力的培養,使技術本科學生不但知其然,而且能知其所以然。培養基礎扎實、動手操作能力強、綜合素質高的應用型人才,已成為高等教育工作的重心。

實踐表明,只有將理論教學和實踐教學密切結合,才能使學生掌握好各種數據結構和算法,從而切實提高教學質量,貫徹完成大綱要求。

參考文獻:

[1] 曾立慶,童懷水.《數據結構》實驗教學探討[J]. 職業教育研究,2006(11):160-161.

[2] 陳元春,王淮亭. 基于Internet的數據結構教學設計[J]. 上海電機學院學報,2005,8(2):67-70.

[3] 郭業才.“數據結構”課程建設與教學改革實踐[J]. 高等理科教育,2006(6):100-102.

第8篇:數據結構實驗報告范文

論文摘要:我校(包頭師范學院)目前還未實施雙語教學,文章提出在我校開展數據結構課程雙語教學在師資、學生水平等方面存在的問題,進而給出了在培養師資、教學實施等方面解決問題的思路和辦法。 

關于雙語教學的重要性,國家教育部早在2001年《關于加強高等學校本科教學提高教學質量的若干意見》中就提到本科教育要創造條件使用英語等外語進行公共課和專業課教學,使外語教學課程達到所開課程的5%~10%。2007年《關于進一步深化本科教學改革全面提高教學質量的若干意見》中再次提及要“鼓勵開展雙語教學工作,提高大學生的專業英語水平和能力”。 

數據結構是計算機相關專業的核心課程,主要討論各種數據的邏輯結構、存儲結構及相關運算。做為一門活躍的學科,我國與發達國家相比有較大差距,新內容、新成果往往會在英文原版教材中率先得到反映,以該課程做為切入點開展雙語教學,對提高學生的專業素質和英語應用能力更有裨益。 

1 目前存在的主要問題 

1.1 雙語師資方面 

承擔雙語教學課程的教師需要具備深厚的專業功底還要有較好的英語口語表達和交流能力,能熟練應用兩種語言進行教學。從全國來看,完全符合雙語教學標準的老師不多。就我校的情況來看,目前,在我校擔任“數據結構”課程教學的老師還是中文教學,英語整體水平不高。同其它一類學校相比,無論從雙語教學的師資水平、師資培養和師資引進方面,我校還有較大的差距。 

1.2 學生方面 

近年來,由于高校擴招和錄取率的提高導致學生素質整體下滑,學生的外語水平參差不齊,我校做為西部的二類院校,情況更是如此。此外,習慣母語授課、長期以來我國外語教育體制下培養出來的學生聽說能力差等問題都是實施雙語教學前需要思考的。 

1.3 相關配套 

雙語教學的實施是一個周密細致的工程。根據我校計算機相關專業人才培養方案和數據結構課程教學要求及雙語教學的特定要求,在充分調查了解師資和學生的情況下,要制定符合教學要求的數據結構課程的雙語教學大綱、雙語教學計劃,選定適合的雙語教材、制作或選用適合的英文課件等。英文習題、英文實踐題目、英文試卷等相關教學資源都未做好充分的準備。 

此外,在教學方式、考試方式、實驗指導、教學評價等方面都要根據教學大綱制定詳盡的規范和要求。 

2 解決的問題的思路 

2.1 雙語師資的培養 

雙語教學成敗的關鍵在師資,雙語教學的師資來源主要有以下幾種途徑:① 如華南理工大學國家示范性軟件學院等一類大學,聘請國外專家或歸國華人等國內外優秀人才擔任雙語教師,這些具有較高學術造詣和國外背景,又體現工業化背景師資隊伍對雙語教學的成功起了決定性的作用。就我校目前的發展水平來看,這個途徑行不通;② 校內選拔,自己培養。選拔專業水平高、責任心強、教學效果好、英語口語表達能力強的教師但任雙語課程的主講教師,定期在校內及在相關院校交流學習,定期輸送教師到國外進行雙語教學的培訓。做好這一點,經過一個時期,我校會培養出自己的合格的雙語教師。 

2.2 學生方面 

雙語教學的過程中必須要重視學生的個體差異,針對學生英語水平參差不齊的情況,可采取以下措施:① 注意培養學生的學習興趣,興趣是最好的老師。如果學生對一門課程建立了濃厚的學習興趣,就會具有主動學習的精神和學好這門課程的動力。教師的個人魅力和專業素養是影響學生學習興趣的重要因素之一,這就要求教師不僅專業素養高,而且愿意為雙語教學作出更多努力,深刻領會概念實質,深入淺出地講解教學內容,關注學生的學習基礎和對課程學習的反饋,使學生能感受到學習的樂趣。此外,數據結構課程內容眾多,許多成果源于世界著名計算機科學大師的創新。教師在教學中注意引導,讓學生感受到經典的分析問題和解決問題的邏輯思維,引導學生在理解的基礎上積極創新,也會提升學生對課程的學習興趣。② 采用分級教學。數據結構課程本身比較難學,再加入雙語教學,對于一些學生一定吃不消,可考慮分級教學。根據考核學生的英語水平、根據教學要求等分漢授和雙語授課兩個班。

2.3 教材方面 

雙語教學的學校、師資、學生的整體水平決定了在雙語教材的選擇上會有很大的差異。一類大學多數采用的是英文原版教材,如華南理工大學計算機科學與工程學院采用clifford a. shaffer:a practical induction to data structures and algorithm analysis, publishing house of electronics industry;東南大學的計算機科學與工程系采用computer science express 版的國際著名原版英文教材fundamentals of data structure in c++。根據我校的實際情況,適合的教材策略應該是選用中英文雙語經典教材配合使用,如國家教育部推薦的信息類專業雙語教學國外經典原版教材robert l. kruse data structures and program design in c++,這樣的對照教材,便于學生理解,特別是在雙語教學啟動階段。 

2.4 其它幾個關鍵點 

2.4.1 客觀科學制定課程大綱 

要在充分調研數據結構課程教學要求的基礎上, 根據我校計算機相關專業人才培養方案及本課程在整個專業課程體系中的作用,并考慮雙語教學的特定要求, 制定數據結構課程雙語教學大綱, 大綱應強調學生對基本概念與方法的理解, 注重培養學生的獨立思考解決問題的能力。 

2.4.2 加強多媒體教學 

面對數據結構課程中大量的經典、難理解的算法,加之雙語教學,必定會增加學生學習理解的難度。可以試想這樣一種教學情境:在講授新算法之前,先播放相關動畫及相關媒體資源,使學生對此算法先有感性認識,然后教師提出問題,使學生帶著問題聽課,這樣的親近的教學手段,有利于減少對陌生算法的排斥,加深加快對算法的理解。目前,要做的工作一是對自做的好的中文多媒體課件做翻譯,二是下載最新的國內外優秀的多媒體課件。 

2.4.3 雙語并用 

雙語教學并非只能用英語教學,在講授課程內容時,考慮到我校學生的外語水平,對于課程中涉及到的重要概念、術語,做到使用英語講授,使學生在學習過程中逐步具備計算機專業術語的語言優勢。對于較難的算法可穿插使用漢語,注意使用簡單句和專業詞匯,避免使用過多的定語和復雜的從句,教師可充分利用非語言行為,直觀、形象地提示和幫助學生理解教學內容,降低學生在英語理解上的難度。同時還要隨時根據學生掌握的程度,調整英文和中文的授課比例。 

2.4.4 注重實踐環節 

數據結構是一門實踐性很強的課程,實踐環節必不可少。雙語環境下的實踐還要做到:用英語描述實踐的作業、全英文的實驗軟件環境、學生分組協作完成、英語提交實驗報告,如此,一是鍛煉學生的動手實踐、團隊協作能力,二是鍛煉學生的英語表述能力。考慮到學生不同的層次水平,在實驗題目上也可分難易層次,使全部學生都可在實踐中得到適合的鍛煉。 

3 結論 

雙語教學是專業教學發展的趨勢,無論對教師還是學生都需要一個逐步適應的過程。就我校的目前的情況來看,開展數據結構課程的雙語教學,要充分認識以上需要著手解決的問題,待各方面條件成熟,可以考慮開設數據結構的雙語教學。 

參考文獻: 

[1] 楊捷,霍黨澤.“數據結構”課程雙語教學的研究與實現[j]. 北京大學學報(哲學社會科學版), 2007(5). 

[2] 蔡英. 數據結構雙語教學的探索性實踐[j]. 實驗室研究與探索, 2007(12). 

[3] 金遠平,王茜,徐冬梅. “數據結構”課程雙語教學的研究與實踐[j]. 電氣電子教學學報2005(8). 

第9篇:數據結構實驗報告范文

關鍵詞:案例教學;數據結構;教學法

0.引言

當前高校教學改革的主要目標之一,是改變傳統的以教師為中心的教學模式,構建一種既能發揮教師的指導作用,又能充分體現學生學習主體作用和個性化學習的新型教學模式。為實現這個目標,教師應積極利用計算機進行教學活動,并在此基礎上逐步實現教學模式、教學內容和教學方法的改革。同時,多媒體和網絡技術為構建新型的教學模式及實現網絡教學中“以問題為中心”的教學模式提供了基礎。另外,以問題為中心的案例教學是目前比較流行的一種教學方法,即學生利用所學的知識和技能解決一系列實際問題,從而達到建構經驗的目的。案例教學強調把學習設置到有意義的問題情境中,通過學習者的相互協作來解決真正的問題,從而有效地學習隱含在問題背后的科學知識,增強解決問題的技能和自主學習的能力。

1.數據結構與算法課程知識體系

數據結構與算法是程序設計、操作系統、數據庫原理與設計等課程的重要基礎,在計算機科學與技術專業課程體系中占據非常重要的地位,是一門理論與實踐并重的課程。該課程內容豐富、概念多、高度抽象、綜合性和實踐性強,這些因素給教學帶來了較大難度,教學效果是否良好將直接影響學生數據抽象能力和程序設計能力的培養。以問題為中心的教學法,綜合了自主學習、發現學習、協作學習、綜合學習等多種學習方式的優勢,對激發學生學習興趣、學習自主性和創造性,培養學生的協作精神與自學能力均有較好的效果。為了幫助學生在掌握課程知識的同時獲得探究式學習和團隊協作能力,提高教學效果,我們在此課程中開展了以問題為中心的案例教學研究。

該課程的教學體系以數據元素之間的邏輯關系為主線,以線性表、樹、圖等為分支,以不同邏輯關系的邏輯結構特點、存儲結構以及操作算法和算法實現作為基本知識點,每種邏輯結構都有其實際應用,知識體系結構層次清晰,示例豐富,適合開展以問題為中心的案例教學。因此,我們從中選取了“棧”“隊列”“二叉樹”及“圖”的應用等內容作為教學單元開展教學研究。

2.以問題為中心的案例教學實施過程

我們在教學過程中選取適合以問題為中心的案例教學單元進行方案設計,針對數據結構與算法課程創設教學環境,借助網絡教學平臺實施案例教學,最后進行教學效果的評測與總結。在具體的工作過程中,我們按照探究未知知識領域的途徑,通過提出問題、分析問題、創造性地解決問題、知識遷移等步驟對該教學方式予以實施,如圖1所示。該課題已于2011年9月至2011年12月、2012年9月至2012年12月分別開展了2個學期、4個班的教學實踐。

下面以“哈夫曼算法的應用”為例闡述以問題為中心的案例教學過程。

(1)明確學習目標與要求。本單元的教學要求為掌握樹的帶權外部路徑長度的計算,掌握哈夫曼算法的主要思想及哈夫曼樹的構造,掌握哈夫曼編碼。

(2)創設情境,提出問題。問題情境指學生在問題教學中所面臨的一種“有目的但不知如何達到”的心理困境。問題情境就是一種心理狀態,即學生接觸到的學習內容與原有認知水平不和諧、不平衡時,學生急需解決疑難問題的心理狀態。例如,教師提出在電文發送系統中,如何設計電文編碼,使發送的碼長最短?發送郵件附件的時候,經常進行文件壓縮,如何實現文件壓縮?

(3)分析問題。學生明確要探究的問題之后,在網絡教學平臺上學習“哈夫曼算法”相關知識,如二叉樹、樹的帶權外部路徑長度、哈夫曼算法思想、哈夫曼編碼等,擬訂出問題的解決方案。

(4)解決問題。學生通過自主學習,明確哈夫曼樹是帶權路徑長度最短的二叉樹,并作哈夫曼編碼,得到的碼長最短。因此,在電文發送系統中,利用哈夫曼算法設計電文編碼,使發送的碼長最短。同理,也可以使用哈夫曼算法對文件進行壓縮。

(5)知識的遷移。哈夫曼編碼在數據編碼中的應用是哈夫曼算法應用于各項技術中的典型實例。此外,由于哈夫曼樹具有帶權路徑長度最小的特性,它還能應用于其他具體的事物決策中。

①圖像壓縮問題。大數據量的圖像信息會給存儲器的存儲容量、通信干線信道的帶寬、計算機的處理速度帶來極大的壓力。單純靠增加存儲器容量、提高信道帶寬和計算機的處理速度等方法來解決這個問題是不現實的。此時需要考慮壓縮,壓縮的關鍵在于編碼。對于數據進行編碼時出現頻率較高的數據,編碼器輸出較短的碼字,而對于出現頻率較低的數據,則用較長的碼字表示,從而實現壓縮。通過對哈夫曼樹的原理及應用的研究,我們可以在遇到某些具體應用問題時獲得啟示和解決思路。

②二叉查找樹。例如,成績表有10000個分數,學生成績在5個等級的分布如表1所示,要求設計查找樹。

根據分數比例(當做權值)設計出哈夫曼樹,如圖2所示,即為二叉查找樹,靠近根的結點表示大比例分數段。通過計算,在查找成績時時間性能上有很大的提高,類似的問題可以通過二叉樹對此進行更深入的研究。

(6)教學實驗。教學實驗是對學生綜合素質進行訓練的一種基本方法,是課堂教學的一種延伸,是必不可少的一個教學環節。編程中的問題往往比平時的習題復雜得多,也更接近實際。編程能使學生所學的知識“活”起來,達到深化理解和靈活掌握教學內容的目的。同時,編程也是對學生軟件設計綜合能力的訓練。本單元教學任務完成后,學生以小組為單位進行綜合實驗。

①實驗目的:了解哈夫曼樹的應用,掌握哈夫曼樹的構造方法及哈夫曼編碼的應用。

②實驗步驟:

a)輸入一串字符,模擬電文發送系統中的發送字符,統計其中所有的不同字符及其個數,得出每個不同字符在文中出現的頻率。

b)根據每個字符頻率建立哈夫曼樹,輸出字符的編碼,模擬電文系統中的編碼系統。

c)輸入一個0.1字串,得出其譯碼,模擬電文系統中的譯碼系統。

③實驗要求:按組完成實驗,填寫實驗報告,匯報程序運行過程、結果等。

(7)對本次案例教學結果進行檢驗。教師完成一個階段的教學任務后,應重點檢查學生對知識點的掌握情況。另外,教師還應該定期檢查每個小組的團隊學習情況并打分,對協作效率較高的小組給予肯定和表揚。

教師在收集、整理分析教學結果的基礎上,要對本單元專題的教學試驗進行反思,肯定成功的經驗并推廣;對存在的問題認真分析原因,并提出改進措施和解決辦法;依據反思結果,及時調整和修改后續學習單元的教學方案和教學策略,以期在下次教學試驗中取得更好的教學效果。

3.教學效果測評

在課題的實踐中,我們對案例教學效果的評價包含兩個方面:對學生而言,主要從知識點的掌握程度、理解程度和是否能獨立地應用數據結構與算法解決實際問題,以及能否動手實現具體的應用等指標來進行評價;對教師而言,主要從教學效果方面進行評價,綜合評價各個因素。因此,提高對案例教學重要性的認識,客觀準確地評估案例教學的效果,培養學生綜合能力,促進案例教學質量的提高,具有十分重要的意義。

在數據結構與算法課程中開展以問題為中心的案例教學方式深受學生歡迎,也獲得教師們的好評。

1)學生成績評價。

(1)總結性評價——期末考試情況。圖3是2008-2010級計算機科學與技術專業學生數據結構與算法期末考試成績的比較圖。

從圖3可以看出,采用以問題為中心案例教學法的2010級學生總體考試成績比2008級和2009級要好,及格率及平均分普遍都高。

(2)形成性評價——實驗作業及分組匯報情況。圖4是2008-2011級計算機科學與技術專業學生數據結構與算法課程實驗作業及匯報情況比較圖。

從圖4可以看出,采用以問題為中心的案例教學的2010和2011級學生平時學習表現總體比2008和2009級要好,優秀率及良好率占的比例都較高。

2)教師表現評價。

經過課題研究組成員的多次探討,教師們編寫了許多有代表性的教學案例,并在課堂上加以實施。學生在網上評教時給相關任課教師的評價達到優秀等級,課題研究組教師授課表現也得到上級領導及教學專家的好評。例如,2010年,案例教學“二叉樹”獲得學院講課比賽第一名;2011年,以問題為中心的案例教學“圖的應用”獲得學院講課比賽第二名;2012年,課題組一位老師以問題為中心的案例教學“Kinect的應用”在學校講課比賽中獲得全校第二名。

香蕉久久久久久av成人| 腿张开猛戳免费视频网站| aa片在线观看视频在线播放| 婷婷俺也去俺也去官网| 国产色无码精品视频国产| 人妻丰满熟妇av无码区动漫 | 国产一区二区三区美女| 亚洲日韩一区精品射精| 成人一区专区在线观看| 亚洲欧美日韩精品中文乱码| 无遮挡十八禁在线视频国产制服网站| 极品美女国产精品免费一区| 香蕉精品在线| 亚洲成人精品久久| 中文字幕亚洲精品乱码在线看| 亚洲色大成网站www永久网站 | 久久夜色精品| 免费观看黄网站| 亚洲欧美日韩成人一区| 一区二区三区日本在线观看| 国产黄a三级三级三级| 国产精品毛片完整版视频| 亚洲一区二区三区日本久久九| 欧美丰满熟妇bbb久久久| 久久久久久久综合狠狠综合| 77777熟女视频在线观看| 东北少妇不戴套对白第一次| 国模沟沟一区二区三区| 亚洲中文字幕女同一区二区三区| 久久99久久99精品免观看女同| 手机av男人天堂免费网址| 毛片手机在线看| 国产福利一区二区三区视频在线看| 久久久中文字幕人妻一区| 欧美乱大交xxxxx潮喷| 中文字幕不卡高清免费| 久久精品国产亚洲av麻豆九月| 亚洲一区二区在线观看网站| 亚洲视频免费一区二区三区| 国产97在线 | 亚洲| 成人免费看吃奶视频网站|