国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

“數(shù)據(jù)結構”實踐教學探討與實踐

2009-06-18 05:05王淮亭
計算機教育 2009年12期
關鍵詞:數(shù)據(jù)結構實踐教學方法

摘要:本論文根據(jù)“數(shù)據(jù)結構”課程的特點和我校技術應用型本科教育的理念,分析了目前在課程教學中存在的不足之處,提出加強“數(shù)據(jù)結構”實踐教學,并給出了實踐教學的九個案例,通過這些案例應用中的一些問題實踐,讓學生既知其然,又知其所以然。本文對“數(shù)據(jù)結構”實踐教學中的研究,旨在為計算機程序設計教學提供可借鑒的經(jīng)驗和建議,促進計算機教學的發(fā)展,豐富教學方法。

關鍵詞:數(shù)據(jù)結構;實踐;教學方法

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

1引言

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

我校致力于技術本科教育理念,深化教學改革是一條提高教學質(zhì)量的有效途徑,在教學改革中揚棄傳統(tǒng)的“以教為中心”的教學結構,逐步建立“學教并重”和“學致以用”的教學結構??紤]到目前我校教育的現(xiàn)狀,我們在“數(shù)據(jù)結構”實踐教學中做了有益的探討,讓學生知道學習完成后能夠?qū)嶋H應用,激發(fā)學生的學習主動性,培養(yǎng)富有技術應用性的人才,對我校技術應用性本科教育都具有深遠的意義。

2 “數(shù)據(jù)結構”教學的現(xiàn)狀

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

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

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

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

(1) 概念多

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

(2) 基礎差

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

(3) 實踐效果不顯著

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

3實踐教學改進

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

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

(1) 引發(fā)學生興趣,明確實驗內(nèi)容

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

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

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

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

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

(3) 精選實驗內(nèi)容,編程實現(xiàn)典型算法

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

代表性:算法應該能夠集中體現(xiàn)某個數(shù)據(jù)結構的基本特征。

難度適中:算法既不是很簡單,也不應該很難,要使多數(shù)學生經(jīng)過努力可以實現(xiàn)。

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

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

該系統(tǒng)具體內(nèi)容是:

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

實驗2棧隊子系統(tǒng):主要算法有建棧、進棧、出棧、顯示、數(shù)制轉(zhuǎn)換、逆波蘭式。

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

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

實驗5稀疏矩陣和廣義表子系統(tǒng):主要算法有稀疏矩陣建立、轉(zhuǎn)置、顯示、廣義表建立、查找和顯示。

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

實驗7圖子系統(tǒng):主要算法圖的建立、建立鄰接矩陣、深度優(yōu)先遍歷、廣度優(yōu)先遍歷。

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

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

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

4結束語

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

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

參考文獻:

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

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

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

[4] 顧翔.“數(shù)據(jù)結構”實踐教學探討[J]. 文教資料,2005(30):110-112.

[5] 陳元春,張亮,王勇. 實用數(shù)據(jù)結構基礎[M]. 2版. 北京:中國鐵道出版社,2007:272-273.

猜你喜歡
數(shù)據(jù)結構實踐教學方法
基于gitee的皮膚科教學方法研究
數(shù)據(jù)結構線上線下混合教學模式探討
重典型應用,明結構關系
《計算方法》關于插值法的教學方法研討
《計算方法》關于插值法的教學方法研討
小學語文字理教學方法探析
初中政治教學中強化新八德教育探討
體驗式學習在數(shù)學教學中的應用研究
生物專業(yè)師范生教學實習的問題與對策研究
校企協(xié)同實施高職專業(yè)課程改革的實踐研究
乐安县| 曲靖市| 万全县| 元江| 高邑县| 南溪县| 怀远县| 读书| 盱眙县| 天峨县| 霸州市| 宜章县| 宜宾县| 深水埗区| 通化县| 五寨县| 大名县| 洱源县| 资中县| 尉氏县| 京山县| 商城县| 日照市| 铁岭市| 徐州市| 娱乐| 湘潭县| 六安市| 聂荣县| 佳木斯市| 新竹县| 白山市| 兖州市| 安康市| 鹰潭市| 分宜县| 南溪县| 五指山市| 高州市| 秭归县| 沛县|