數(shù)據(jù)結(jié)構(gòu)課程設(shè)計范文

時間:2023-04-01 05:49:19

導(dǎo)語:如何才能寫好一篇數(shù)據(jù)結(jié)構(gòu)課程設(shè)計,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務(wù)員之家整理的十篇范文,供你借鑒。

篇1

關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu);微課;思維導(dǎo)圖

一、背景

數(shù)據(jù)結(jié)構(gòu)課程作為計算機專業(yè)的核心基礎(chǔ)課程,學好數(shù)據(jù)結(jié)構(gòu)才能為許多后續(xù)課程的學習打下良好的基礎(chǔ)。課程要求學生通過理論與實踐學習之后,能掌握各種數(shù)據(jù)結(jié)構(gòu)以及與之相關(guān)的算法的知識,并將這些知識應(yīng)用到對具體實際問題的分析中。參照ACM/IEEE-CS的《ComputeCurricula2001》報告中提出的數(shù)據(jù)結(jié)構(gòu)課程內(nèi)容主題[1]有幾十個,即課程的教學內(nèi)容多,覆蓋面廣,而且由于很多重要知識的理論性較強,特別是一些難點知識比較抽象而難以理解,所以數(shù)據(jù)結(jié)構(gòu)是被學生廣泛認為難學、難懂、難實踐的課程。學習的過程通常由“信息傳遞”和“吸收內(nèi)化”兩個階段構(gòu)成,采用信息化技術(shù)手段開展以微課、慕課、云課程、翻轉(zhuǎn)課堂為代表的數(shù)字化教學是實現(xiàn)知識信息傳遞的有效手段[2]。微課一般是在課堂教學之外,由學生主動參與的輕量化、碎片化、結(jié)構(gòu)化的學習方式,通過良好的課程結(jié)構(gòu)設(shè)計,結(jié)合短視頻、動畫、語音等手段,能有效地將抽象的知識轉(zhuǎn)為形象化的內(nèi)容,從而高效促進學生“吸收內(nèi)化”的進程。

二、微課及設(shè)計方法

微課(Microlecture),是指運用信息技術(shù)按照認知規(guī)律,呈現(xiàn)碎片化學習內(nèi)容、過程及擴展素材的結(jié)構(gòu)化數(shù)字資源[3]。微課課程平臺是學生在課堂教學外的細化教學知識,實現(xiàn)“自主學習”和“個性化學習”的環(huán)境,在微課平臺上,學生可按需選擇學習,既可查漏補缺,又能強化鞏固知識,是課堂學習的一種重要補充和拓展。從邏輯結(jié)構(gòu)角度看,一個完整微課課程通常由一系列微課單元構(gòu)成,一個微課單元除了用來講述該教學主題知識點的課堂教學短視頻及與短視頻配套的描述或解釋的短文這一最重要的核心部分之外,通常還包含與該教學主題相關(guān)的練習測試及師生交流等輔教學資源,這些資源共同組成了一個主題式、半結(jié)構(gòu)化的微課教學單元。一個設(shè)計良好的微課單元通常具備主題選題精準和內(nèi)容組織合理的特點。選題精準就是一個微課單元是一個教學主題,在設(shè)計這個主題時,要注意這個選題所覆蓋的知識或原理應(yīng)較為簡單[4],其涵蓋知識點可選2—3個;內(nèi)容組織合理就是知識內(nèi)容的組織和分解簡明,將一個教學主題核心知識點和目標分解為若干個子知識點或步驟,這個核心知識點的分解最好只要一層邏輯,盡量不要在子知識點下再分解。

三、數(shù)據(jù)結(jié)構(gòu)微課設(shè)計過程

數(shù)據(jù)結(jié)構(gòu)課程要求學生能合理選擇數(shù)據(jù)結(jié)構(gòu),并把與問題相關(guān)的數(shù)據(jù)組織起來實現(xiàn)準確和高效計算處理,所以數(shù)據(jù)結(jié)構(gòu)的核心概念由數(shù)據(jù)的邏輯結(jié)構(gòu)及其定義在邏輯結(jié)構(gòu)上的運算、數(shù)據(jù)的存儲結(jié)構(gòu)以及運算的實現(xiàn)、運算算法的復(fù)雜度分析三個方面構(gòu)成,而且在課程中數(shù)據(jù)的結(jié)構(gòu)又與其相關(guān)的算法纏繞在一起[5],使得在微課設(shè)計時所做的知識點分析必須循序漸進地展開,采用由淺到深、由易到難的步驟,再從這個課程的知識體系出發(fā),選取其中的重點、難點、疑點、考點、易錯點、熱點和擴展點,設(shè)計和制作一系列既相對獨立,又環(huán)環(huán)相扣的微課主題單元[6]。

(一)知識點分析與微課主題單元劃分

設(shè)計數(shù)據(jù)結(jié)構(gòu)課程的微課時,首先按照課程內(nèi)容的知識結(jié)構(gòu)來完成各個主題單元的設(shè)計和劃分。我國的大部分數(shù)據(jù)結(jié)構(gòu)與算法的教材[7-8]把課程的知識體系對應(yīng)到教學內(nèi)容之后,分成了基本概念和基礎(chǔ)知識、線性數(shù)據(jù)結(jié)構(gòu)及相關(guān)算法、樹形結(jié)構(gòu)及相關(guān)算法、圖結(jié)構(gòu)及相關(guān)算法四個教學組成部分,這四個組成部分又可分別分成若干子模塊,每個子模塊又可再分成若干主題單元;劃分方法可以使用表格或思維導(dǎo)圖來協(xié)助完成。思維導(dǎo)圖是表達發(fā)散性思維的有效圖形思維工具,能直觀地把各級主題的關(guān)系用相互隸屬與相關(guān)的層級圖表現(xiàn)出來[9]。借助思維導(dǎo)圖,我們能有效完成微課課程知識結(jié)構(gòu)的設(shè)計工作,圖1是我們設(shè)計線性數(shù)據(jù)結(jié)構(gòu)及相關(guān)算法部分的微課主題單元思維導(dǎo)圖。

(二)微課主題單元設(shè)計

在完成對課程的教學內(nèi)容主題劃分之后,開始對每個教學主題單元做設(shè)計。設(shè)計主題單元時要以學生為中心,其內(nèi)容選擇先考慮突出主題單元中的重點知識點,同時需要保證學生能看懂、能聽懂,就是盡量以生動形象的語言和動畫表達知識點,特別是難點和常見疑點必須演示或解釋得詳細清楚。這里以單鏈表主題單元為例。單鏈表是最簡單的鏈式存儲結(jié)構(gòu),是深入學習樹與圖(非線性結(jié)構(gòu))的基礎(chǔ),其概念及其實現(xiàn)是本節(jié)教學的重點和難點內(nèi)容,我們按照內(nèi)容介紹的次序來繪制思維導(dǎo)圖,圖中帶星號的是重點知識點。在制作微課資源時,可以針對不同特點的知識點采用不同的講解形式。對于概念性的內(nèi)容,只需用語言或文字以學生容易理解的方式講述清楚概念,而對一些抽象的內(nèi)容,可采用圖形、對比表格、動畫等方法來講解。如單鏈表結(jié)點與單鏈表結(jié)構(gòu)的知識點,我們采用的是圖形動畫演示配合語音講解方法;在講解單鏈表的實現(xiàn)時,我們采用了代碼單步執(zhí)行分析與圖形動畫演示相結(jié)合的方法來講述,取得了較好的教學效果。

篇2

Key words:project driven;course design;applied college

1.《數(shù)據(jù)結(jié)構(gòu)》課程授課現(xiàn)狀

《數(shù)據(jù)結(jié)構(gòu)》課程是計算機及其相關(guān)專業(yè)的核心基礎(chǔ)課程,是一門理論與實踐相結(jié)合的課程,在整個計算機專業(yè)教學體系中處于舉足輕重的地位,特別在軟件方向的課程體系中處于承上啟下的中心地位。長期以來,《數(shù)據(jù)結(jié)構(gòu)》課程的教學備受相關(guān)學院領(lǐng)導(dǎo)高度重視,然而,大部分高?!稊?shù)據(jù)結(jié)構(gòu)》課程的教學效果都不盡如人意,影響教學效果的原因大致如下:

(1)理論教學與實踐教學嚴重脫節(jié)。目前對于《數(shù)據(jù)結(jié)構(gòu)》的理論教學主要是教師首先講解基本的結(jié)構(gòu)思想,然后再引導(dǎo)學生讀懂由類C++語言編寫的算法,最后布置作業(yè)讓學生思考針對這些算法的問題。在實踐教學方面,學生通常要做的事是將課本上寫的很詳細的代碼翻譯成相應(yīng)的高級程序語言并調(diào)試通過,甚至不會去自己解決一個稍微復(fù)雜點兒的綜合問題。基于上述兩種原因,學生在學習的過程中可以不用費神思考就能將問題解決,但是離開課本遇到一個新的具體的問題就不知所措,體現(xiàn)不出學生獨立思考問題的能力,實踐教學環(huán)節(jié)更是流于形式,加之學生程序設(shè)計的基本功不扎實,久而久之對學習編程和思考問題失去興趣。

(2)傳統(tǒng)單一的考核形式,不能體現(xiàn)學生的技能水平?,F(xiàn)階段大多數(shù)高校對于《數(shù)據(jù)結(jié)構(gòu)》課程的考試形式總是以筆試為主,考核的內(nèi)容還是單一的理論知識,盡管最后有編程題目或者分析題,但是均不能體現(xiàn)學生的技能掌握的如何,90%的學生感覺學習了《數(shù)據(jù)結(jié)構(gòu)》這門課程對自己以后的學習和工作沒有用處,進而減弱了學習的信心,導(dǎo)致學生再學習后續(xù)的數(shù)據(jù)庫和編程方面的課程的時候,缺乏模型構(gòu)建的能力。

2.項目驅(qū)動教學法在《數(shù)據(jù)結(jié)構(gòu)》課程中的應(yīng)用分析

項目驅(qū)動教學法是以學生為主體,以項目知識為主線,教師參與引導(dǎo)的教學方法,它不再是“教師講,學生聽”的被動教學模式[1]。該教學方法的主要目的是讓學生真正的參與到課堂中來,培養(yǎng)他們主動思考問題和創(chuàng)新的能力,特別適合于像《數(shù)據(jù)結(jié)構(gòu)》這種內(nèi)容延伸性強、抽象思維要求特別高的課程。

2.1 項目驅(qū)動教學法的特點

項目驅(qū)動不同于簡單的任務(wù)驅(qū)動,它更側(cè)重于培養(yǎng)學生解決未遇到的關(guān)鍵問題的能力,在教學過程中表現(xiàn)為以項目為本位、以學生為主體的重要特征,要求教師設(shè)計的項目要具有一定的應(yīng)用價值,并且最好與企業(yè)實際生產(chǎn)過程或具體問題有直接的關(guān)系。項目教學法的特點如下:

(1)具有實踐性:項目的主體與現(xiàn)實世界密切相連,學生的學習內(nèi)容更加的具有針對性和實用性。

(2)具有自主性:學生自由、自主的分組進行學習,根據(jù)自己的理解發(fā)揮想象力,從而促進學生創(chuàng)造能力的發(fā)展。

(3)具有發(fā)展性:長期項目與階段項目相結(jié)合,構(gòu)成為實現(xiàn)教育目標的認知過程。

(4)具有綜合性:項目的設(shè)計本身需要綜合多個學科,所以培養(yǎng)了學生綜合運用知識的能力。

(5)具有開放性:學生需要圍繞問題進行探索和解決,所以學生的學習形式不再局限于課堂[2]。

2.2 師生角色的相互轉(zhuǎn)變

項目驅(qū)動教學方法要求每位學生均要真正的參與課堂中來,在老師的引導(dǎo)下,發(fā)揮想象、參與研究、參與創(chuàng)造。因此,項目驅(qū)動教學法較以往的傳統(tǒng)教學實現(xiàn)了兩個打破:

第一,打破教材章節(jié)順序,以項目為主線完成課程的培養(yǎng)目標。教師須在完全吃透課程培養(yǎng)目標的基礎(chǔ)上,熟悉教材知識點,然后根據(jù)要傳授的知識點結(jié)合該專業(yè)的就業(yè)方向和崗位構(gòu)建項目,教師的主要精力應(yīng)放在項目的設(shè)計、布置和引導(dǎo)方面,教師設(shè)計項目的優(yōu)劣直接影響學生的學習效果。另外,在教學的初級階段,教師還應(yīng)該全面把握項目實施過程中學生可能出現(xiàn)的問題以及如何解決。在項目的實施階段,教師只是起到引導(dǎo)和督促的作用,而不參與討論,當各組學生都提出普遍不懂的問題時,可以先引導(dǎo)其查閱相關(guān)的資料或略微指導(dǎo)一二,教師在整個的過程中完全成了一名向?qū)Ш皖檰?。當然,如何引?dǎo)學生在項目實踐中發(fā)現(xiàn)新問題和掌握新知識,這對老師提出了更高的要求。

第二,打破教師在臺上泛泛的講,學生在臺下靜靜的聽的局面。項目驅(qū)動教學法要求先將學生分組,每一組學生接到教師的項目后就開始自行分配任務(wù),并且在指定的時間內(nèi)將相關(guān)的問題解決,這期間可能會查資料、相互討論、請教師長等,學生的教材理所當然的當成了查找知識的工具書,或者有些教材甚至可以不用給學生征訂,節(jié)約了教育成本。這樣,我們的教學才真正做到了注重過程、以學生為本。

2.3 項目驅(qū)動下的《數(shù)據(jù)結(jié)構(gòu)》課程劃分

以《數(shù)據(jù)結(jié)構(gòu)》課程的教學為例,在采用了項目驅(qū)動教學法后,我們將課程的知識點劃分成了10個項目:

表1 《數(shù)據(jù)結(jié)構(gòu)》課程項目示例表

項目名稱 相關(guān)知識點 參考課時

通訊錄信息管理系統(tǒng) 線性表、查找、排序 6

某高校學生成績管理系統(tǒng) 線性表、串、查找、排序 6

婚姻的穩(wěn)定性情況調(diào)查 數(shù)組、棧 8

理發(fā)館的經(jīng)營狀況分析 線性表、隊列 6

十進制四則運算器設(shè)計 棧、樹結(jié)構(gòu)、浮點數(shù)運算 8

汽車零部件的庫存模型設(shè)計 廣義表、查找、排序 8

因特網(wǎng)域名查詢系統(tǒng) 樹結(jié)構(gòu)、查找 6

小型汽車牌照的快速查找系統(tǒng) 線性表、查找、排序 10

管道鋪設(shè)施工方案設(shè)計和選擇 圖結(jié)構(gòu) 8

文章系統(tǒng)設(shè)計 文件、查找、排序 10

受現(xiàn)階段高校授課時間的限制,針對不同的學生層次,這10個項目可能不能全部做完。根據(jù)學生的特點,教師可以有針對性的選作期中的5-8個,進而分配相關(guān)的課時。實踐證明:在標準課時之內(nèi),只有30%的學生能夠完成一個完整的項目,但是90%的學生能夠利用課后的時間積極的查閱資料和咨詢老師,這種授課方法對學生的主動學習起到了一個積極的推動作用,并且學生愿意犧牲課后休息的時間泡在圖書館。

3.具體項目實施過程

下面以“通訊錄信息管理系統(tǒng)”為例,闡述在《數(shù)據(jù)結(jié)構(gòu)》課程中實施項目驅(qū)動教學法的過程。

3.1 項目名稱:通訊錄管理系統(tǒng)。

3.2 培養(yǎng)目標:第一,使學生掌握線性結(jié)構(gòu)的特點、線性結(jié)構(gòu)的表現(xiàn)形式。第二,使學生領(lǐng)會數(shù)據(jù)在計算機中存儲的概念,并掌握兩種重要的存儲形式。第三,掌(下轉(zhuǎn)第179頁)(上接第171頁)握線性表和鏈表的區(qū)別,能夠根據(jù)實際情況選擇不同的存儲結(jié)構(gòu)。第四,能夠?qū)嵤┑乃惴ㄟM行性能評價。

3.3 項目預(yù)備知識:C語言編程基礎(chǔ)、線性表的定義、線性表的存儲結(jié)構(gòu)、線性表的創(chuàng)建、線性表中元素的查找、插入、刪除、修改等操作。

3.4 項目延伸知識:線性表中元素的排列(按照某種規(guī)則進行排序)。

3.5 項目的功能描述:該系統(tǒng)是普通的電話通訊錄管理系統(tǒng),要求實現(xiàn)能夠根據(jù)姓名或者電話號碼查詢一個用戶,能夠?qū)崿F(xiàn)對新用戶的添加操作和刪除一個用戶,能夠統(tǒng)計出該通訊錄中的用戶總數(shù)。比如:用戶有一個電話號碼,但不知道此電話號碼是誰的,則需要輸入號碼來查詢該號碼是不是此通訊錄中已記錄的人的號碼,若是可以輸出該號碼及姓名,若不是可以輸出“無記錄”。同學們在此基礎(chǔ)上發(fā)揮想象力,結(jié)合實際可以擴展更多的功能。

3.6 項目實施步驟:

(1)根據(jù)學生的特長進行團隊劃分。按照一個班級35人的標準,我們將學生分成5-6個團隊,每個團隊在5-6人,然后推薦一名隊長。

(2)教師開始下發(fā)項目書,要求每一個團隊根據(jù)項目書撰寫項目的可行性報告,每個團隊以文字的形式上交一份報告,在此期間至少要保證每個團隊的隊長明白項目的完成目標,然后由隊長寫出項目過程的具體劃分和階段性成果。

(3)教師要不間斷的引導(dǎo),當完成項目的可行性報告之后,每個團隊就開始查找資料和相互討論,教師在旁邊起到一個引導(dǎo)和監(jiān)督的作用,對于學生普遍問及的問題可以進行統(tǒng)一解答。教師有目的的講課,學生有目的的聽課,所以實現(xiàn)了共贏的局面。

(4)教師總結(jié)階段,每個項目完成之前,教師要對各個團隊的成果進行演示和評價,指出每個團隊的不足之處。

(5)學生整改階段,學生根據(jù)教師的評價,完善自己的不足,然后形成階段性課程設(shè)計報告。

4.《數(shù)據(jù)結(jié)構(gòu)》課程的考核形式及評價

《數(shù)據(jù)結(jié)構(gòu)》課程不同于其他的專業(yè)課,該課程中所設(shè)計到的算法和思想具有可收縮性,它應(yīng)強調(diào)對于問題求解能力的培養(yǎng),我們需要在學生的課程設(shè)計過程中,鼓勵學生對其解決問題的方案進行理論分析和實驗分析,鼓勵學生積極主動的創(chuàng)新并大膽提出優(yōu)化設(shè)計方案。對于該課程的考核形式是讓學生根據(jù)自己平時的課程項目,將項目整理成課程設(shè)計報告,最終上交紙質(zhì)的課程設(shè)計報告書,然后教師對報告進行評價。

考慮到《數(shù)據(jù)結(jié)構(gòu)》這類課程一直以來是計算機相關(guān)專業(yè)學生學歷層次提升考試的重要專業(yè)課,在進行課程考核的時候,有些學校除了讓學生形成最終的課程設(shè)計報告書之外,還讓學生參加一次筆試考試,以了解學生對于基礎(chǔ)知識的掌握水平。

采用了項目驅(qū)動+課程設(shè)計的教學模式以后,學生普遍反映對數(shù)據(jù)結(jié)構(gòu)的學習非常感興趣,老師們則感覺采用這種方式以后,學生的學習積極性提高了,但是同時老師們的教學壓力也變得大了,因為增加了老師準備課堂的負擔,但是總體感覺是利大于弊的。

5.實施項目教學法的總結(jié)與展望

通過《數(shù)據(jù)結(jié)構(gòu)》教學中實施項目驅(qū)動教學法,我體會到項目教學在專業(yè)基礎(chǔ)課中實施的必要性,當然該教學方法也不是萬能的,它不是適合于所有的課程,通常來講:這種教學方法比較適合實踐操作性強,學科比較綜合的課程,同時,我有如下幾點體會:

(1)項目教學法重要的是項目的設(shè)計,它可能直接影響教學的效果。在進行項目設(shè)計時,我們需要考慮學生對項目的理解、項目包括的知識點的范圍、課程的前驅(qū)后繼關(guān)系等,否則,我們設(shè)計的項目將是沒有意義的。

(2)教師的有力引導(dǎo)是確保項目順利完成的重要保障,學生在進行項目設(shè)計的過程中遇到棘手的問題需要老師第一時間進行指導(dǎo)。再者教師要事前全面掌握學生的學習層次,進行有目的性的指導(dǎo),并能給學生留有思考的空間。

篇3

[關(guān)鍵詞]數(shù)據(jù)結(jié)構(gòu);課堂教學;教學設(shè)計

[中圖分類號] G642 [文獻標識碼] A [文章編號] 2095-3437(2017)03-0029-02

數(shù)據(jù)結(jié)構(gòu)課程是計算機類專業(yè)的核心必修課程,在整個專業(yè)教學體系中占有重要地位。數(shù)據(jù)結(jié)構(gòu)課程的教學內(nèi)容涉及構(gòu)筑計算機求解問題的兩大基石:刻畫實際問題中信息及其關(guān)系的數(shù)據(jù)結(jié)構(gòu),描述問題解決方案的算法。[1]數(shù)據(jù)結(jié)構(gòu)課程的教學目標是培養(yǎng)學生縝密的邏輯思維能力和數(shù)據(jù)抽象能力,把數(shù)據(jù)結(jié)構(gòu)和算法理論與編程實踐相結(jié)合,并在軟件系統(tǒng)開發(fā)過程中靈活運用。學好數(shù)據(jù)結(jié)構(gòu)課程對操作系統(tǒng)、編譯原理、計算機網(wǎng)絡(luò)等后續(xù)課程的學習以及培養(yǎng)學生分析問題、解決問題的能力等方面起著至關(guān)重要的作用。如何講好數(shù)據(jù)結(jié)構(gòu)課程,一直是各高校計算機教師研究探索的熱門課題。俗話說“好的開端是成功的一半”,第一堂課的教學設(shè)計至關(guān)重要。好的開端能激發(fā)學生對課程的興趣,調(diào)動學生的學習積極性,使其產(chǎn)生強烈的求知欲,從“要我學”變?yōu)椤拔乙獙W”,從而為教師有序、有效展開課程教學奠定良好的基礎(chǔ)。[2]

本文從以下幾個方面具體討論如何上好數(shù)據(jù)結(jié)構(gòu)第一堂課。

一、教師自我介紹

教師給學生的第一印象很重要。第一堂課教師第一次接觸學生,自我介紹必不可少。自我介紹的內(nèi)容主要包括介紹教師的姓名、學院、辦公地點、移動電話等,可以把微信、QQ或E?鄄mail等其他聯(lián)系方式告訴學生,還可以組建數(shù)據(jù)結(jié)構(gòu)課程學習的QQ群或微信群,學生遇到問題后可以在群里討論,也可以通過電話、E?鄄mail等與教師單獨聯(lián)系。教師愿意做學生的朋友,學生在學習上、生活上、思想上需要教師幫助時,可及時與教師聯(lián)系。教師的積極態(tài)度能夠?qū)W生產(chǎn)生積極的影響,有助于與學生建立良好的師生關(guān)系,促進學生學習的自覺性。

二、課程介紹

(一)課程定位

數(shù)據(jù)結(jié)構(gòu)課程是計算機類專業(yè)的核心必修課程,美國ACM/IEEE CC-2005課程體系將數(shù)據(jù)結(jié)構(gòu)與算法類課程列為核心課程之首。我國教育部計算機教育指導(dǎo)委員會“計算機科學與技術(shù)專業(yè)規(guī)范”2006中明確把數(shù)據(jù)結(jié)構(gòu)與算法列入計算機及信息技術(shù)相關(guān)學科專業(yè)的本科必修基礎(chǔ)課程。

數(shù)據(jù)結(jié)構(gòu)課程是對前導(dǎo)課程(如C語言程序設(shè)計、程序設(shè)計基礎(chǔ)等)的深入和擴展,能為進一步學習其他專業(yè)課程打下基礎(chǔ)。課程中的排序算法及基本的樹、圖等非線性結(jié)構(gòu)是計算機科學的基本功,B+樹、散列(Hash)等高級數(shù)據(jù)結(jié)構(gòu)是后續(xù)如操作系統(tǒng)、數(shù)據(jù)庫、編譯原理、圖形圖像等專業(yè)課程的基礎(chǔ)。

(二)主要內(nèi)容

數(shù)據(jù)結(jié)構(gòu)課程描述的是按照一定邏輯關(guān)系組織起來的待處理數(shù)據(jù)元素的表示及相關(guān)操作,涉及數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的存儲結(jié)構(gòu)和數(shù)據(jù)的運算,內(nèi)容非常豐富。

常見的邏輯關(guān)系包括線性結(jié)構(gòu)、樹形結(jié)構(gòu)、圖結(jié)構(gòu)和文件結(jié)構(gòu)。常見的存儲方法有順序方法、鏈式方法、索引方法和散列方法。建立在數(shù)據(jù)結(jié)構(gòu)之上的有效運算是問題求解的核心,如排序、檢索等。在介紹課程內(nèi)容時,應(yīng)把相應(yīng)章節(jié)的學時分配一并列表展示,并簡明扼要地向?qū)W生介紹課程的重點難點,借助多媒體課件以動畫的形式給學生演示鏈表、棧、隊列以及排序等操作,幫助學生理解,激發(fā)學生的學習興趣。

(三)學習目標

數(shù)據(jù)結(jié)構(gòu)課程的教學目標是讓學生學會分析數(shù)據(jù)對象的特征,掌握數(shù)據(jù)組織方法和計算機的表示方法,初步掌握算法時間、空間分析的技巧,培養(yǎng)學生針對問題的應(yīng)用背景進行分析,選擇合適的數(shù)據(jù)結(jié)構(gòu),從而培養(yǎng)高級程序設(shè)計技能。學生的學習目標明確了,才會不懈努力,朝著目標一直前行。

(四)教材及參考書

教材是供教學用的資料,如課本、講義等。第一堂課應(yīng)明確數(shù)據(jù)結(jié)構(gòu)課程的教材,簡要介紹教材的特點、作者信息等,比如我們采用的是嚴蔚編、清華大學出版社出版的《數(shù)據(jù)結(jié)構(gòu)》。同時給學生們列出一些必要的參考書籍,這對課程學習能起到補充拓展的作用。

三、學習方法指導(dǎo)

在學生了解數(shù)據(jù)結(jié)構(gòu)課程的重要性、所用教材及參考資料后,就要告訴學生如何去做才能學好這門課程。數(shù)據(jù)結(jié)構(gòu)課程要培養(yǎng)學生結(jié)合實際應(yīng)用設(shè)計有效算法和數(shù)據(jù)結(jié)構(gòu)的能力,學習數(shù)據(jù)結(jié)構(gòu)必須經(jīng)過大量的踐,在實踐中體會構(gòu)造性思維方法,掌握數(shù)據(jù)組織與程序設(shè)計的技術(shù)。通過扎實的、大量的基礎(chǔ)訓(xùn)練,學生才能靈活地運用問題抽象、數(shù)據(jù)抽象、算法抽象來分析問題,應(yīng)用數(shù)據(jù)結(jié)構(gòu)和算法來設(shè)計、實現(xiàn)相應(yīng)的程序,完成創(chuàng)新能力和實踐能力的訓(xùn)練。[3]

(一)課前預(yù)習,課后總結(jié),吃透教材

課程內(nèi)容主要包含數(shù)據(jù)結(jié)構(gòu)和算法設(shè)計與分析的基本知識,各種基本數(shù)據(jù)結(jié)構(gòu)的定義、存儲結(jié)構(gòu)、相應(yīng)的算法以及應(yīng)用等。理解掌握基本的數(shù)據(jù)結(jié)構(gòu)與算法的關(guān)系很重要。程序的時間和空間效率,不僅與數(shù)據(jù)的組織方式有關(guān)系,也跟算法設(shè)計的巧妙程度有關(guān)系。在學習中要把握好預(yù)習、聽課、實驗、復(fù)習、總結(jié)五個環(huán)節(jié),吃透教材,把握住算法的本質(zhì)。通過預(yù)習,可以提高學生的主體意識,培養(yǎng)學生的獨立思考能力,進而提高課堂學習效率。課后的總結(jié)則能讓學生自覺地回顧課堂內(nèi)容,深入地學習和領(lǐng)會課程的重點和難點,完成課后作業(yè)或練習題,從而提高數(shù)據(jù)結(jié)構(gòu)課程的教學效果。

(二)多讀代碼,實現(xiàn)算法,理解思路

教育部計算機專業(yè)教育指導(dǎo)委員會“中國計算機本科專業(yè)發(fā)展戰(zhàn)略研究報告”、“計算機科學與技術(shù)專業(yè)規(guī)范”等都明確地強調(diào)了實踐教學和學生動手能力培養(yǎng)的重要性。程序設(shè)計解決問題往往有多種方法,且不同方法之間的效率可能相差甚遠。在學習過程中要讓學生擺脫畏難情緒,不怕有問題,多讀、多寫、多調(diào)試,及時總結(jié)。學生只有通過豐富的練習題和應(yīng)用案例才能增強對理論的感性認識,從而明白這些數(shù)據(jù)結(jié)構(gòu)為什么存在以及在什么情況下可以最好地解決什么樣的問題。

(三)充分利用網(wǎng)絡(luò)資源進行課外拓展

1.圖書館資源

圖書館擁有豐富的文獻資源,是學校的文獻信息資源中心,也是學生的第二課堂。學校圖書館有豐富的藏書,通過網(wǎng)上書目查詢系統(tǒng)可以檢索到與數(shù)據(jù)結(jié)構(gòu)課程有關(guān)的圖書,如《數(shù)據(jù)結(jié)構(gòu)典型題解》、《數(shù)據(jù)結(jié)構(gòu)上機實驗指導(dǎo)》等。圖書館還有各種文獻數(shù)據(jù)庫,如超星數(shù)字圖書館,可以在線閱讀電子圖書;有萬方、中國知網(wǎng)(CNKI)、維普等數(shù)據(jù)庫,可以查閱期刊、會議等學術(shù)論文。在課堂上教師可以演示利用圖書館中的中國知網(wǎng)(CNKI)檢索系統(tǒng)檢索相關(guān)論文,讓學生學會檢索查找文獻資源,這樣可以拓展學習資料,避免課程學習僅限教材的情況。多讀書,可以讓學生擴大視野,打開思路,培養(yǎng)和鍛煉學生自主學習的能力。

2.課程資料及論壇

互聯(lián)網(wǎng)是信息和傳播的重要平臺。網(wǎng)絡(luò)資源包羅萬象且更新及時,使用方便,不受時間的限制,其中涉及數(shù)據(jù)結(jié)構(gòu)的教學資料、技術(shù)論壇等數(shù)不勝數(shù)。課程資源主要有國家精品課程資源網(wǎng)、MOOC學院、中國大學MOOC、學堂在線,以及國外MIT等開設(shè)的數(shù)據(jù)結(jié)構(gòu)相關(guān)課程。而與數(shù)據(jù)結(jié)構(gòu)相關(guān)的論壇則更多,比較突出的如CSDN論壇的數(shù)據(jù)結(jié)構(gòu)與算法版塊、ITeye綜合技術(shù)論壇的數(shù)據(jù)結(jié)構(gòu)版塊等。[4][5]在介紹課程資源及論壇的同時,教師可以簡單介紹百度或必應(yīng)搜索引擎的用法,讓學生掌握利用搜索引擎查找相關(guān)資料的技能。

四、結(jié)語

在高校的課堂里,大學生要接觸不同門類的學科。教師在引導(dǎo)學生學習過程中能起到關(guān)鍵的作用。第一堂課既是師生之間的初次見面,也是大學生對教師及課程的初步了解與把握。良好的開端是課程成功的基礎(chǔ),上好第一堂課,意義重大。對教師而言,上好第一堂課,會使學生對該門課程產(chǎn)生首因效應(yīng),在課程的興趣、理解、運用等方面產(chǎn)生積極影響,可以使教師對學生加深了解認識,有助于教師對教學安排進行合理配置,為今后的課程教學奠定良好的基礎(chǔ)。對學生而言,上好第一堂課可以使學生對課程內(nèi)容有一個全面的認識,提升學生對課程的認同感,提高學生的學習積極性。

[ 參 考 文 獻 ]

[1] 張銘,耿國華,陳衛(wèi)衛(wèi),等.數(shù)據(jù)結(jié)構(gòu)與算法課程教學實施方案[J].中國大學教學,2011(3):56-60.

[2] 張永翊.上好大學里的第一堂課[J].中國成人教育,2008(20):131-132.

[3] 劉合兵,尚俊平.《數(shù)據(jù)結(jié)構(gòu)》課程的教學研究與實踐[J].內(nèi)江科技,2008(12):72,49.

篇4

摘要:我院基于“做中學”的教學理念,以項目為載體,研究“面向?qū)ο蟪绦蛟O(shè)計”和“數(shù)據(jù)結(jié)構(gòu)”課程的有機結(jié)合。本文介紹了我院的改革方案及實施效果。

關(guān)鍵詞:課程融合;做中學;項目驅(qū)動

中圖分類號:G642

文獻標識碼:B

1引言

“面向?qū)ο蟪绦蛟O(shè)計”和“數(shù)據(jù)結(jié)構(gòu)”是信息學科相關(guān)專業(yè)本科生的必修課程,也是專業(yè)基礎(chǔ)課程。“面向?qū)ο蟪绦蛟O(shè)計”課程通過全面、系統(tǒng)地介紹面向?qū)ο蟪绦蛟O(shè)計的基本概念、分析方法、設(shè)計方法、基本語法和編程方法,使學生能深刻理解和領(lǐng)會面向?qū)ο蟪绦蛟O(shè)計的特點和風格,類的封裝性、繼承性和多態(tài)性與程序的安全性、結(jié)構(gòu)性和靈活多樣性之間的關(guān)系,進而掌握面向?qū)ο蟮某绦蛟O(shè)計方法和編程基礎(chǔ),并具備解決一般程序設(shè)計問題的能力;“數(shù)據(jù)結(jié)構(gòu)”課程有助于學生更有效地組織數(shù)據(jù)、設(shè)計高效的算法、完成高質(zhì)量的程序以滿足錯綜復(fù)雜的實際需要,強調(diào)數(shù)據(jù)的組織方式和解決問題的思想。

在實際的教學過程中,學生對這兩門課程的掌握和運用不盡人意。一方面,相當部分學生雖然學過了“面向?qū)ο蟪绦蛟O(shè)計語言”課程,但在“數(shù)據(jù)結(jié)構(gòu)”課程中卻難以利用面向?qū)ο蟮乃枷朐O(shè)計和實現(xiàn)相關(guān)的數(shù)據(jù)結(jié)構(gòu)和算法,影響了學生對數(shù)據(jù)結(jié)構(gòu)課程知識的掌握;另一方面,數(shù)據(jù)結(jié)構(gòu)和算法是計算機科學的核心問題,很多學生在學習的過程中沒有意識到這一點,以至于到了實際項目中不知道運用所學的“數(shù)據(jù)結(jié)構(gòu)”知識來解決實際問題。

2問題分析

“面向?qū)ο蟪绦蛟O(shè)計”和“數(shù)據(jù)結(jié)構(gòu)”課程作為非常重要的專業(yè)基礎(chǔ)課,各高校在課時分配和課程建設(shè)方面都非常重視,出現(xiàn)上述問題的原因主要是課程設(shè)置和教學方式上存在問題。

在現(xiàn)代教學體系中,從抽象數(shù)據(jù)類型和面向?qū)ο笥^點來討論數(shù)據(jù)結(jié)構(gòu)已經(jīng)成為一種主流,使得“面向?qū)ο蟪绦蛟O(shè)計”和“數(shù)據(jù)結(jié)構(gòu)”兩門課程構(gòu)成了強相關(guān)的課程。但在當前的實際教學中,這兩門課程被一直被設(shè)定為相互獨立的課程,課程間的教學出現(xiàn)了相互脫節(jié)現(xiàn)象,而且這種

現(xiàn)象在許多高校的教學中普遍存在。

在實踐環(huán)節(jié)上,由于課程設(shè)置上的相對獨立,也使得兩門課程在實踐教學方面有相當?shù)闹貜?fù),雖然總體的實踐教學學時很多,但各自側(cè)重點在實踐教學中沒有有效地體現(xiàn),使得學生“事倍功半”,收效甚微。課程中實驗項目過于單一和相對獨立,也使得實踐環(huán)節(jié)與實際項目聯(lián)系過于松散,學生運用所學知識解決實際問題的能力和實際工程能力很難得到鍛煉,也難以培養(yǎng)軟件開發(fā)中所必須的團隊合作精神。

3課程改革方案及實施

針對目前“面向?qū)ο蟪绦蛟O(shè)計”和“數(shù)據(jù)結(jié)構(gòu)”這兩門課程教學中存在的問題,我們將這兩門課程進行有機結(jié)合,探索采用教師指導(dǎo)下的以項目為驅(qū)動的“做中學”教學方式進行教學。精心設(shè)計項目,將面向?qū)ο蟮脑O(shè)計思想、程序設(shè)計語言和數(shù)據(jù)結(jié)構(gòu)課程教學內(nèi)容恰當?shù)厝谌氲剿O(shè)計的項目當中,有效整合兩門課程中的重疊部分,突出各自的側(cè)重點。面向?qū)ο蟪绦蛟O(shè)計教學采用“做中學”(Learning By Doing)以及“按需教學”(Teaching On Demand)的方式進行教學,使學生在具體項目過程當中在掌握和熟練運用高級語言的特征的同時,深入理解和鞏固相應(yīng)的數(shù)據(jù)結(jié)構(gòu)知識;教學采用的項目與實際項目接軌,提高學生利用所學知識解決實際問題的能力;在教學過程中以項目組的方式組織學生,培養(yǎng)學生的團隊合作精神,提高學生的職業(yè)素養(yǎng)。

3.1課程項目

為了有效整合這兩門基礎(chǔ)課,我們精心設(shè)計了“Mini數(shù)據(jù)庫”項目,該項目較好地包含了“數(shù)據(jù)結(jié)構(gòu)”中線性表、字符串、二叉樹、索引、查找、排序、文件等章節(jié)的主要內(nèi)容。通過該項目實現(xiàn)了“數(shù)據(jù)結(jié)構(gòu)”和“面向?qū)ο蟪绦蛟O(shè)計”課程內(nèi)容的有機融合。

Mini數(shù)據(jù)庫分為三個模塊:基本數(shù)據(jù)模塊,數(shù)據(jù)庫內(nèi)核模塊,數(shù)據(jù)庫管理界面模塊。其中,數(shù)據(jù)庫管理界面模塊呈現(xiàn)數(shù)據(jù)庫管理的總界面風格及形式,在項目具體實施過程當中,這一塊不作太多要求以免轉(zhuǎn)移項目重點,學生可以只完成控制臺形式界面。

基本數(shù)據(jù)庫模塊定義基本數(shù)據(jù)結(jié)構(gòu),采用哈希表和二叉樹結(jié)構(gòu),負責讀出業(yè)務(wù)數(shù)據(jù)的存儲,包括對最基本數(shù)據(jù)的查詢,刪除,修改和添加等操作。其結(jié)構(gòu)如圖1所示。其中Index類創(chuàng)建索引,Matrix類以順序表形式存放所有數(shù)據(jù),并且該類的設(shè)計融入了可利用空間表、模擬指針等思想,對學生在數(shù)據(jù)結(jié)構(gòu)設(shè)計方面有較大的啟發(fā)作用。

數(shù)據(jù)庫內(nèi)核模塊(如圖2所示)主要負責對文件中數(shù)據(jù)進行讀寫操作,實現(xiàn)定義表及表的屬性,設(shè)置主鍵和外鍵,定義表之間的關(guān)聯(lián)以及實現(xiàn)表的更改等功能。

Mini數(shù)據(jù)庫項目所涉及到的數(shù)據(jù)結(jié)構(gòu)基本上基于本科教材中介紹的常用數(shù)據(jù)結(jié)構(gòu),部分數(shù)據(jù)結(jié)構(gòu)在課本的基礎(chǔ)上稍做修改便可用于該項目,部分需要對教材所介紹的相應(yīng)數(shù)據(jù)結(jié)構(gòu)進行重新設(shè)計以適于項目。每一個數(shù)據(jù)結(jié)構(gòu)都有其相關(guān)的代價和效益權(quán)衡,要完成項目,學生需要對多種數(shù)據(jù)結(jié)構(gòu)的有效性進行評估來決定在什么情況下需要采取哪種數(shù)據(jù)結(jié)構(gòu)。通過該項目我們希望達到三個目的:

(1) 使學生熟悉一些常用的數(shù)據(jù)結(jié)構(gòu),這些常用的數(shù)據(jù)結(jié)構(gòu)形成了一個程序員的基本數(shù)據(jù)結(jié)構(gòu)工具箱,對于實際中的很多問題,工具箱里的數(shù)據(jù)結(jié)構(gòu)便是理想的選擇;

(2) 引入“權(quán)衡(tradeoff)“的概念,在項目中通過分析不同數(shù)據(jù)結(jié)構(gòu)的代價和效益來討論“權(quán)衡”的概念;

(3) 評估數(shù)據(jù)結(jié)構(gòu)或算法的有效性,在項目過程中引導(dǎo)學生分析工具箱中哪一種數(shù)據(jù)結(jié)構(gòu)最適合解決項目中的某一問題,這種技術(shù)也使得程序員能夠判斷自己或別人發(fā)明的新數(shù)據(jù)結(jié)構(gòu)的價值。

3.2教學方式及實踐

Mini數(shù)據(jù)庫系統(tǒng)在難度和復(fù)雜度上較傳統(tǒng)實驗高,如何引導(dǎo)學生在學習“數(shù)據(jù)結(jié)構(gòu)”課程的同時完成該項目是一個值得研究的問題。我們的做法是:首先在教師指導(dǎo)下讓學生全面了解所要完成項目的整體結(jié)構(gòu),在學習“數(shù)據(jù)結(jié)構(gòu)”課程的過程中結(jié)合所學知識逐步完成系統(tǒng)的各個模塊,最終完成整個項目。

我們采用集課堂理論教學、開放實驗、每周討論、網(wǎng)上答疑等多環(huán)節(jié)組成的立體化教學方式進行教學。

在課堂理論教學部分,根據(jù)所設(shè)計的項目我們對教學內(nèi)容進行適當調(diào)整,強調(diào)所學內(nèi)容在項目中的應(yīng)用。完成相關(guān)理論知識的講授后,指導(dǎo)學生如何運用所學知識解決課程項目中的問題,并且理論教學中部分內(nèi)容采取“做中教”方式進行,教師在現(xiàn)場編寫程序完成教學任務(wù),幫助學生克服“編程難”的心理陰影,培養(yǎng)學生分析問題和解決問題的能力以及養(yǎng)成良好的編程風格,該方法深受學生歡迎。

實驗上機部分,學生以項目組的形式進行組織,3~4名同學為一組,共同完成課程項目,培養(yǎng)他們的團隊合作能力。為了防止項目組中個別動手能力弱的學生不參與或少參與課程項目的設(shè)計與實現(xiàn)工作,在課程項目進行的同時,我們布置了相應(yīng)的課程實驗,課程實驗與教學內(nèi)容直接相關(guān),并且對課程的項目有直接幫助作用,每一個學生都要單獨完成課程實驗內(nèi)容。為了給學生提供良好的實驗環(huán)境,我們采取開放實驗形式,為學生提供了專門實驗室。指導(dǎo)教師以office hour的形式解答學生問題,并且每個班配備了一名指導(dǎo)教師和一名助教。

為了克服簡單的“說教”型教學,每一周由指導(dǎo)教師或助教召集開展“每周討論”活動,學生以自愿方式參與“每周討論”。“每周討論”以學生為主體,由學生講解他們所設(shè)計的代碼以及所遇到的問題,特別鼓勵學生將上一周在課程項目或課程實驗中所遇到的問題提出來,由參與學生一起討論問題的解決辦法。為了鼓勵學生積極參與 “每周討論”活動,我們對積極參與討論和提出問題的學生在平時成績上予以體現(xiàn),下一步我們將考慮對由學生評選“每周討論”活動積極分子,并給與獎勵。

課程網(wǎng)站是課程教學的有機組成部分,我們逐步建立了相對完善的課程網(wǎng)站。課程網(wǎng)站在為學生提供課程資源、課程項目和實驗任務(wù)的同時,為學生提供了網(wǎng)絡(luò)交流平臺。在“學習交流”板塊中,學生可以提出學習中遇到的問題,回答其他學生的提問。為了及時解決學生的提問,我們安排了教師和助教進行網(wǎng)絡(luò)值班。為鼓勵學生積極提問和回答其他學生問題,網(wǎng)上“學習交流”模塊中設(shè)計了加分功能,學生所得分數(shù)將作為平時成績的重要組成部分。

采用上述方式,我們在湖南大學軟件學院2004級和2005級本科生中進行了試點,每次挑選了30多位學生參加。第一次挑選的學生在全年級中屬于較為優(yōu)秀的學生,完成情況非常好,其中兩位同學進入微軟亞洲工程院實習,并將他們在本課程中完成的項目作為一個亮點向?qū)嵙晢挝唤榻B;第二次參加的學生的整體素質(zhì)處于全年級中等水平,也順利完成了整個項目。在前兩屆學生成功試點的情況下,目前我們對2006級本科生全面采用上述教學方式進行“數(shù)據(jù)結(jié)構(gòu)”和“面向?qū)ο蟪绦蛟O(shè)計”兩門課程的教學,通過近一個學期的教學,從教學的效果來看,學生的動手能力整體上較上幾屆學生有明顯改觀,并且學生的學習積極性也大大提高,90%以上的學生項目組能夠按照教學進度完成項目內(nèi)容。

參考文獻:

[1] 溫莉芳,劉江. 美國名校計算機科學專業(yè)本科教學體系現(xiàn)狀分析[J]. 計算機教育,2004,(8):40-43.

篇5

關(guān)鍵詞:實踐課程;能力結(jié)構(gòu);研究性學習;創(chuàng)新實踐能力;模塊化教學

中圖分類號:G642.0 文獻標志碼:A 文章編號:1674-9324(2014)49-0135-03

“十五”期間,國家教育部計算機科學與技術(shù)專業(yè)教學指導(dǎo)委員會發(fā)表了《高等學校計算機本科專業(yè)發(fā)展戰(zhàn)略研究報告暨專業(yè)規(guī)范(試行)》?!兑?guī)范》中提出了“專業(yè)方向分類”發(fā)展的基本思想和三個輔助建議,輔助建議其中之一是“加強學生實踐和動手能力的培養(yǎng)”。

數(shù)據(jù)結(jié)構(gòu)課程是計算機科學與技術(shù)專業(yè)的一門專業(yè)基礎(chǔ)課。該課程的任務(wù)是學會從解決問題入手,為所加工的數(shù)據(jù)選取適宜的邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)及其算法。初步掌握算法的時間與空間復(fù)雜性的分析方法,同時進行復(fù)雜程序設(shè)計的訓(xùn)練,使編寫的程序代碼結(jié)構(gòu)清晰、易讀理解,符合軟件工程的規(guī)范。教學計劃是一個整體,實踐教學體系是整體教學計劃的一部分。數(shù)據(jù)結(jié)構(gòu)實踐課程是數(shù)據(jù)結(jié)構(gòu)課程的重要組成部分。本文從支持研究性學習及創(chuàng)新實踐能力的數(shù)據(jù)結(jié)構(gòu)實踐課程教學體系的構(gòu)建、以提高創(chuàng)新實踐能力為重點的數(shù)據(jù)結(jié)構(gòu)實踐平臺的完善以及以能力結(jié)構(gòu)教學目標為依據(jù)的知識單元模塊化教學的具體實施等三個方面進行實踐課程的教改探索。

一、以能力結(jié)構(gòu)培養(yǎng)目標為驅(qū)動,構(gòu)建數(shù)據(jù)結(jié)構(gòu)實踐課程教學體系

知識結(jié)構(gòu)、能力結(jié)構(gòu)和綜合素質(zhì)是人才培養(yǎng)與人才評價的三個主要因素。其中,能力結(jié)構(gòu)是第一位的,知識結(jié)構(gòu)與綜合素質(zhì)都是為能力結(jié)構(gòu)做支撐服務(wù)的。要強化學生的能力結(jié)構(gòu),就必須形成較完備的實踐教學體系,將實踐課程教學體系作為一個系統(tǒng)來構(gòu)建。理論課程體系的設(shè)計主要體現(xiàn)專業(yè)結(jié)構(gòu)、知識結(jié)構(gòu)的培養(yǎng)目標要求,從而確定理論課程的知識領(lǐng)域、核心知識單元和知識點。而實踐課程體系的設(shè)計應(yīng)主要體現(xiàn)能力結(jié)構(gòu)的培養(yǎng)目標要求,從而確定實踐課程體系的各個單元目標和具體指標。數(shù)據(jù)結(jié)構(gòu)課程的能力結(jié)構(gòu)目標主要包括:學會從解決問題入手,識別典型的數(shù)據(jù)結(jié)構(gòu)的邏輯結(jié)構(gòu)特性的能力;能夠為所加工的數(shù)據(jù)選取適宜的存儲結(jié)構(gòu)的能力;設(shè)計及實現(xiàn)問題求解主算法和主函數(shù)的能力;基本掌握算法的時間與空間復(fù)雜性的分析能力;基于高級編程語言,編寫復(fù)雜軟件的程序代碼的基本能力等。數(shù)據(jù)結(jié)構(gòu)實踐課程的教學體系由六個部分構(gòu)成:課程實習、課程實驗、課程設(shè)計、課程社會實踐、實踐教學評測和實踐教學文檔及資源。

1.課程實習是指對課程實驗和課程設(shè)計的基本技能和綜合技能的研究性學習和實踐技能的訓(xùn)練。課程實習的基本技能包括:高級程序設(shè)計語言編輯器及語言的使用;程序的模塊化劃分的技能;常用人機交互界面的簡單設(shè)計等。綜合技能包括:應(yīng)用抽象數(shù)據(jù)類型的設(shè)計思想,在實現(xiàn)數(shù)據(jù)結(jié)構(gòu)基本操作的基礎(chǔ)上,確定功能模塊間必要的聯(lián)系,設(shè)計、調(diào)試主算法和主函數(shù),系統(tǒng)的可視化界面的初步設(shè)計,對所完成的算法進行時間和空間的性能評價,從而完成數(shù)據(jù)結(jié)構(gòu)的基本應(yīng)用。

2.課程實驗是指配合課堂理論教學、以增強學生能力結(jié)構(gòu)為目標的專業(yè)技能訓(xùn)練。實驗課題的基本內(nèi)容包括:線性表類應(yīng)用實驗、棧和隊列類應(yīng)用實驗、樹和圖類應(yīng)用實驗、查找和排序類應(yīng)用實驗以及自主研究性應(yīng)用實驗等。通過課程實驗,使學生加深對課程內(nèi)容的理解,培養(yǎng)將原理應(yīng)用于實際的能力。

3.課程設(shè)計是指對理論課程的核心知識點以及能力結(jié)構(gòu)的綜合技能的專業(yè)訓(xùn)練。課程設(shè)計的課題包括:綜合訓(xùn)練性題目和研究學習性及創(chuàng)新設(shè)計性題目兩大類。例如,立體化停車場管理、電梯運行模擬、二進制堆及其應(yīng)用、線段樹及其應(yīng)用等。課程設(shè)計的目的是全面落實課程教學大綱,激發(fā)學生自主研究性學習及完成創(chuàng)新性實驗的積極性,提升學生軟件設(shè)計的綜合實踐技能。

4.課程社會實踐。課程社會實踐是指對課程實驗及課程設(shè)計的課題所進行的社會調(diào)研與實踐。課程實驗的調(diào)研主要是對設(shè)計性和研究性課題做調(diào)研,課程設(shè)計則主要是對應(yīng)用性和創(chuàng)新性課題做調(diào)研,為提高創(chuàng)新實踐能力打基礎(chǔ)。

5.實踐教學評測。實踐教學評測是指對實踐課程教學效果的評價和對學生實踐課程成績的評定。實踐教學評測的目的是依據(jù)課程的能力結(jié)構(gòu)培養(yǎng)目標,科學合理的評定學生的實踐課程成績,使課程教學效果得到及時反饋,以促進實踐課程教學的不斷改進。

6.實踐教學文檔及資源。實踐教學文檔及資源是指為了保證實踐課程教學體系的各個環(huán)節(jié)有機結(jié)合、正常運轉(zhuǎn)的課程教學文件和參考資料。實踐教學文檔及資源包括:課程實習、課程實驗、課程設(shè)計、課程社會實踐的教學大綱和實施方案,實踐課程教學考核與評價的實施方案,以及實踐課程教材與多媒體實踐課件等。

數(shù)據(jù)結(jié)構(gòu)實踐課程的教學體系要從自身的特點出發(fā),對課程實習、課程實驗、課程設(shè)計、課程社會實踐、實踐教學評測等諸多教學環(huán)節(jié)進行整體、系統(tǒng)的優(yōu)化組合。以能力結(jié)構(gòu)培養(yǎng)目標為驅(qū)動,并將支持學生的研究性學習及創(chuàng)新實踐能力機制納入到體系中。

二、以提高創(chuàng)新實踐能力為重點,完善實踐課程教學平臺

大學生的實踐能力包括基礎(chǔ)性實踐能力、綜合性實踐能力和創(chuàng)新性實踐能力。如何在數(shù)據(jù)結(jié)構(gòu)實踐課程教學體系中,通過日常的教學活動和過程管理,形成以提高創(chuàng)新實踐能力為重點的教學機制,是實踐課程教學體系建設(shè)的中心任務(wù)。研究性學習是指在教師指導(dǎo)下,根據(jù)所選擇的課題,主動地獲取和應(yīng)用知識、解決問題的教學活動。創(chuàng)新的基礎(chǔ)在于研究性學習,研究性學習的核心活動是實踐和創(chuàng)新,創(chuàng)新能力的培養(yǎng)在于實踐。課程實驗和課程設(shè)計的研究性學習是以研究和設(shè)計為中心的實踐性教學活動。在構(gòu)建實踐課程教學體系的基礎(chǔ)上,通過設(shè)計課題項目、組建課題項目團隊、開展項目教學法、注重項目過程管理、鼓勵研究性學習和實踐創(chuàng)新能力、實施創(chuàng)新評測機制等,逐步完善以提高創(chuàng)新實踐能力為重點的實踐課程創(chuàng)新實踐平臺。圖1是基于數(shù)據(jù)結(jié)構(gòu)實踐課程教學體系,以提高創(chuàng)新實踐能力為重點的實踐課程創(chuàng)新實踐平臺的總體框架設(shè)計。其中,課程實習、課程實驗、課程設(shè)計是創(chuàng)新實踐平臺的核心內(nèi)容。

1.開展項目教學法,注重項目過程管理。項目教學法是通過實施一個完整的項目而進行的教學工作。在數(shù)據(jù)結(jié)構(gòu)實踐課程教學中,將項目教學法應(yīng)用到課程實習、課程實驗、課程設(shè)計等各個教學活動中,培養(yǎng)學生良好的科研素質(zhì)。通過課題的立項與開題、組建課題小組、方案分析、方案設(shè)計、方案實現(xiàn)和項目驗收的工作流程對學生進行科技創(chuàng)新活動的工程實踐訓(xùn)練。抓好課題項目的過程管理是十分重要的工作任務(wù)。其中,抓好課題組長的業(yè)務(wù)培訓(xùn)、課題組項目的認定、課題的階段驗收是項目過程管理的重點。

2.重視課題項目設(shè)計,促進拔尖創(chuàng)新人才發(fā)展。依據(jù)培養(yǎng)目標的能力結(jié)構(gòu)和教學規(guī)律,科學、合理的設(shè)計課題項目,是開展項目教學法和項目過程管理的第一要素,也是教師發(fā)揮教學活動中的主導(dǎo)地位的首要任務(wù)和關(guān)鍵環(huán)節(jié)。課程實驗的課題類型有驗證性實驗、應(yīng)用性實驗和創(chuàng)新設(shè)計性實驗。驗證性實驗屬于學生自主研究性學習的課下實驗;設(shè)計應(yīng)用性試驗和自主創(chuàng)新性實驗是課上實驗,還要完成相應(yīng)的實驗課題報告。課程設(shè)計的課題類型有綜合訓(xùn)練型和研究創(chuàng)新型。遵從教育規(guī)律和認知規(guī)律,將課程設(shè)計的課題項目分級分類設(shè)計,以促進學生的階梯式發(fā)展。

3.組建課題小組,形成研究性學習氛圍。根據(jù)多元智能理論,每個人都擁有不同程度的八種智能,由于智能組合形式以及每種智能的表現(xiàn)形式不同,每個人的智能是獨一無二的,這也體現(xiàn)了個體的差異性。以學生自愿為原則,組建課題小組。課題小組的人員構(gòu)成要考慮學生的氣質(zhì)和性格差異,達到智能互補和優(yōu)勢互補,促進學生的個性發(fā)揮和全面發(fā)展。通過組建項目團隊,競爭項目負責人,在課題組長的帶領(lǐng)下,開展課題項目研究,協(xié)同合作、相互交流,體現(xiàn)團隊精神,營造研究性學習氛圍,還可以使拔尖創(chuàng)新人才脫穎而出。

4.建立創(chuàng)新評測機制,激勵創(chuàng)新人才。建立一套完善的實踐教學的評測機制是十分重要的,實踐課程教學評測的指標中,應(yīng)有創(chuàng)新人才的激勵機制。只有將學生的課程實習、課程實驗、課程設(shè)計、課程社會實踐等實踐教學環(huán)節(jié)都納入到評測機制中,才能對學生進行綜合全面的考核和評價。

對于學生實踐環(huán)節(jié)的成績認定,要依據(jù)能力結(jié)構(gòu)指標考核并單設(shè)成績計入學分,不合格的同樣需要補考或重修。以課題組為單位,組員和組長間都可以互評,作為考評依據(jù)。

三、以能力結(jié)構(gòu)目標分解為依據(jù),實施技能知識單元模塊化教學

計算機科學與技術(shù)專業(yè)學生的能力要求可以歸納為計算機思維能力、算法設(shè)計與分析能力、程序設(shè)計與實現(xiàn)能力和系統(tǒng)能力。數(shù)據(jù)結(jié)構(gòu)實踐課程的能力結(jié)構(gòu)要求在上述能力結(jié)構(gòu)中都有相應(yīng)的體現(xiàn)??梢园茨芰Y(jié)構(gòu)培養(yǎng)目標的要求,將目標分解,采用分階段的技能知識單元模塊化教學。

1.能力結(jié)構(gòu)教學目標分解。采用質(zhì)量目標管理方法,將實踐課程能力結(jié)構(gòu)的教學目標以計算思維能力為基礎(chǔ),通過層次分解,將數(shù)據(jù)結(jié)構(gòu)課程教學目標分解為理論知識單元和技能知識單元,再分解為若干知識模塊,每個知識模塊又蘊含若干知識點。例如,可以將數(shù)據(jù)結(jié)構(gòu)課程中線性表的基本技能知識目標分解為靜態(tài)順序表、動態(tài)順序表、單鏈表、雙鏈表、循環(huán)鏈表等具體的存儲結(jié)構(gòu)、基本操作和簡單應(yīng)用等實踐教學目標。通過對實踐教學目標的分解,使得師生都清楚具體的質(zhì)量目標定位,掌握學習進度,激發(fā)教師的主動性、學生的自主性及研究性學習熱情,將充分的精力投入到提升創(chuàng)新實踐能力的活動中。

2.技能知識單元模塊化教學。依據(jù)分解的數(shù)據(jù)結(jié)構(gòu)實踐課程的能力結(jié)構(gòu)教學目標,打破傳統(tǒng)的以理論知識為中心的學科式課程內(nèi)容體系,取消章節(jié)限制,把密切相關(guān)的理論和實際操作技能有機地結(jié)合起來,組成知識領(lǐng)域,建立若干知識模塊,每個知識模塊又可由若干子模塊構(gòu)成。每個子模塊又由若干個知識單元或課題組成,從而使實踐課程的教學形成一個“積木組合式”的模塊化教學模式。例如,數(shù)據(jù)結(jié)構(gòu)實驗課程的基本技能模塊包括:線性表子模塊、棧和隊列子模塊、樹和圖子模塊、查找和排序子模塊及自主研究性應(yīng)用子模塊等。線性表子模塊又包括順序表子模塊和鏈表子模塊。子模塊的內(nèi)容又根據(jù)目標分解的技能指標構(gòu)成。技能知識單元模塊化教學是以技能訓(xùn)練為核心的一種教學模式。通過技能模塊化教學方法的實施,可以強化學生的技能訓(xùn)練,促進學生動手能力的提高。

3.打造實踐課程教學團隊。建設(shè)一支由課程主講教師、實驗指導(dǎo)老師、實驗基地組成的實踐課程教學團隊,針對實踐課程教學的各個環(huán)節(jié),從課程實習與實驗指導(dǎo)、實踐環(huán)境維護管理、課程設(shè)計與課程社會實踐、研究性學習與創(chuàng)新實踐能力等方面全力指導(dǎo),由團隊負責課題項目的設(shè)計、組織和實施,統(tǒng)一于教學目標,服務(wù)于教學質(zhì)量。

4.搞好實踐課程教學評測與教學資源建設(shè)。構(gòu)建實踐課程教學體系及完善實踐課程教學平臺,這是培養(yǎng)創(chuàng)新人才的硬件要素;搞好實踐課程教學評測與教學資源建設(shè),則是培養(yǎng)創(chuàng)新人才的軟件要素,二者缺一不可。對數(shù)據(jù)結(jié)構(gòu)實踐課程引入技能單元模塊化教學后,每個模塊是一個相對獨立的能力實體,每個模塊結(jié)束后,都可以進行考核,及時檢驗?zāi)K化教學的學習效果。課程實驗成績的評定可以采用百分制,由平時實驗課成績、實驗報告成績、實驗程序驗收成績組成,按一定的比例折算到實踐課程的總成績。

四、結(jié)語

實踐課程教學改革在計算機科學與技術(shù)專業(yè)2010級的學生中試行,在2011~2012級的兩個年級中實施,實際受益人數(shù)達600余人。經(jīng)過兩個年度的實踐課程教改探索,確定了數(shù)據(jù)結(jié)構(gòu)實踐課程的總體改革方案以及實施方案,精心準備并完善了課程實驗和課程設(shè)計實踐課題,組建了課題小組,培訓(xùn)學生課題組骨干,完成了相關(guān)的教學文檔建設(shè)和課程資源建設(shè)。綜上所述,通過對數(shù)據(jù)結(jié)構(gòu)實踐課程體系的分析和研究,論述了以能力結(jié)構(gòu)培養(yǎng)目標為驅(qū)動出發(fā),構(gòu)建研究性學習與創(chuàng)新實踐能力的實踐課程教學體系,以提高創(chuàng)新實踐能力為重點,完善實踐課程教學平臺,以能力結(jié)構(gòu)教學目標分解為依據(jù),實施知識單元模塊化教學的措施,從而實現(xiàn)數(shù)據(jù)結(jié)構(gòu)實踐課程的具體教學目標,推進計算機專業(yè)的整體化教學改革。

參考文獻:

[1]教育部高等學校計算機科學與技術(shù)專業(yè)教學指導(dǎo)委員會.高等學校計算機科學與技術(shù)專業(yè)發(fā)展戰(zhàn)略研究報告暨專業(yè)規(guī)范(試行)[M].北京:高等教育出版社,2006.

篇6

關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu);精品課程;課程建設(shè);課程教學

精品課程建設(shè)是教育部“高等學校教學質(zhì)量與教學改革工程”的重要組成部分,是貫徹落實《教育部關(guān)于加強高等學校本科教學工作提高教學質(zhì)量的若干意見》精神,進一步更新教育觀念,提高教學質(zhì)量和人才培養(yǎng)質(zhì)量的關(guān)鍵[1]。精品課程建設(shè)是教育新理念的體現(xiàn),是新時代教學手段的具體運用,是各種教學資源的開發(fā)與整合,是學生自主學習、探究學習的窗口,是實施素質(zhì)教育的新途徑[2]。精品課程的建設(shè)有利于優(yōu)質(zhì)教育資源的傳播和利用,也是我國教育事業(yè)的一次大的改革[3]。如何正確理解精品課程內(nèi)涵、探索實現(xiàn)精品課程的科學途徑,對確保這一質(zhì)量工程的順利進行具有重要意義[1]。

數(shù)據(jù)結(jié)構(gòu)是計算機專業(yè)的核心基礎(chǔ)理論課,在整個專業(yè)知識體系中占據(jù)非常重要的地位[4]。通過學習數(shù)據(jù)結(jié)構(gòu)課程,不僅要為后續(xù)課程打好基礎(chǔ),而且要進一步提高學生的數(shù)據(jù)抽象能力和程序設(shè)計能力。數(shù)據(jù)結(jié)構(gòu)課程概念多、方法多、邏輯性強、實踐性強,這些特點決定了教與學的難度大,其教學水平和效果又將直接影響后續(xù)課程的學習以及學生程序設(shè)計實踐能力的提高[5]。但是許多學生對于數(shù)據(jù)結(jié)構(gòu)的概念、知識理解不夠,思考分析能力還處于一個較低的水平,所以不少學生反應(yīng)數(shù)據(jù)結(jié)構(gòu)是比較難學的一門課[6]。這些年來,我校各級領(lǐng)導(dǎo)對數(shù)據(jù)結(jié)構(gòu)課程非常重視,加大力度進行組織建設(shè),特別是在教學內(nèi)容組織、師資隊伍建設(shè)、教學模式改革、實踐環(huán)節(jié)加強以及共享資源的開發(fā)等方面,具體論述如下。

1教學內(nèi)容的組織

數(shù)據(jù)結(jié)構(gòu)作為計算機專業(yè)的核心基礎(chǔ)課,主要思想是問題求解的理論與方法、抽象和設(shè)計的理論與方法等[4]。于是我們將課程內(nèi)容分為概念表述、構(gòu)建數(shù)據(jù)模型、算法設(shè)計與實現(xiàn)3個層面,突出數(shù)據(jù)組織方法與算法的實現(xiàn)技術(shù),以適應(yīng)不同層次的教學需求。采用面向?qū)ο蟮乃枷敕椒ń榻B數(shù)據(jù)結(jié)構(gòu)的相關(guān)理論與方法,貫穿程序設(shè)計的思想觀點,引入抽象數(shù)據(jù)類型的概念及其基本性質(zhì),重點培養(yǎng)學生的數(shù)據(jù)抽象能力,突出構(gòu)造性思維訓(xùn)練,強化程序抽象能力和數(shù)據(jù)抽象能力的培養(yǎng)。

在教學過程中,我們圍繞抽象數(shù)據(jù)類型,采用面向?qū)ο蟮乃枷胗^點,從基本概念、基本結(jié)構(gòu)、基本方法來講解教學內(nèi)容,并貫穿了計算機專業(yè)的一些問題求解方法。使用熟悉的C語言作為算法描述語言,便于學生把注意力集中在算法的理解上。通過給出用C語言實現(xiàn)抽象數(shù)據(jù)類型的方法,使數(shù)據(jù)結(jié)構(gòu)的表示容易理解。采用定義、存儲以及典型算法實現(xiàn)來展開教學內(nèi)容,并引導(dǎo)學生提高實際的應(yīng)用能力。

我們在組織教學內(nèi)容的時候注意知識點的前后呼應(yīng),而不是以簡單的流線形式呈現(xiàn)[7]。通過實踐證明,這樣可以幫助學生在學習新知識的同時復(fù)習以前的知識。例如有關(guān)排序知識,在程序設(shè)計課中已經(jīng)學習了冒泡排序、選擇排序,在數(shù)據(jù)結(jié)構(gòu)課中又學習直接插入排序、希爾排序、歸并排序、快速排序、堆排序等;這些排序算法可以應(yīng)用于現(xiàn)實生活的很多地方,學生成績的排序、大學食堂買飯菜的排隊等;同學們在學習新的排序算法的同時可以復(fù)習以前的排序算法;還可以在自己熟悉的應(yīng)用問題中實現(xiàn)各種排序算法,并對它們分析比較,收到很好的教學效果。

2師資隊伍的建設(shè)

教學質(zhì)量的優(yōu)劣取決于課程負責人、主講教師的教學水平和整體的能力[8]。課程建設(shè)需要有一支結(jié)構(gòu)合理、綜合能力強的教學師資隊伍;建設(shè)學術(shù)水平高、教學水平高的師資隊伍是保證課程教學質(zhì)量的關(guān)鍵。因此精品課程的建設(shè)過程也是篩選和培養(yǎng)一流教學師資隊伍的過程。通過精品課程的建設(shè),我們組建了一支由8名教師組成的結(jié)構(gòu)合理、綜合能力強的教學師資隊伍,其中高級職稱3人,中級職稱4人,初級職稱1人。教學隊伍中所有老師具有碩士或博士學位;年齡呈現(xiàn)梯隊結(jié)構(gòu),其中30歲以下的2人,40歲以上的2人。

本課程的教學師資隊伍中不但有主持過多項科研、教研項目的教授,也有教學經(jīng)驗豐富的主講教師,并配有動手能力強的專職實驗教師。在課程建設(shè)過程中注重對青年教師的培養(yǎng),通過“傳、幫、帶”的辦法,使青年教師走上主講教師的崗位,逐步挑起教學重擔;鼓勵中青年教師參加相關(guān)領(lǐng)域的師資培訓(xùn)學習、參加科研和教研活動等,逐步提高他們的綜合能力。

3教學模式的改革

我們主要選擇并推廣精選案例(Selected Cases)、扼要講解(Briefly Explain)、任務(wù)驅(qū)動(Task-Driven)的教學模式,簡稱SBT教學模式[9]。

第一步,任課教師在深入鉆研數(shù)據(jù)結(jié)構(gòu)教材的基礎(chǔ)上,根據(jù)課程的教學目的精心選擇教學案例。所選案例既能反映教學內(nèi)容要表達的思想,又能讓學生容易理解。因此要求教師明確數(shù)據(jù)結(jié)構(gòu)課程的教學目的:學生通過本課程的學習掌握如何根據(jù)問題的需求合理地組織數(shù)據(jù),在計算機中有效地存儲數(shù)據(jù)和處理數(shù)據(jù)[10];通過該課程的實踐環(huán)節(jié),對學生進行程序設(shè)計的訓(xùn)練,鞏固加深對數(shù)據(jù)結(jié)構(gòu)的理解,提高綜合運用本課程所學知識的能力,培養(yǎng)學生獨立思考、分析問題和解決問題的能力[11]。

第二步,任課教師對教學內(nèi)容進行概括,結(jié)合教學案例進行簡單扼要地分析講解,使學生理解有關(guān)概念、掌握有關(guān)操作。在教學過程中注意啟發(fā)學生思考問題、分析問題,引導(dǎo)學生解決問題,提高學生的實際動手能力。

第三步,任課教師給學生布置具體課外任務(wù),通過學生獨立完成具體的課外任務(wù)來實施教學。其中課外任務(wù)的提出可以結(jié)合學生的特點和興趣,使學生按自己的需求去學習,從而培養(yǎng)出獨立思考、勇于創(chuàng)新的自學能力[12]。

例如在講解哈夫曼編碼的內(nèi)容時,我們一般先講一個簡單易懂的實例。學生很快就能理解哈夫曼樹的構(gòu)造過程以及具體的哈夫曼編碼形成過程。然后引導(dǎo)學生理解哈夫曼樹的存儲和哈夫曼編碼的存儲。在學生掌握了這些存儲結(jié)構(gòu)之后,再結(jié)合實例講解哈夫曼樹的構(gòu)造算法、哈夫曼編碼的求解算法。最后布置課后作業(yè)完成一個求解哈夫曼編碼的實例程序,大多數(shù)學生能夠按時完成任務(wù),教學效果良好。

4加強實踐環(huán)節(jié)

數(shù)據(jù)結(jié)構(gòu)實驗應(yīng)能達到如下基本目標:培養(yǎng)學生應(yīng)用數(shù)據(jù)結(jié)構(gòu)基本知識來分析問題、解決問題的綜合能力;幫助學生建立計算機問題求解的意識,主要是通過認識數(shù)據(jù)結(jié)構(gòu)在問題求解中的地位來完成這種認識的建立;訓(xùn)練學生用系統(tǒng)的、規(guī)范的觀點來進行計算機問題的分析、設(shè)計、編碼等[13]。

首先,改善實驗條件。在各級領(lǐng)導(dǎo)的大力支持下,我們更新了計算機專業(yè)實驗機房;實驗所需軟件都能在新學期開學之前完成安裝調(diào)試;每個實驗室配備一名維護人員,負責實驗室的運行與維護;設(shè)備完好率99%以上,實驗開出率100%。除了規(guī)定的上機實驗以外,提倡學生自己課余時間上機練習。為此,學院設(shè)有兩個開放實驗室,配備專門的實驗指導(dǎo)老師對學生免費開放。機房內(nèi)計算機專業(yè)學生身影不斷,有的在復(fù)習教師的課堂教學內(nèi)容,有的在閱讀網(wǎng)上的參考資料,有的在下載教師布置的作業(yè),有效促進了良好學風的形成。

其次,加強實驗管理。在開學之初,主講教師與各班學習委員確認課內(nèi)上機時間,并通知到每一個學生,實驗指導(dǎo)書、教材、習題集同時發(fā)到每個學生。每個學生必須完成教學大綱規(guī)定的8個實驗項目,實驗成績占30%;所有實驗實現(xiàn)1人1組;實驗前安排1次答疑;學生上機前必須完成預(yù)習,寫出完整的源程序,準備好上機步驟和調(diào)試數(shù)據(jù)。在實驗過程中遇到學生提問時,老師給學生一些提示信息,盡量讓學生自己將程序調(diào)試通過;實驗后要交實驗報告;教師批改后評定成績,不合格的學生必須重做。

第三,注重課程設(shè)計。課程設(shè)計是對所學知識的鞏固提高,是培養(yǎng)科研能力的重要環(huán)節(jié)。引導(dǎo)學生搞好課程設(shè)計的關(guān)鍵是選好題目與做好課程設(shè)計的準備工作。而課程設(shè)計題目的選擇要和所學知識緊密聯(lián)系,又與學生的創(chuàng)新能力培養(yǎng)密切相關(guān)。通過課程設(shè)計積極引導(dǎo)學生參加課外科技活動、校級省級程序設(shè)計大賽、大學生創(chuàng)新項目的探索等,以提高學生程序設(shè)計能力。

5共享資源的開發(fā)

建設(shè)精品課程的目的是通過為學生提供優(yōu)質(zhì)的教學資源來提高教育質(zhì)量。我們在課程建設(shè)中使用網(wǎng)絡(luò)技術(shù)手段,建設(shè)了精品課程網(wǎng)站。精品課程網(wǎng)站由以下幾個部分主成:課程介紹、課程負責人、課程特

色、申報材料、教學大綱、課件與教案、教學錄像、教學論壇等。其中課件與教案就是教師上課使用的課件和教案,方便學生在不同時間、不同地點進行下載,然后根據(jù)自己的需要進行自主化的學習。任課教師還把自己的實驗程序、常見問題分析、習題解答等內(nèi)容放到網(wǎng)上,供同學們學習參考。

6結(jié)語

隨著計算機技術(shù)的不斷發(fā)展,教學改革也在逐步深入,這必將對數(shù)據(jù)結(jié)構(gòu)課程的教學提出更高的要求。因此精品課程的建設(shè)是一項長期的工作,也是一項綜合的系統(tǒng)工程。在今后的課程建設(shè)過程中,我們要用先進的教育理念武裝自己,不斷擴充新的教學內(nèi)容,完善教學網(wǎng)站,強化實踐教學環(huán)節(jié),為學生提供更多優(yōu)質(zhì)教學資源,培養(yǎng)出更多更好的符合社會需求的應(yīng)用型人才。

參考文獻:

[1] 侯治富,金祥雷,谷樹嚴,等. 精品課程建設(shè)目標及實現(xiàn)途徑的研究與實踐[J]. 中國大學教學,2006(1):21-23.

[2] 李銀芳. 高校精品課程建設(shè)中應(yīng)注意的幾個問題[J]. 中國高教研究,2007(1):91-93.

[3] 許坦,石. 精品課程發(fā)展現(xiàn)狀綜述[J]. 中國電化教育,2007(5):53-56.

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

[5] 耿國華,王小鳳,張德同.“數(shù)據(jù)結(jié)構(gòu)與算法”課程工程型知識體系研究[C]//大學計算機課程報告論壇組委會. 大學計算機課程報告論壇論文集. 北京:高等教育出版社,2009:9-13.

[6] 顧沈明,張建科,李鑫. 數(shù)據(jù)結(jié)構(gòu)教學模式的改革與實踐[C]//浙江省高校計算機教學研究會. 計算機教學研究與實踐. 杭州: 浙江大學出版社,2010:111-114.

[7] 劉雪梅,袁文翠,富宇,等.“數(shù)據(jù)結(jié)構(gòu)”教學模式變遷的若干思考[C]//大學計算機課程報告論壇組委會. 大學計算機課程報告論壇論文集. 北京:高等教育出版社,2006:535-537.

[8] 耿國華. 數(shù)據(jù)結(jié)構(gòu)課程改革與教學資源建設(shè)[C]//大學計算機課程報告論壇組委會. 大學計算機課程報告論壇論文集. 北京: 高等教育出版社,2006:150-153.

[9] 潘洪軍.“精選案例,扼要講解,任務(wù)驅(qū)動”教學模式[J]. 中國高教研究,2008(11):55-56.

[10] 王玉峰,劉寶旨,王猛劉,等. 也談“數(shù)據(jù)結(jié)構(gòu)”的教學[J]. 計算機教育,2007(15):21-23.

[11] 舒堅,劉琳嵐,陳斌全,等.“數(shù)據(jù)結(jié)構(gòu)”課程實踐教學改革的設(shè)計與實踐[C]//大學計算機課程報告論壇組委會. 大學計算機課程報告論壇論文集. 北京:高等教育出版社,2007:401-404.

[12] 王炳強,張植才. 任務(wù)驅(qū)動法在C語言程序設(shè)計課程中的應(yīng)用[J]. 黑龍江科技信息,2009(5):53.

[13] 李治軍,廖明宏,張巖. 數(shù)據(jù)結(jié)構(gòu)與算法課程設(shè)計教學模式的探討教學資源建設(shè)[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)

篇7

課程銜接 層次性教學 任務(wù)驅(qū)動教學

一、引言

設(shè)計、實現(xiàn)一個復(fù)雜或者高級項目的軟件項目,可能需要涉及程序設(shè)計語言、數(shù)據(jù)結(jié)構(gòu)、算法設(shè)計與分析、計算機網(wǎng)絡(luò)、數(shù)據(jù)庫等許多課程。而計算機科學技術(shù)專業(yè)的每一門課程都是從基礎(chǔ)理論入手,復(fù)雜、高級項目不適合作為課程的學習案例或者習題。

不少課程選用比較簡單和容易理解的小項目作為例題講解知識點或者作為習題鞏固學生所學知識點。比如約瑟夫程序,在程序設(shè)計語言中是鏈表操作習題,而數(shù)據(jù)結(jié)構(gòu)課程中又作為線性表的習題或者上機題目;圖書館管理程序,可能作為數(shù)據(jù)結(jié)構(gòu)課程的線性表的課程設(shè)計題目,也可能作為數(shù)據(jù)庫課程范式優(yōu)化的例題;集合的交集和并集可能作為離散數(shù)學課程的習題,也常被選做數(shù)據(jù)結(jié)構(gòu)課程線性表操作的算法優(yōu)化例題;網(wǎng)絡(luò)蜘蛛常被作為計算機網(wǎng)絡(luò)課程的課程設(shè)計題目,也常因為其中的典型樹形結(jié)構(gòu)關(guān)系被數(shù)據(jù)結(jié)構(gòu)課程選作綜合性課程設(shè)計題目;多優(yōu)先級作業(yè)調(diào)度既是操作系統(tǒng)課程的主要研究內(nèi)容,也是數(shù)據(jù)結(jié)構(gòu)課程隊列內(nèi)容的習題。

以往的教學實踐反映,很多學生學完課程之后并沒有達到預(yù)期的目的。究其原因,一是對學生動手能力的培養(yǎng)沒有到位,以至于部分同學對課程的學習還停留在“紙上談兵”的階段;二是對學生自主學習能力的培養(yǎng)沒有到位,以至于涉及講授范圍之外的問題學生就不知從何入手??梢圆捎梅謱哟谓虒W,就是要因材施教,根據(jù)大多數(shù)學生的情況,正確處理教學中難與易、快與慢、多與少、應(yīng)知與應(yīng)會的關(guān)系。充分發(fā)揮學生學習的主體作用,轉(zhuǎn)化差生、培養(yǎng)優(yōu)生,全方位增進教學效果。

目前的教學活動,主要考慮的先后關(guān)系,而沒有建立良好的課程的銜接關(guān)系。需要研究、整理他們直接的銜接關(guān)系。

需要整理本課程案例,考慮與先修課程或者后修課程的關(guān)系及所選題目的價值和意義,同時對案例采用層次性分解方法,滿足層次性教學需求。

鑒于計算機專業(yè)本科教學課程數(shù)量多,本文針對計算機兩大具有緊密關(guān)系的核心基礎(chǔ)課程《數(shù)據(jù)結(jié)構(gòu)》和《程序設(shè)計C語言》進行探索,并期望擴展到其他課程。

二、課程的銜接關(guān)系

C語言程序設(shè)計與數(shù)據(jù)結(jié)構(gòu)是工科院校計算機專業(yè)中開設(shè)的兩門重要的專業(yè)基礎(chǔ)課。在以往教學中,這兩門課程是相對獨立、分開授課的,因此導(dǎo)致內(nèi)容脫節(jié),教學效果差。一般C語言程序設(shè)計課程只注重C語言的語法體系,因此學習后卻不能用C語言進行程序設(shè)計;后者則注重講授抽象的數(shù)據(jù)關(guān)系和算法在計算機中的表示及實現(xiàn),學生能進行抽象算法的描述,上機實踐應(yīng)用時卻無從下手。然而,這兩門課程都以培養(yǎng)學生解決實際問題的程序設(shè)計能力為共同目標。因此,如何將這兩門課程有機地結(jié)合起來,構(gòu)建C語言與數(shù)據(jù)結(jié)構(gòu)的新體系,改革教學方法,提高教學質(zhì)量,成了當前教學改革中亟待解決的問題。

在傳統(tǒng)的教學模式下,C語言程序設(shè)計與數(shù)據(jù)結(jié)構(gòu)這兩門課程分開教學。C語言程序設(shè)計的學習主要在語言語法的層次上,數(shù)據(jù)結(jié)構(gòu)難度較大,注重思維訓(xùn)練,造成學生不能結(jié)合有效結(jié)合這兩門課程運用到實際中去。通過不斷探索,認識到這兩門課程有很多內(nèi)在聯(lián)系,如軟件是用一種程序設(shè)計語言編寫解決該問題的算法,通過編譯、鏈接成為可執(zhí)行程序而成,而算法是通過處理輸入數(shù)據(jù)轉(zhuǎn)換為輸出的解決方案,因此數(shù)據(jù)結(jié)構(gòu)和程序設(shè)計語言密不可分;再比如數(shù)據(jù)結(jié)構(gòu)討論的抽象數(shù)據(jù)關(guān)系和算法要用C語言去實現(xiàn)等。

針對差異化的學生現(xiàn)狀,整理課程關(guān)系,精巧的設(shè)計教學案例和習題實現(xiàn)任務(wù)驅(qū)動式教學法,對于調(diào)動學生學習興趣,先修課程的簡單案例讓學生能夠逐漸獨立實現(xiàn),有助于學生產(chǎn)生滿足感,增加學習自信心;對于案例的擴展性引導(dǎo),啟發(fā)學生深入思考和逐步掌握自學方法,通過自學后修課程,提出的較難的問題又有助于激發(fā)學生參與后修課程學習的積極性。

三、擬解決的主要問題

數(shù)據(jù)結(jié)構(gòu)與C語言課程的結(jié)合方式的探討,針對探討結(jié)果設(shè)計實際結(jié)合方法,并在學生中實踐,選擇最佳結(jié)合方式。

數(shù)據(jù)結(jié)構(gòu)與C語言,每門課程需要有經(jīng)驗的任課教師結(jié)合本課程特點,探討并確定各個案例與各知識點和其他課程關(guān)系,針對學生差異性現(xiàn)狀和任務(wù)驅(qū)動式及層次性教學需求,對選擇的案例采用遞增式設(shè)計;確定跨課程案例及相關(guān)課程名,涉及的知識點。探討選擇的習題(包括課堂練習題、課后思考題、課后作業(yè)、上機實驗題和課程設(shè)計題目)于知識點及其他課程的關(guān)系,標注習題難度級別,以達到層次性教學目的。

針對這兩門課程的案例和習題,深入探討相互關(guān)系,特別是相互的銜接性,C語言課程首先需要講解基本語法知識,幫助初學者建立簡單的程序設(shè)計過程思想,但由于教學時間限制,只依靠課內(nèi)學習和課后作業(yè)及上機實驗是不能充分達到熟練運行C語言解決問題,編寫項目程序的目的。

C語言是大一學生首先接觸的程序設(shè)計語言,加上許多學生還存在中學時期的一切依賴老師的學習方法和觀念,未能進一步學習并提高程序設(shè)計能力,因此在后續(xù)課程中,比如數(shù)據(jù)結(jié)構(gòu)課程中需要在講解數(shù)據(jù)結(jié)構(gòu)抽象數(shù)據(jù)類型及解決問題的時候,學生應(yīng)該嘗試借用C語言編程實現(xiàn)抽象算法。因此,應(yīng)該結(jié)合學生的這個實際情況,進一步細化和分解選擇的案例和習題,讓學生在C語言學習過程中學會應(yīng)用C語言解決和數(shù)據(jù)結(jié)構(gòu)簡單問題相關(guān)任務(wù),為數(shù)據(jù)結(jié)構(gòu)課程打下堅實基礎(chǔ);而數(shù)據(jù)結(jié)構(gòu)課程中有意識的安排一些案例和習題,讓學生能夠有運用C語言解決簡單問題的能力,并通過數(shù)據(jù)結(jié)構(gòu)課程的學習和培養(yǎng),掌握復(fù)雜問題的解決方法和更加熟練的應(yīng)用C語言工具。

四、總結(jié)

根據(jù)計算機課程關(guān)系,設(shè)計優(yōu)化與其他相關(guān)課程有關(guān)系的案例與習題,一來可以引導(dǎo)學生理解后修課程部分內(nèi)容,引起學習興趣,二來在一些先修課程已經(jīng)介紹本課程該知識點的基礎(chǔ)上,提出新的解決方案或者優(yōu)化方法,更容易激發(fā)學生探索問題的好奇心和解決復(fù)雜問題的滿足感,加強學生理解課程相互關(guān)系和培養(yǎng)計算機創(chuàng)新思維。

以數(shù)據(jù)結(jié)構(gòu)課程和程序設(shè)計語言課程為例整理課程關(guān)系,研究和設(shè)計教學案例及習題,滿足學生差異化需求和對學習內(nèi)容的興趣,進行層次性教學,將其經(jīng)驗和方法最終推廣到計算機本科教學的各課程。

參考文獻:

[1]黃迪明.C語言程序設(shè)計(第2版)[M].成都:電子科技大學出版社.

[2]吳躍,李樹全,尚明生.數(shù)據(jù)結(jié)構(gòu)與算法(第2版)[M].北京:機械工業(yè)出版社,2010.

[3]薩師煊.數(shù)據(jù)庫(第3版)[M].北京高等教育出版社,2000.

[4]傅彥,顧小豐,王慶先.離散數(shù)學及其應(yīng)用.北京:高等教育出版社,2007.

篇8

關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu);理論教學;實踐教學;教學改革

中圖分類號:TP311.12-4 文獻標識碼:A 文章編號:1007-9599?。?012) 17-0000-02

1 課程內(nèi)容

《數(shù)據(jù)結(jié)構(gòu)》是計算機科學中一門綜合性的專業(yè)基礎(chǔ)課,也是其它輔修計算機專業(yè)的必修課程。本課程討論了軟件設(shè)計中經(jīng)常遇到的線性表、堆棧、隊列、串、數(shù)組、樹和二叉樹、圖等典型數(shù)據(jù)結(jié)構(gòu)的邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)和操作的實現(xiàn)方法,以及遞歸算法設(shè)計方法和各種典型排序和查找算法的設(shè)計方法。并對算法進行性能分析和比較,內(nèi)容非常豐富。數(shù)據(jù)結(jié)構(gòu)課程是一門理論和實踐相結(jié)合的課程。本課程包括講授和課內(nèi)上機實驗兩部分教學內(nèi)容。課內(nèi)上機實驗是為訓(xùn)練學生的實際程序設(shè)計能力安排的。

課程的目標是使學生掌握數(shù)據(jù)基本的邏輯結(jié)構(gòu)和存儲結(jié)構(gòu)、一些典型的數(shù)據(jù)結(jié)構(gòu)算法及程序設(shè)計方法和技巧,要求學會分析數(shù)據(jù)對象特征,掌握數(shù)據(jù)組織方法和計算機的表示方法,為數(shù)據(jù)選擇適當?shù)倪壿嫿Y(jié)構(gòu)、存儲結(jié)構(gòu)以及相應(yīng)的處理算法,要求具備算法分析的基本技術(shù)和能力,并培養(yǎng)良好的程序設(shè)計風格,掌握開發(fā)復(fù)雜、高效程序的技能。

2 理論教學方法與手段的探索

遵循以學生為主體,以教師為主導(dǎo)的教育理念,針對理論教學和實踐教學的不同特點,合理進行教學設(shè)計,推進教學方法和教學手段改革。課堂上引入啟發(fā)式教學,充分發(fā)揮學生的學習主動性,重視自學能力的培養(yǎng),引導(dǎo)學生積極思考,活躍課堂氣氛,適當壓縮授課時數(shù), 留給學生更多的思維空間和自學空間,增加學生閱讀參考書、科技文獻和寫讀書報告的時間。數(shù)據(jù)結(jié)構(gòu)的教學策略:

(1)激發(fā)學生的學習興趣

興趣是最好的老師,只有激發(fā)了學生的學習興趣,才能事半功倍,取得更好的學習效果。在教學中通過具體的實例說明數(shù)據(jù)結(jié)構(gòu)在程序設(shè)計中的重要性,從而激發(fā)學生的求知欲,讓學生充分感受到數(shù)據(jù)結(jié)構(gòu)算法設(shè)計的魅力,調(diào)動學生思考的積極性。鼓勵學生對教學內(nèi)容提出疑問,師生共同討論,從而提高教學和學習水平。在課堂上隨時提出一些思考題,對一個結(jié)構(gòu)從不同角度討論。例如,對于線性結(jié)構(gòu),討論線性表、棧和隊列各自的操作特點。鼓勵學生在學習過程獨立思索,提出不同的算法,深化對問題的理解。例如在講解循環(huán)隊列時,如何判斷隊空和隊滿,有的同學提出三種解決方法。對于這樣的同學,我們及時給與表揚和鼓勵。

(2)教學內(nèi)容的有機組合

在現(xiàn)有教學大綱的內(nèi)容的基礎(chǔ)上,不斷吸收新知識、新內(nèi)容,補充考研試題。對教學內(nèi)容的安排重新進行拆分和重組,突出重點、細化難點。運用面向?qū)ο蟮膶W習方法講解數(shù)據(jù)結(jié)構(gòu),每一種數(shù)據(jù)結(jié)構(gòu)的學習方法都是相似的,重點介紹數(shù)據(jù)結(jié)構(gòu)的邏輯關(guān)系、基本操作和在不同存儲方式下基本操作的實現(xiàn),介紹數(shù)據(jù)的邏輯結(jié)構(gòu)和物理存儲之間的關(guān)系,及物理存儲在類C語言中的描述,數(shù)據(jù)結(jié)構(gòu)的主要內(nèi)容可用以下的體系結(jié)構(gòu)來表示。

學生在了解了數(shù)據(jù)結(jié)構(gòu)課程的核心內(nèi)容后,算法的實現(xiàn)就不難理解了。例如:我們在講授線性表的復(fù)雜操作有序表的合并時,先從邏輯上看是如何實現(xiàn)的,介紹算法設(shè)計思想,然后講解兩種實現(xiàn)算法:順序存儲方式和鏈式存儲方式下的算法,讓學生自己比較兩種算法,加深理解。

(3)雙向互動式的教學

改變原來“填鴨式”的教學模式,變以教師為主的教學方式為以學生為中心的教學模式,教師只起畫龍點睛的作用。課堂上引入啟發(fā)式教學,充分發(fā)揮學生的學習主動性,重視自學能力的培養(yǎng),引導(dǎo)學生積極思考,活躍課堂氣氛,適當壓縮授課時數(shù),留給學生更多的思維空間和自學空間,增加學生閱讀參考書、科技文獻和寫讀書報告的時間。為了更方便和鼓勵學生自主學習,我們建設(shè)了數(shù)據(jù)結(jié)構(gòu)精品課程網(wǎng)站,有授課視頻、教學課件、各章習題和考研輔導(dǎo)等學生內(nèi)容,教師還可以通過網(wǎng)站進行網(wǎng)上答疑,與學生及時交流。

(4)注重各知識點的有機統(tǒng)一

若想讓學生做到融會貫通,舉一反三,在教學中就必須注重各知識點的有機統(tǒng)一。比如在講授內(nèi)部排序算法時,綜合比較各種排序算法的時間復(fù)雜度、空間復(fù)雜度、穩(wěn)定性、最好及最差情況等。讓學生通過比較,提高解決問題的能力,會根據(jù)不同形式的待排序表選擇合適的存儲方式和排序方法。再就是講授鏈隊列時,講完用一個帶有頭尾指針的單鏈表表示的隊列后,再讓學生思考如何用一個循環(huán)鏈表表示隊列,在給出啟示后讓學生自己寫成隊列的初始化、入隊和出隊算法,通過這種方式的教學不僅培養(yǎng)了學生的思維能力,而且有助于培養(yǎng)學生的創(chuàng)新能力,會綜合運用所學知識,用計算機解決較復(fù)雜的問題。

(5)運用現(xiàn)代化教學手段

重視現(xiàn)代教育方法、技術(shù)手段的運用,采用多媒體教學,加大課程信息量,提高教學效率。在采用多媒體技術(shù)講授本門課程的過程中,在深入研究多媒體教學的特點以及學生現(xiàn)有知識架構(gòu)的基礎(chǔ)上,重新組織、優(yōu)化、補充教材內(nèi)容,精心制作多媒體課件。在多媒體課堂上,通過教師有機地組織電子教案、演示課件等,使得學生能形象地領(lǐng)悟到算法的效果,教學變得豐富、有趣。在授課過程中,首先還原問題的本來面目——提出問題,引導(dǎo)同學積極參與——嘗試解決問題,在討論的基礎(chǔ)上給出結(jié)論——講授教學內(nèi)容,最后采用課件進行算法的動態(tài)演示,加大了課堂信息量,提高了教學效率。

3 實踐教學的探索

實踐教學是數(shù)據(jù)結(jié)構(gòu)課程教學的一個重要組成部分,對本門課程的學習起著至關(guān)重要的決定。通過實踐教學,讓學生能夠?qū)W會運用書上學到的知識來解決實際問題,培養(yǎng)軟件工作所需要的動手能力。

實踐活動通過兩個環(huán)節(jié)來實現(xiàn),第一個環(huán)節(jié)課程實驗,較偏重于對課程內(nèi)容的理解。實驗講義完備,開出率100%。保證了學生理解和掌握課程的基本理論和基本概念,又提高他們的動手能力。第二個環(huán)節(jié)課程設(shè)計實習,讓學生有機會自己提出實驗項目、實驗方案,在教師指導(dǎo)下按其方案進行實驗,最后讓學生自己得出應(yīng)有的結(jié)論,進一步培養(yǎng)學生的學習興趣和實踐動手能力,從而激發(fā)創(chuàng)造力,也初步實現(xiàn)了對學生進行一整套軟件工作規(guī)范的訓(xùn)練和科學作風的培養(yǎng)。

(1)實驗教學內(nèi)容

依據(jù)實驗教學大綱,合理安排實驗教學內(nèi)容。我在教學時把實驗項目按照不同內(nèi)容和難度分成三種類型:基礎(chǔ)型實驗項目、設(shè)計性實驗項目、和綜合性和創(chuàng)新型實驗項目,實現(xiàn)了實驗教學內(nèi)容的創(chuàng)新?;A(chǔ)型實驗項目安排在各個章節(jié)中,主要圍繞數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)知識內(nèi)容,目的是讓學生掌握各種基本數(shù)據(jù)結(jié)構(gòu)的邏輯關(guān)系和存儲方式,通過實驗驗證算法,理解數(shù)據(jù)結(jié)構(gòu)的基本操作的定義和實現(xiàn)。設(shè)計型實驗項目是在基礎(chǔ)型實驗項目的基礎(chǔ)上,讓學生自己設(shè)計數(shù)據(jù)結(jié)構(gòu)和算法,提高學生解決問題的能力和良好的編程能力。例如一元多項式求和,要求學生選擇合適的數(shù)據(jù)結(jié)構(gòu)自己編寫算法。綜合型實驗項目涉及數(shù)據(jù)結(jié)構(gòu)中多個知識點的重點內(nèi)容,要求學生自己進行設(shè)計和實現(xiàn),主要訓(xùn)練學生綜合運用知識的能力,協(xié)作能力和創(chuàng)新實踐能力。

(2)考核方式探索

為了培養(yǎng)學生的創(chuàng)新意識和團隊協(xié)作精神,促進學生之間的交流和協(xié)作,使不同水平的學生都能在大型實驗項目中擔負起相應(yīng)的工作,特別設(shè)計了一套針對綜合型實驗和探索創(chuàng)新型實驗的考核方式和考核方法。

根據(jù)不同的實驗項目采取不同的考核方式,基礎(chǔ)型和設(shè)計型實驗項目安排在平時每周的上機實驗課進行,根據(jù)學生提交的實驗報告進行考核。綜合型和創(chuàng)新型實驗項目較大,需要學生分工合作,共同完成,一般對學生進行分組,每組完成一個實驗項目,在課程設(shè)計環(huán)節(jié)完成,一般有兩周時間,教師根據(jù)每個學生在組內(nèi)的表現(xiàn)給出一個考核成績,項目完成后,再根據(jù)各組提交的項目報告和項目的質(zhì)量給出合理考核成績。這樣既激發(fā)了學生的創(chuàng)新能力,又提高了學生的團隊合作精神。

4 結(jié)論

在研究課程的教學方法時,要因內(nèi)容制宜,因?qū)W生制宜,采取不同的教學方法。本人通過近十年對數(shù)據(jù)結(jié)構(gòu)教學的實踐與探索,取得了一定的教學效果,使得學生在學習數(shù)據(jù)結(jié)構(gòu)時,不在感覺那么抽象,理解數(shù)據(jù)結(jié)構(gòu)和算法不再那么困難,讓學生真正理解了數(shù)據(jù)結(jié)構(gòu)的作用,會選擇和使用合適的數(shù)據(jù)結(jié)構(gòu)解決問題。為學生后繼課程的學習打下良好的基礎(chǔ),乃至對學生今后從事軟件方面的工作都會提供較大的幫助。

參考文獻:

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

[2]李治軍,廖明宏,張巖.數(shù)據(jù)結(jié)構(gòu)與算法課程設(shè)計教學模式的探討[J].計算機教育,2006(2).

[3]殷人昆,陶永雷,謝若陽,盛絢華.數(shù)據(jù)結(jié)構(gòu)(用面向?qū)ο蠓椒ㄅcC++描述)[M].北京:清華大學出版社,2002.

[4]李鋒,孫莉.任務(wù)驅(qū)動式方法在離散數(shù)學教學中的應(yīng)用[J].計算機教育,2006(3).

[5]王銳.基于網(wǎng)絡(luò)的《數(shù)據(jù)結(jié)構(gòu)》新型教學模式研究[J].中州大學學報,2006(10).

[6]莫家慶.《數(shù)據(jù)結(jié)構(gòu)》程序教學模式探索[J].計算機教育,2008(9).

篇9

關(guān)鍵詞: CDIO;數(shù)據(jù)結(jié)構(gòu);課程教學

中圖分類號:G642.0 文獻標識碼:A 文章編號:1009-3044(2014)01-0078-02

數(shù)據(jù)結(jié)構(gòu)是計算機學科的重要核心課程,在計算機課程體系中處于承上啟下的地位,它不僅是程序設(shè)計的重要理論技術(shù)基礎(chǔ),也與計算機科學技術(shù)的其他領(lǐng)域如操作系統(tǒng)、編譯原理等也有著密切的關(guān)系。由于課程內(nèi)容比較抽象,算法理解比較困難,要在有限的課時內(nèi)使學生更好地理解課程的內(nèi)容,掌握課程的重點,提高解決實際問題的程序設(shè)計能力,就必須打破傳統(tǒng)的數(shù)據(jù)結(jié)構(gòu)教學模式,融入一些新的現(xiàn)代教育的理念與方法,CDIO教育模式為我們提供了一個重要途徑。

1 CDIO工程教育模式

CDIO是由美國麻省理工學院、瑞典查爾姆斯技術(shù)學院、瑞典林克平大學共同倡導(dǎo),集多國工程教育精英建立的一套工程教育理論和實施體系。CDIO代表Conceive(構(gòu)思)、Design(設(shè)計)、Implement(實施)和Operate(運作),是“做中學”和“基于項目教育和學習”理念的集中體現(xiàn)。

2 《數(shù)據(jù)結(jié)構(gòu)》教學的特點與現(xiàn)狀

《數(shù)據(jù)結(jié)構(gòu)》教學過程中主要存在以下幾個方面的問題:

1)對于課堂教學,大多采用多媒體理論教學和上機實踐相結(jié)合的方式,但是目前的數(shù)據(jù)結(jié)構(gòu)教學仍然非常重視理論教學,即存在“重理論、輕實踐”的現(xiàn)象,不利于學生實踐能力的培養(yǎng)。

2)雖然現(xiàn)在授課一直在提倡“以教師為主導(dǎo),學生為主體”,但是在實際的理論教學環(huán)節(jié)通常仍然是以教師為主,學生充當“聽眾”,始終按著教師講解的思路去理解問題、記憶知識,即存在“教師講、學生聽”的現(xiàn)象,難以調(diào)動學生探討問題的積極性。

3)實踐教學環(huán)節(jié)中的實驗大多是驗證性實驗,缺乏與實際相結(jié)合的設(shè)計實驗和綜合性實驗,即存在“驗證多、設(shè)計少”的現(xiàn)象,不利于學生創(chuàng)新能力的培養(yǎng)。

3 CDIO對數(shù)據(jù)結(jié)構(gòu)課程教學模式的啟示

CDIO以能力培養(yǎng)為主線,以任務(wù)驅(qū)動進行項目教學,考核實施過程監(jiān)控,通過構(gòu)思、設(shè)計、實現(xiàn)、運作的完整過程,實現(xiàn)課程的“做中學”和“基于項目教育和學習”。對于數(shù)據(jù)結(jié)構(gòu)課程教學,CDIO理念給我們帶來了很大的啟示,根據(jù)每節(jié)課程內(nèi)容的特點選用以下教學模式展開教學。

3.1 問題驅(qū)動式教學

問題驅(qū)動式教學是為了激發(fā)學生的學習興趣,根據(jù)教學內(nèi)容合理地設(shè)置問題引入教學內(nèi)容的方法,采用“提出問題、分析問題、解決問題”的模式,組織學生進行思考、分析、討論與交流,這樣,學生能夠積極參與到學習中,而不再是被動地接受。

例如,在學習“棧”這部分內(nèi)容時,教師可以提出比較有趣的“Hanoi塔”問題、八皇后問題或者迷宮問題讓學生思考,再逐步引出“棧”的相關(guān)知識,然后鼓勵學生應(yīng)用“?!本帉懰惴ń鉀Q這些問題并上機編程實現(xiàn)。以八皇后問題為例,提出問題可以教師口述如下:八皇后問題是一個古老而著名的問題,該問題是十九世紀著名的數(shù)學家高斯1850年提出的:在8*8格的國際象棋上擺放八個皇后,使其不能互相攻擊,即任意兩個皇后都不能處于同一行、同一列或同一斜線上,問有多少種方法。也可以用形象的圖示或演示軟件為學生展示問題,如圖1所示,左邊是初始狀態(tài),右邊是假設(shè)第1個皇后擺放在第1列,那么第2個皇后從第2列第1行開始試探,如果不互相攻擊就將其擺放,第2個皇后擺放在第2列第3行的位置,接著試探第3個皇后擺放的位置,圖示表示第3個皇后目前的位置與第1個皇后處于同一對角線,與第2個皇后處于同一行,都互相攻擊,不滿足條件……提出問題之后,讓學員去思考分析,這樣不僅激發(fā)學生的興趣,也能培養(yǎng)他們分析解決實際問題的能力。

3.2上機實踐教學改革

計算機課程學習過程中普遍存在這樣的現(xiàn)象:教師講授的內(nèi)容學生反映基本都聽懂了,但是上機實踐時卻覺得無所適從,不知道怎么把課堂上講授的算法思想轉(zhuǎn)換成可以執(zhí)行的程序。上機實踐是數(shù)據(jù)結(jié)構(gòu)課程教學必不可少的一個重要組成部分,通過上機實踐學生能夠更好的理解數(shù)據(jù)中的經(jīng)典算法思想的意義,掌握數(shù)據(jù)和數(shù)據(jù)之間的關(guān)系,深刻體會理論和實踐的結(jié)合,運用所學知識去解決實際問題,所以對上機實踐教學的改革勢在必行。

首先,驗證性實驗應(yīng)作為基本目標要求學生必須掌握,在此基礎(chǔ)上,多展開設(shè)計性實驗和綜合性實驗,使理論學習中需要解決的現(xiàn)實問題在一定程度上得到實現(xiàn)。其次,將上機實踐納入考試范圍,占期末總成績的30%,上機成績由“驗證性實驗+設(shè)計性實驗”組成,這樣會使學生重視平時上機實踐。

例如,在進行線性表的實踐教學時,在掌握了線性表理論知識的前提下,每位學生都要將書中的算法予以驗證性的實現(xiàn),我們使用的是嚴蔚敏老師的《數(shù)據(jù)結(jié)構(gòu)(C語言版)》,要求學生將順序表和單鏈表的基本運算包括插入、刪除等操作予以驗證。這些基本的算法得到驗證后,將其整合到現(xiàn)實中的問題作為綜合性設(shè)計性實驗,由學生自主完成,如:為某屆學生建立一個通訊錄管理系統(tǒng),可以方便查詢每一個學生的學號、姓名、年齡、專業(yè)、電話、電子郵箱等。其功能包括通訊錄鏈表的建立、學生通訊信息的查詢、修改、插入與刪除、以及整個通訊錄表的輸出等。

3.3 以項目為導(dǎo)向的課程設(shè)計

課程設(shè)計是對數(shù)據(jù)結(jié)構(gòu)知識的梳理鞏固和綜合運用,好的課程設(shè)計能夠使學生對理論知識舉一反三、熟能生巧。傳統(tǒng)的課程設(shè)計題目過于單一,學生應(yīng)付式交作業(yè)的現(xiàn)象比比皆是且答案雷同。所以有必要采取多樣化的題目,要求學生自由結(jié)合分組,每組3-4人,從給定題目中選取感興趣并符合自身能力的設(shè)計題目,分別進行項目的Conceive(構(gòu)思)、Design(設(shè)計)、Implement(實施)和Operate(運作),最后以項目小組的形式完成,上交項目報告。各不相同的任務(wù)迫使學生必須用學到的數(shù)據(jù)結(jié)構(gòu)知識獨立解決問題,小組中每個學生要發(fā)揮各自作用,積極思考,相互交流、溝通,在完成不同任務(wù)的同時,項目實施專業(yè)能力和團隊協(xié)作能力得到很好的鍛煉。在項目實施過程中,突出學生的主體地位,強調(diào)學生自學能力和動手能力的培養(yǎng)。

4 總結(jié)

綜上所述,結(jié)合數(shù)據(jù)結(jié)構(gòu)課程教學的特點和現(xiàn)狀,將CDIO工程教育理念貫穿于教學中,并根據(jù)數(shù)據(jù)結(jié)構(gòu)的教學內(nèi)容和教學目標,在教學過程中“重學生、重理論、重實踐、重項目”,培養(yǎng)學生的自學能力,提高學生的實踐能力和團隊協(xié)作能力。

參考文獻:

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

[2] Edward F Crawley.Creating the CDIO Syllabus,a Universal Template for Engineering Education. 32nd ASSEE/IEEE Frontiers in Education Conference.November 6-9,2002,Boston,MA

篇10

1地球科學信息與技術(shù)專業(yè)中數(shù)據(jù)結(jié)構(gòu)的教學現(xiàn)狀與困境

筆者對中國海洋大學、同濟大學、中山大學、浙江大學、中國地質(zhì)大學(武漢)、中南大學、河南理工大學、石家莊經(jīng)濟學院8所院校的地科專業(yè)數(shù)據(jù)結(jié)構(gòu)課程教學現(xiàn)狀進行了調(diào)查和分析,認為該專業(yè)數(shù)據(jù)結(jié)構(gòu)課程教學存在著一些亟待解決的問題。這些問題主要表現(xiàn)在以下兩個方面:

1.1教學內(nèi)容與專業(yè)應(yīng)用脫節(jié)筆者對上述8所學校的地科專業(yè)的基礎(chǔ)信息進行了匯總和分析(見表1),發(fā)現(xiàn)8所學校的地科專業(yè)成立時間比較晚,集中在2002年至2006年,而且依托學科多為地質(zhì)學、勘察技術(shù)、地球物理學、測繪學,科研實力雄厚、教學經(jīng)驗豐富,但缺乏計算機學科方面有經(jīng)驗的教師。目前大部分從事數(shù)據(jù)結(jié)構(gòu)教學的教師來自于計算機學科,這些教師具有豐富的計算機學科的專業(yè)知識,但缺乏的是如何把數(shù)據(jù)結(jié)構(gòu)同其本專業(yè)進行有機地融合,使學生誤認為學習數(shù)據(jù)結(jié)構(gòu)僅僅是為了掌握相關(guān)的計算機技術(shù),而與本專業(yè)的知識結(jié)構(gòu)沒有直接聯(lián)系。

1.2學生的計算機語言基礎(chǔ)較為薄弱數(shù)據(jù)結(jié)構(gòu)就教科書的內(nèi)容而言,主要介紹一些算法,理論性強,大部分算法只給出主體的部分,通常采用偽代碼、C語言或者類C語言描述,如果沒有很好的計算機語言基礎(chǔ),學生就不能很好地在上機實踐中編寫完整程序去檢驗算法[2]。目前,地科專業(yè)學生不重視高級語言程序設(shè)計課程的學習,導(dǎo)致其計算機語言基礎(chǔ)較為薄弱,影響其對數(shù)據(jù)結(jié)構(gòu)課程內(nèi)容的理解和實踐。

2數(shù)據(jù)結(jié)構(gòu)課程改革的總體思路

2.1依據(jù)專業(yè)特色調(diào)整教學內(nèi)容和教學重點由表1可知,8所學校地科專業(yè)的專業(yè)特色各不相同。依據(jù)專業(yè)特色調(diào)整數(shù)據(jù)結(jié)構(gòu)課程的教學內(nèi)容和教學重點,把地球信息科學專業(yè)知識與數(shù)據(jù)結(jié)構(gòu)理論進行有機地融合,使學生明白數(shù)據(jù)結(jié)構(gòu)課程在本專業(yè)知識體系中的位置。

2.2注意前導(dǎo)課程的復(fù)習針對學生計算機語言基礎(chǔ)較為薄弱這種情況,在數(shù)據(jù)結(jié)構(gòu)正式開始學習之前需要復(fù)習一下高級程序設(shè)計語言的相關(guān)知識,如數(shù)組、指針、函數(shù)(特別是指針做函數(shù)參數(shù))、結(jié)構(gòu)體等[3]。然后,對剛進入本課程學習的前幾個算法給出完整的程序并加以詳細講解,使學生理解算法和源程序之間的關(guān)系。

2.3協(xié)調(diào)高級語言程序設(shè)計與數(shù)據(jù)結(jié)構(gòu)關(guān)系為避免高級語言程序設(shè)計與數(shù)據(jù)結(jié)構(gòu)課程使用的計算機編程語言不一致而導(dǎo)致數(shù)據(jù)結(jié)構(gòu)課程教學效果差的情況發(fā)生,需要保持高級語言程序設(shè)計與數(shù)據(jù)結(jié)構(gòu)編程語言一致、編譯平臺一致。在數(shù)據(jù)結(jié)構(gòu)教學過程中應(yīng)重視學生實踐能力的培養(yǎng),培養(yǎng)學生在編譯平臺環(huán)境中使用高級語言編寫完整程序去檢驗算法的能力。

3數(shù)據(jù)結(jié)構(gòu)課程改革的具體實施

3.1加強學生計算機編程能力的培養(yǎng)力度首先需要加強地科專業(yè)學生計算機編程能力的培養(yǎng)力度。學生應(yīng)該明確自己學習高級語言程序設(shè)計的目的,不是把它作為純理論的課程來學習,而是作為應(yīng)用技術(shù)來掌握,為數(shù)據(jù)結(jié)構(gòu)課程的順利學習提供扎實的應(yīng)用基礎(chǔ)。根據(jù)這種情況,在這一模塊的改革過程中需要對高級語言程序設(shè)計和數(shù)據(jù)結(jié)構(gòu)課程教學的內(nèi)容進行微調(diào),在高級語言程序設(shè)計課程原有內(nèi)容的基礎(chǔ)上添加幾章“數(shù)據(jù)結(jié)構(gòu)”的基礎(chǔ)內(nèi)容,在數(shù)據(jù)結(jié)構(gòu)課程正式開始學習之前需要復(fù)習一下高級語言程序設(shè)計的相關(guān)知識,使兩門課程內(nèi)容順利過渡和銜接。這樣既提高了學生的編程能力,也使兩門課程融會貫通。

3.2培養(yǎng)學生算法驗證能力在第一模塊的基礎(chǔ)之上,學生還必須理解數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)理論,具有算法驗證的能力。簡單地說,數(shù)據(jù)結(jié)構(gòu)是一門研究非數(shù)值計算的程序設(shè)計問題中計算機的操作對象以及它們之間的關(guān)系和操作等的學科。對于學習數(shù)據(jù)結(jié)構(gòu)的學生,不能靠死記硬背,必須理解數(shù)據(jù)結(jié)構(gòu)中的各類定義,抓住研究數(shù)據(jù)結(jié)構(gòu)的規(guī)律,這一規(guī)律就是,在研究一種數(shù)據(jù)結(jié)構(gòu)時,要掌握它的邏輯和物理關(guān)系,邏輯關(guān)系在其定義中闡述,物理關(guān)系在它的存儲結(jié)構(gòu)中說明。另外,數(shù)據(jù)結(jié)構(gòu)學習一定要要求學生自己獨立完成代碼實現(xiàn),雖然有時候?qū)W生理解算法內(nèi)容了,但是實現(xiàn)上面還是會遇到很多困難的,解決這些困難會幫助學生提高算法驗證和程序設(shè)計的能力。

3.3培養(yǎng)學生專業(yè)應(yīng)用能力在前兩個模塊的基礎(chǔ)之上,學生還必須具備專業(yè)應(yīng)用能力,將數(shù)據(jù)結(jié)構(gòu)理論靈活的應(yīng)用于本專業(yè)領(lǐng)域。對于地科專業(yè)的學生來說,在后續(xù)課程和以后的工作中有許多地方需要數(shù)據(jù)結(jié)構(gòu)理論,如:在數(shù)據(jù)結(jié)構(gòu)課程中學習的排序問題的算法,以及基本的樹、圖等數(shù)據(jù)結(jié)構(gòu),是計算機科學的基本功,無論是在數(shù)據(jù)庫還是網(wǎng)絡(luò)中,都將作為基本知識來運用;同時,通過B+樹、Hash等高級數(shù)據(jù)結(jié)構(gòu)的學習,也對學生今后數(shù)據(jù)庫的學習影響頗深。根據(jù)這種情況,在這一模塊的改革過程中首先需要依據(jù)專業(yè)特色調(diào)整數(shù)據(jù)結(jié)構(gòu)課程的教學內(nèi)容和教學重點,把地球信息科學專業(yè)知識與數(shù)據(jù)結(jié)構(gòu)理論進行有機地融合,使學生明白數(shù)據(jù)結(jié)構(gòu)課程在本專業(yè)知識體系中的位置。在數(shù)據(jù)結(jié)構(gòu)課程教學中加入位圖、遙感圖像、DXF文件、MIF文件、SRF文件等常見圖像或圖形文件結(jié)構(gòu)和四叉樹、八叉樹等二維和三維圖形數(shù)據(jù)文件存儲結(jié)構(gòu),使學生能夠理解數(shù)據(jù)結(jié)構(gòu)的真正內(nèi)涵并能活學活用,為后續(xù)專業(yè)課程的學習和專業(yè)知識的理解奠定良好的基礎(chǔ)。其次,鼓勵學生參與數(shù)據(jù)結(jié)構(gòu)與專業(yè)相結(jié)合方面的課題研究,如“基于VTK技術(shù)的三維地層可視化研究”項目需要將專業(yè)知識、數(shù)據(jù)結(jié)構(gòu)理論、數(shù)據(jù)庫理論、高級語言程序設(shè)計交叉融合,學生參與此項目既可以加深對數(shù)據(jù)結(jié)構(gòu)理論的理解,又提高了專業(yè)綜合應(yīng)用能力。此外,在課程設(shè)計和畢業(yè)設(shè)計時布置相應(yīng)的課題,在教師的指導(dǎo)下讓學生自己動手去完成這些課題,以求進一步提高學生應(yīng)用數(shù)據(jù)結(jié)構(gòu)解決專業(yè)問題的綜合能力。