傅曉丹
福建師范大學,福建福州 350007
關(guān)于計算機專業(yè)“數(shù)據(jù)結(jié)構(gòu)”課程教學改革的探討
傅曉丹
福建師范大學,福建福州 350007
《數(shù)據(jù)結(jié)構(gòu)》不僅是計算機專業(yè)的核心課程,也是信息管理信息系統(tǒng)、圖書館學專業(yè)的專業(yè)基礎(chǔ)課程。本文針對該課程授課過程中存在的問題進行探討,提出一些教改方法,從而增加學生學習的興趣,培養(yǎng)學生的創(chuàng)造性思維及實際動手能力。
數(shù)據(jù)結(jié)構(gòu);教學改革;教學方法
《數(shù)據(jù)結(jié)構(gòu)》是計算機專業(yè)的核心課程,也是信息管理信息系統(tǒng)、圖書館學專業(yè)必須掌握的專業(yè)基礎(chǔ)課程之一。該課程主要講授數(shù)據(jù)在計算機中的表述、存儲、數(shù)據(jù)組織方法和典型問題求解策略,以及算法設(shè)計及算法性能分析等內(nèi)容,對培養(yǎng)學生的邏輯分析能力、抽象思維和創(chuàng)造能力的培養(yǎng)起到十分重要的作用?!稊?shù)據(jù)結(jié)構(gòu)》課程涉及的概念多、抽象性高、邏輯性強,是較難掌握的一門課程。針對幾年的教學過程中存在的問題進行分析,筆者對《數(shù)據(jù)結(jié)構(gòu)》教學改革提出一些看法。
《數(shù)據(jù)結(jié)構(gòu)》是信息管理信息系統(tǒng)、圖書館學專業(yè)學生重要的專業(yè)基礎(chǔ)課,也是該專業(yè)眾多大學研究生考試的專業(yè)課程,因此,課程的教學不僅要讓學生掌握課程的核心內(nèi)容,將課程問題求解的相關(guān)理論、相關(guān)概念與算法的設(shè)計思路理解透徹,而且要讓學生提高課程的實踐設(shè)計能力。在設(shè)計課程體系結(jié)構(gòu)時,筆者具體采取以下措施。
給計算機專業(yè)學生開課一般選擇的教材是清華大學出版社出版的嚴蔚敏、吳偉民編著的《數(shù)據(jù)結(jié)構(gòu)》。這本教材編寫比較深入,注重算法的設(shè)計,但實例較少,且要求學習基礎(chǔ)比較好。而信息管理信息系統(tǒng)和圖書館學專業(yè)學生有文科生也有理科生,這樣的教材不太適合他們。因此,筆者選擇實例較多的教材——清華大學出版社出版的李春葆等編著的《數(shù)據(jù)結(jié)構(gòu)與算法教程(第3版)》。
信息管理信息系統(tǒng)和圖書館學專業(yè)學生有文科生也有理科生,針對他們講授《數(shù)據(jù)結(jié)構(gòu)》這門課不能像給計算機專業(yè)學生講課那樣注重設(shè)計的教學,而應(yīng)該把教學重點放在算法理論的教學,同時結(jié)合適當?shù)乃惴ㄔO(shè)計和開發(fā)。由于課程課時的限制,課堂講授時不可能將課程的每一點知識都詳細介紹,因此,在設(shè)計教學大綱是要有主次之分,合理分配課時,重在引導(dǎo)學生入門學習,掌握學習方法,以便學生展開深入的學習,教師予以適當?shù)闹笇?dǎo)。
在講授《數(shù)據(jù)結(jié)構(gòu)》課程前先用一節(jié)回顧溫習C語言的主要內(nèi)容,在學生的學習狀態(tài)融入后,接著介紹《數(shù)據(jù)結(jié)構(gòu)》課程內(nèi)容,展開主次分明,重點明確的教學。
1.2 .1 線性結(jié)構(gòu)部分
線性結(jié)構(gòu)時數(shù)據(jù)結(jié)構(gòu)中最常用的數(shù)據(jù)結(jié)構(gòu)類型,也是后續(xù)結(jié)構(gòu)學習的基礎(chǔ),因此要重點介紹。這部分的內(nèi)容重點講解算法分析、線性表、棧和隊列以及串的算法設(shè)計與實現(xiàn)。
1.2 .2 遞歸算法
遞歸的內(nèi)容在C語言課程中已經(jīng)介紹過了,這部分內(nèi)容可以略講,講授主要將遞歸與非遞歸算法從算法的時間復(fù)雜度上進行比較分析介紹,這樣能夠讓學生更好的理解算法的優(yōu)劣,合理進行算法選擇。還需要讓學生了解如何進行遞歸算法的分析與設(shè)計。
1.2 .3 樹和二叉樹部分
樹和二叉樹是數(shù)據(jù)結(jié)構(gòu)中數(shù)據(jù)元素存在的一對多的關(guān)系,算法設(shè)計相對比較復(fù)雜,學生接受較難,因此,這部分的內(nèi)容主要講授樹和二叉樹相關(guān)的概念、存儲結(jié)構(gòu)、遍歷算法理論、樹與二叉樹的轉(zhuǎn)換、線索二叉樹的算法,哈夫曼樹的應(yīng)用算法,而對于算法實現(xiàn)部分適當展開,深入部分由學生自由拓展。
1.2 .4 圖
圖是數(shù)據(jù)結(jié)構(gòu)中數(shù)據(jù)元素存在的多對多的關(guān)系,這部分內(nèi)容主要講授圖的基本概念、存儲結(jié)構(gòu)、圖的遍歷算法理論、最小生成樹算法理論、最短路徑算法理論以及AOE網(wǎng)與關(guān)鍵路徑基本理論和算法實現(xiàn),深入的算法設(shè)計學生課后實現(xiàn)。
1.2 .5 查找與排序
這部分的內(nèi)容在C語言程序設(shè)計課程中有涉及到一些,因此,講授的時候主要是結(jié)合算法的效率進行分析介紹。
《數(shù)據(jù)結(jié)構(gòu)》課程的內(nèi)容是理論性較強、邏輯性高,學生普遍反映學習比較難的課程。
在講授課程過程中,盡可能的用身邊的客觀問題做實例,讓學生更好的理解相關(guān)的概念和算法。例如:在介紹線性表的順序存儲結(jié)構(gòu)和鏈式存儲結(jié)構(gòu)時,結(jié)合學生到教室上課的座位安排的實例展開。線性表的順序存儲結(jié)構(gòu)如同學生按學號順序從第一排第一個座位開始按順序就坐,而鏈式存儲結(jié)構(gòu)如同學生在教室隨便就坐,但是要保持學生學號的邏輯關(guān)系,因此創(chuàng)建一個指針來記錄下一個學號同學的座位號。在講授樹和二叉樹的概念時,結(jié)合到現(xiàn)實生活中的家族關(guān)系來描述二叉樹中各個結(jié)點之間的關(guān)系等。在介紹圖的概念時,聯(lián)系到城市交通的問題,如:有向圖如同城市道路中的單行道,兩點間的一條邊只能表示一個結(jié)點到另一結(jié)點的單向行駛,而無向圖如同道路的雙行道,兩點間有一條邊則意味著兩地可以相互到達。
在數(shù)據(jù)結(jié)構(gòu)中,有很多概念是相關(guān)聯(lián)的,可以聯(lián)系起來介紹。例如:在介紹線性表的順序存儲結(jié)構(gòu)的優(yōu)缺點時,可以對比介紹鏈式存儲結(jié)構(gòu)的優(yōu)缺點。順序存儲結(jié)構(gòu)執(zhí)行插入、刪除操作的效率低的缺點正是鏈式存儲結(jié)構(gòu)的優(yōu)點。這樣,在講授新內(nèi)容的同時又不忘聯(lián)系前面講授的內(nèi)容,使整門課程的內(nèi)容前后貫通。在數(shù)據(jù)結(jié)構(gòu)課程中,類似相關(guān)聯(lián)的知識點有很多,這樣的對比講授既能讓學生學習新的知識點,又能讓學生回顧前面的知識點,實現(xiàn)課程知識的融匯貫通。
課程配有上機實踐課,每周的理論講授后進行上機設(shè)計操作,布置一些與本周課程相關(guān)的設(shè)計題,讓學生能將當天學到的知識馬上進行實踐操作,有利于知識的鞏固。在上機過程中,對學生進行一對一的指導(dǎo),指導(dǎo)學生解決在實踐設(shè)計過程中遇到的各種錯誤。當錯誤較普遍的時候,在下一次課的講授中集中說明講解。課后學生上交作業(yè),批改后講問題匯總講解。
學校遷到大學城后,由于交通不便、路途遙遠,學生與老師的交流越來越少。師生基本只有在有課的時候才會見面,學生有問題不能得到及時的解決。教務(wù)處提供了數(shù)字課程平臺以彌補這些不足。教師將課件、參考程序上傳到平臺供學生在線閱讀或者下載后閱讀,同時可以利用課程平臺給學生布置作業(yè),設(shè)置提交截止時間,批改學生上傳的作業(yè)并予以回復(fù),并及時上傳作業(yè)參考答案。這樣,師生就可以通過數(shù)字課程平臺進行交流溝通,學生的作業(yè)也能夠得到及時的回復(fù),師生都能了解課程掌握的不足點,這樣有利于教師后期的教學開展和學生的學習。
除了利用數(shù)字化課程平臺,還可以利用電子郵件、QQ等多種網(wǎng)絡(luò)方式進行交流,及時對學生提出的問題提供指導(dǎo)。
《數(shù)據(jù)結(jié)構(gòu)》課程是一門實踐性較強的課程,要更好的考核學生的學習效果就不能僅僅通過期末考試,因此在課程考核方面筆者進行如下設(shè)計:
總評成績=平時成績+期末考試成績
其中:平時成績占30%(出勤與課堂回答問題占10%,平時作業(yè)、上機實踐作業(yè)占20%),期末考試成績占70%。
《數(shù)據(jù)結(jié)構(gòu)》課程改革通過兩個學期的實踐取得初步成效,在教學過程中,實現(xiàn)講授到實踐到反饋的循環(huán)。學生的學習效率得到提高,學習成績也有所提高。以往很多學生都不能通過課程的考核,教學改革后,學生的通過率得到明顯的提高,學生對教學的滿意度也得到較大的提高。但是,筆者還需要在今后的教學中不斷的總結(jié),學習新的教學方法,改進教學效果與質(zhì)量,讓學生真正的學有所成,學有所用。
[1]李春葆,尹為民,等.數(shù)據(jù)結(jié)構(gòu)與算法教程[M].清華大學 出版社,2009,3.
[2]嚴蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)(C語言版)[M].北京:清華大 學出版社,2004,10.
[3]劉海林.《數(shù)據(jù)結(jié)構(gòu)》課程的教學探討[J].廣東技術(shù)師范 大學學報,2008(3).
[4]楊永斌.“數(shù)據(jù)結(jié)構(gòu)”教學策略探討[J].合肥工業(yè)大學學 報,2008,22(3).
[5]王曉榮,王萌.《數(shù)據(jù)結(jié)構(gòu)》課程教學改革研究[J].電腦 學習,2009.
TP39
A
1674-6708(2010)28-0203-02