亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        “數(shù)據(jù)結(jié)構(gòu)”課程教學的研究與探討

        2007-12-31 00:00:00鄧安遠萬紅艷
        計算機教育 2007年8期

        摘要:本文從課程教學的實際出發(fā),闡述了“數(shù)據(jù)結(jié)構(gòu)”課程在計算機專業(yè)中的地位、學習目的,并對“數(shù)據(jù)結(jié)構(gòu)”課程教學過程中的教學方法、教學手段方面進行了一些有益的探索。

        關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu);教學方法;教學手段

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

        文章編號:1672-5913(2007)08-0016-03

        1 前言

        “數(shù)據(jù)結(jié)構(gòu)”是計算機程序設(shè)計的重要理論基礎(chǔ),是計算機學科的核心課程之一,近年來也成為全國許多高校計算機專業(yè)招收研究生的必考課程之一。作為計算機相關(guān)專業(yè)的專業(yè)基礎(chǔ)課和專業(yè)課程的算法分析與設(shè)計、操作系統(tǒng)、軟件工程、數(shù)據(jù)庫概論、編譯技術(shù)、計算機圖形學、人機交互等都涉及到各種不同的數(shù)據(jù)結(jié)構(gòu)。例如:語言編譯要使用棧、散列表及語法樹;操作系統(tǒng)中要用到隊列、存儲管理表及目錄樹等;數(shù)據(jù)庫系統(tǒng)中要運用線性表,鏈表及索引樹等進行數(shù)據(jù)管理等等。這些后續(xù)課程的學習都與數(shù)據(jù)結(jié)構(gòu)密切相關(guān),只有學好了“數(shù)據(jù)結(jié)構(gòu)”,才能更好地學習其他專業(yè)課程。因此在學習之初,就要向?qū)W生講清楚這門課程的重要性,提高學生對這門課程的重視程度。

        “數(shù)據(jù)結(jié)構(gòu)”課程涉及到離散數(shù)學、可計算性理論、算法復(fù)雜性等理論知識。對于學生來說,該課程理論性強,又較抽象和深奧,往往對算法設(shè)計或程序設(shè)計中的技巧感到難以理解和掌握。筆者多年來一直從事“數(shù)據(jù)結(jié)構(gòu)”課程的教學,對如何改進教學方法和提高教學效果做了一些研究和探索,并取得了良好的效果,課程組于2005年將“數(shù)據(jù)結(jié)構(gòu)”申報立項為江西省省級教改課題。

        2 課程的地位與學習目的

        “數(shù)據(jù)結(jié)構(gòu)”研究的是非數(shù)值計算的程序設(shè)計問題中所出現(xiàn)的計算機操作對象(數(shù)據(jù))、數(shù)據(jù)之間的關(guān)系(邏輯結(jié)構(gòu))、對數(shù)據(jù)的操作(各種不同算法)、算法復(fù)雜性分析等內(nèi)容。對于每一種數(shù)據(jù)結(jié)構(gòu),都要搞清其邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)、常用操作、算法性能分析和實際應(yīng)用等五個方面。它不僅是一般程序設(shè)計的基礎(chǔ),而且是設(shè)計和實現(xiàn)編譯程序、操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)等系統(tǒng)程序和大型應(yīng)用程序的重要基礎(chǔ)。

        本課程要求學生學會分析問題,運用求解問題的策略設(shè)計算法,學會分析數(shù)據(jù),用抽象數(shù)據(jù)類型的方法表達數(shù)據(jù),設(shè)計數(shù)據(jù)的存儲結(jié)構(gòu)和算法,并運用算法復(fù)雜性理論分析算法的時間和空間效率。因此,如果其前導課程“計算機導論”、“高級語言程序設(shè)計”和“離散數(shù)學”掌握得不好,學生在學習這門課程時將感到難以理解和掌握,面對具體的算法問題時感覺無從下手,在應(yīng)用實踐時更是感到困難重重。解決好前導課程的遺留問題后,數(shù)據(jù)結(jié)構(gòu)課程的教學效果才有可靠的保障。

        3 行之有效的教學方法與教學手段

        3.1 注重理論與實踐相結(jié)合

        “數(shù)據(jù)結(jié)構(gòu)”是實踐性很強的課程,學習目的之一就是為了培養(yǎng)學生閱讀和設(shè)計算法的能力,并對算法的執(zhí)行效率進行簡單的分析。在教學過程中,筆者發(fā)現(xiàn)主要的教學難點在算法設(shè)計上,很多學生反映說上課能聽懂老師講的內(nèi)容,但輪到自己編寫算法時又不知該從何下手。如何幫助學生將課程內(nèi)容和實際要解決的問題聯(lián)系起來,是提高數(shù)據(jù)結(jié)構(gòu)教學質(zhì)量的關(guān)鍵所在。因此在講授過程中應(yīng)當盡量避免就概念講概念、就結(jié)構(gòu)講結(jié)構(gòu)的簡單教學模式,而是根據(jù)不同知識單元的特點采用相應(yīng)的教學方法。這就要求教師要不斷地提升自己的知識層次和知識的綜合運用能力,并轉(zhuǎn)變傳統(tǒng)的教學觀念,使自己的角色逐漸由講解員過渡為導航員,促使學生由被動的旁聽者變?yōu)橹鲃拥膮⑴c者,培養(yǎng)學生的綜合能力。

        3.2 注重教學的趣味性,采用案例式教學

        有部分學生剛一接觸到這門課程時,認為它是一門純理論課,對于老師課堂上講的許多算法(理論)不知有何作用,因而感到這門課程非??菰?、乏味,漸漸就失去了學習興趣,甚至有同學認為不學“數(shù)據(jù)結(jié)構(gòu)”照樣能編出程序。為了避免學生們產(chǎn)生厭學情緒,我們在教學中經(jīng)常采用問題教學法。不是急于去介紹課程內(nèi)容所涉及的理論,而是以有趣的問題引發(fā)學生的學習興趣,使學生產(chǎn)生學習的內(nèi)在動力。如:在講有序表的二分查找時,可以任選一名學生和教師一起做一個猜數(shù)游戲,學生在心里想一個100以內(nèi)的自然數(shù),教師來猜。每猜一個數(shù)時,學生要明確回答所想的數(shù)是等于、大于還是小于教師所猜的數(shù)。提問:最多多少次可猜中學生所想的數(shù)?又如:在講線形表的插入和刪除算法時,可以用貼近生活的例子,如在食堂排隊買飯來講解,如何移動?是先插入再移動還是先移動再插入?這樣做就激發(fā)了學生的創(chuàng)造性思維和創(chuàng)造欲望,有利于培養(yǎng)學生發(fā)現(xiàn)、提出、分析和解決問題的能力。

        3.3 引導學生從多角度去思考,找出多種解決方法

        算法設(shè)計過程是一個創(chuàng)造性的思維過程。通過算法設(shè)計,可以有效提高學生的創(chuàng)新能力。對于一個問題,我們要求學生能盡量從多角度去思考,找出不同的解決方法,而不是滿足于找到了一種方法。通過對同一問題尋找不同的算法來實現(xiàn),可有效地發(fā)散和開闊學生的思維,同時通過對不同算法的比較,也可以加深學生對算法的理解,發(fā)現(xiàn)算法的適用范圍。

        如約瑟夫(Josephus)問題:編號為1,2,……,n的n個人按順時針方向圍坐一圈,每人持有一個密碼(正整數(shù))。一開始任選一個整數(shù)作為報數(shù)上限值m,從第一個人開始報數(shù),數(shù)到m時停止報數(shù),報m的人出列,將他的密碼作為新的m值。接著從出列的下一個人開始報數(shù),數(shù)到m的人又出列,如此下去,直到所有的人都出列為止,試求出它們的出列次序。這一問題至少可以采用四種不同的方法來解決。

        方法一,用循環(huán)線性鏈表做存儲結(jié)構(gòu)解決Josephus問題。設(shè)置一個循環(huán)線性鏈表A及隊列B,每個節(jié)點保存一個人的數(shù)據(jù)(序號和密碼),初始時A中順序保存每個人的數(shù)據(jù),B為空。某人出列后,將對應(yīng)節(jié)點由A鏈表中刪除而插入到B鏈表的表尾,當A為空時B中即順序保存了出列的序號(節(jié)點也可只保留密碼)。

        方法二,用靜態(tài)鏈表做存儲結(jié)構(gòu)解決Josephus問題。具體實現(xiàn)類似方法一。

        方法三,用線性表的順序存儲結(jié)構(gòu)解決Josephus問題。設(shè)置兩個順序表A、B,初始時A[i]保存第i個人的密碼(i= 1,……,n),出列后A[i]=0,B[j]中保存第j次出列的人的序號。

        方法四,用線性表的順序存儲結(jié)構(gòu)解決Josephus問題。類似方法三,設(shè)置順序表A及計數(shù)器j,初始時A[i]保存第i個人的密碼(i=1,……,n),j為0。出列后A[i]=0,計數(shù)器加1,并輸出i。

        3.4 善于抓住算法的共同點,實現(xiàn)多種算法的統(tǒng)一

        數(shù)據(jù)結(jié)構(gòu)中算法很多,每一種算法都有背景和適用范圍,但是有些不同背景中提出的算法也有一些共同點。從這些共同點出發(fā)來介紹相關(guān)的算法,不僅有利于學生對相關(guān)知識的理解和掌握,還將提高學生學習和教師教學的效率。

        例如,數(shù)據(jù)排序的算法。在一般教科書上,只介紹了按升序排列數(shù)據(jù)的算法,而沒有介紹按降序排列數(shù)據(jù)的算法。其實,按升序排列與按降序排列可以按兩種不同的思路統(tǒng)一起來。

        ① 若提供了按升序排列的算法的源代碼,則只需將源代碼中的“>=”與“<=”互換、“>”與“<”互換,則可得到按降序排列的算法。

        ② 若沒有提供按升序排列的算法的源代碼,則先將原始關(guān)鍵字乘以-1(對關(guān)鍵字為數(shù)值型的數(shù)據(jù)而言),然后排序。排序后再將每個關(guān)鍵字乘以-1,即可得到按降序排列的結(jié)果。

        3.5 采用計算機輔助教學手段

        在教學手段上,完全采用一支粉筆加一塊黑板的傳統(tǒng)教學模式很難收到良好的教學效果,而采用多媒體教學可以強化教學效果。隨著教學改革的不斷深入,很多高校都配備了多媒體教室,這為我們采用現(xiàn)代化手段進行教學創(chuàng)造了條件。因此教師應(yīng)當充分利用這些教學資源所帶來的便利和視聽效果,以優(yōu)化傳統(tǒng)的課堂教學過程,增強教學效果和效率。

        首先,要精心制作電子講稿,一般都是采用PowerPoint來制作。電子講稿要能體現(xiàn)課程的重難點,而不是教材的簡單拷貝。通過PowerPoint的動畫、圖示等手段,把需要講解的內(nèi)容展示出來,這樣的表現(xiàn)形式既生動活潑容易激發(fā)學生的學習興趣,又能節(jié)省課堂時間。其次,部分較難的算法通過編寫教學軟件進行動態(tài)演示。例如棧的應(yīng)用之一——迷宮問題,通過動態(tài)演示,學生對堆棧的進出一目了然,就非常容易理解。如果只是依靠口頭講解很難有好的教學效果。再次,在習題課和上機實習時,可以直接利用教師機把一些程序的運行過程和運行結(jié)果直接演示給學生看,這種直觀的教學方式可以取得很好的教學效果。

        3.6 加強實踐,提高算法設(shè)計能力

        要使學生真正學好“數(shù)據(jù)結(jié)構(gòu)”這門課程,除了在課堂上要采用行之有效的教學方法外,還應(yīng)加強實踐。我們的做法是通過三種實踐方式:一是做習題;二是上機實踐;三是課程設(shè)計。

        由于專業(yè)課程的理論與技術(shù)往往表現(xiàn)出較強的綜合性、前沿性和探索性,是發(fā)展中的科學。我們除了布置跟課程內(nèi)容緊密相關(guān)的習題外,還鼓勵學生撰寫小論文或總結(jié)報告,讓他們時刻跟蹤本課程的最新動態(tài)。上機實踐則不僅能進一步提高學生靈活運用數(shù)據(jù)結(jié)構(gòu)和算法的能力,還可使學生在編程、上機操作、程序調(diào)試與正確性驗證等基本技能方面受到嚴格的訓練。學習數(shù)據(jù)結(jié)構(gòu)更深層次的目標是能夠針對實際問題來選擇、擴展甚至是設(shè)計全新的數(shù)據(jù)結(jié)構(gòu),然后設(shè)計相應(yīng)的存儲結(jié)構(gòu)并加以實現(xiàn),從而最終解決問題。這個過程是一個融會貫通的過程,單憑課程實驗是無法完成的,也不可能在課堂教學中就建立完整的意識,因此必須在課程之后進行課程設(shè)計。為此,我們專門設(shè)計了一套完整的實踐教學大綱,為學生的上機實踐和課程設(shè)計這兩個實踐環(huán)節(jié)提供指導,在實踐內(nèi)容和形式上為學生提供多種可能的選擇。已經(jīng)嘗試的形式有:計算機創(chuàng)業(yè)大賽、網(wǎng)頁大賽、計算機專業(yè)知識比賽等,通過開展這些比賽來有效地提高學生的自學能力、實踐能力和知識創(chuàng)新能力。

        4 結(jié)束語

        “數(shù)據(jù)結(jié)構(gòu)”在整個計算機科學的知識體系中有著非常重要的地位和作用,是計算機專業(yè)學生必須掌握的一門課程。研究和探索數(shù)據(jù)結(jié)構(gòu)的教學方法和教學技巧,幫助同學們學好這門課程具有很重要的實際意義。筆者經(jīng)過多年的教學實踐,總結(jié)出了一些教學方法和教學技巧,并取得了較好的教學效果。但隨著計算機技術(shù)的進一步發(fā)展,對數(shù)據(jù)的描述、存儲、處理的要求將會提出更高的要求,對該門課程的教學內(nèi)容、教學方法等方面的改革還有待于不斷地探索。

        參考文獻:

        [1] 嚴蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)(C 語言版)[M].北京: 清華大學出版社,1997.

        [2] 嚴蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)習題集(C 語言描述)[M].北京:清華大學出版社,1998.

        [3] 李春葆.數(shù)據(jù)結(jié)構(gòu)習題與解析[M].北京:清華大學出版社,2000.

        作者簡介:

        鄧安遠(1968-),男(漢族),江西九江,副教授,研究方向:數(shù)據(jù)庫與信息系統(tǒng),現(xiàn)代計算機網(wǎng)絡(luò)技術(shù)。

        激情免费视频一区二区三区| 亚洲Va欧美va国产综合| 久久精品国产亚洲黑森林| 热门精品一区二区三区| 蜜臀av一区二区三区免费观看| 久久久精品一区aaa片| 亚洲av无码专区亚洲av桃| 又色又爽又黄的视频网站| 久久久人妻一区二区三区蜜桃d | 国产成人午夜高潮毛片| 日韩免费无码一区二区三区| 91爱爱视频| 精品久久精品久久精品| 亚洲av午夜精品无码专区| 日韩插啊免费视频在线观看| 在线免费欧美| 丰满少妇av一区二区三区| 无码人妻精品一区二区三区蜜桃| 国产乱子伦在线观看| 2021亚洲色中文字幕| av中文字幕在线直播| 成人特黄a级毛片免费视频| 99久久夜色精品国产网站| 熟女白浆精品一区二区| 亚洲伊人av天堂有码在线| 一本久久a久久精品vr综合| 久久精品片| 一级一片内射在线播放| 久久综合伊人77777麻豆| 国产亚洲人成a在线v网站| 国产精品久久久久免费看| 区一区二区三区四视频在线观看| 国产精品成人va在线观看| 国产精品无码一区二区在线国| 亚洲高清av一区二区| 伊人中文字幕亚洲精品乱码| 国产国语熟妇视频在线观看| 亚洲AV无码一区二区一二区色戒| 久久亚洲中文字幕精品二区| 人妻少妇精品中文字幕av| 2021精品国产综合久久|