摘要:針對石油專業(yè)“數(shù)據(jù)結(jié)構(gòu)”教學中存在的問題,在分析數(shù)據(jù)結(jié)構(gòu)課程的特點、教學現(xiàn)狀的基礎上,提出相應的實施措施。教學實踐表明,此教學方式能夠彌補傳統(tǒng)教學的不足,有利于于培養(yǎng)學生的邏輯思維和數(shù)據(jù)抽象能力。
關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu);教學改革;教學手段
“數(shù)據(jù)結(jié)構(gòu)”是計算機科學中的一門綜合性專業(yè)基礎課,是信息科學的核心課程,是研究非數(shù)值計算的程序設計問題中計算機操作對象以及它們之間的關(guān)系和操作等的一門學科。主要是培養(yǎng)學生分析數(shù)據(jù)、組織數(shù)據(jù)的能力。我校的部分專業(yè),如資信、電子以及管理等專業(yè)都開設了數(shù)據(jù)結(jié)構(gòu)課程;部分沒有開設本課程的院系學生有時也主動旁聽數(shù)據(jù)結(jié)構(gòu)課程。由于數(shù)據(jù)結(jié)構(gòu)具有較強的理論性和實踐性,不同專業(yè)的學生特別是非計算機專業(yè)學生在教學過程中,無論是理論課程還是實踐過程確實存在一定的困難。筆者作為該課程的主講教師,結(jié)合自己在數(shù)據(jù)結(jié)構(gòu)教學中的一些體會,談談對目前教改的認識。
1數(shù)據(jù)結(jié)構(gòu)教學中存在的問題
1.1前導課程“欠債”較多
“數(shù)據(jù)結(jié)構(gòu)”的前導基礎課程是“C語言程序設計”和“離散數(shù)學”。我校有多個院系開設C語言課程,不同院系所開設的“C語言程序設計”的教學內(nèi)容和教學要求并不完全一致。許多非計算機專業(yè)的學生一般在學習本課程之前并未經(jīng)過嚴格的程序設計基礎訓練,教師為了教學進度采取“填鴨”式的教學方式,導致學生對C語言理解不深,特別是指針、結(jié)構(gòu)體、聯(lián)合體以及函數(shù)等知識點,而這些又傳遞影響到數(shù)據(jù)結(jié)構(gòu)的教學。另外“離散數(shù)學”是學習“數(shù)據(jù)結(jié)構(gòu)”的基礎課程之一,但是由于課時不足,目前我校非計算機專業(yè)均未開設這門課。
1.2教學與專業(yè)背景脫節(jié)
“數(shù)據(jù)結(jié)構(gòu)”是一門理論性、抽象性很強的課程,教學中一定要將課程內(nèi)容與學生專業(yè)背景相融合,讓學生結(jié)合專業(yè)知識加深對理論的理解,同時也讓學生真正體會到數(shù)據(jù)結(jié)構(gòu)理論是為專業(yè)實踐服務的。但在目前的教學實踐中,教師只注重學生課堂理論知識的掌握,在面向不同的專業(yè)的學生時采用相同的教學案例,這使非計算機專業(yè)學生很難產(chǎn)生“共鳴”,教學效果自然達不到理想的目標。
1.3教學重點模糊
在目前的教學過程中,無論是計算機專業(yè)還是非計算機專業(yè)都沒有結(jié)合專業(yè)著重加強相應的知識點的教學。如我校的地球物理與信息工程學院就包括了測井、勘探、攝影測量與遙感等學科方向,而數(shù)據(jù)處理在測量工作中是最重要的一個環(huán)節(jié)。對測量數(shù)據(jù)處理往往需要解大型的方程組,這涉及到稀疏線性方程的壓縮存儲問題,可以采用三元組順序表和十字鏈表的方式。因此在測井專業(yè)的教學內(nèi)容上,應該將稀疏矩陣作為一個重點內(nèi)容,為后續(xù)專業(yè)知識的學習奠定一些基礎。
1.4教學內(nèi)容取舍不當
目前我校數(shù)據(jù)結(jié)構(gòu)的教學內(nèi)容基本相同,沒有根據(jù)專業(yè)具體情況注意內(nèi)容的取舍。計算機專業(yè)數(shù)據(jù)結(jié)構(gòu)為56課時,并有16課時的課程設計;其他非計算機專業(yè)的數(shù)據(jù)結(jié)構(gòu)課時為56課時,其中有8課時實驗課,但沒有數(shù)據(jù)結(jié)構(gòu)課程設計。在這種的情況下,讓學生系統(tǒng)地掌握數(shù)據(jù)結(jié)構(gòu)的基本內(nèi)容,在教學內(nèi)容的選擇上必須注意取舍,一些理論性太強,在專業(yè)內(nèi)應用面不夠廣泛的內(nèi)容就可以舍棄,如廣義表、動態(tài)存儲管理以及外部排序等內(nèi)容。
2 “因?qū)I(yè)施教”的教學過程研究
2.1加強以數(shù)據(jù)結(jié)構(gòu)為核心的課程群建設
目前,國內(nèi)高校在數(shù)據(jù)結(jié)構(gòu)課程教學研究中的實驗教學方法、教學模式和教學內(nèi)容優(yōu)化等方面取得了一些實踐性成果,但在課程綜合體系建設方面仍然有一些不足[1]。非計算機專業(yè)教學時尤其要強調(diào)數(shù)據(jù)結(jié)構(gòu)與其他相關(guān)課程的緊密銜接,并將離散數(shù)學、數(shù)據(jù)庫、操作系統(tǒng)、圖形學、圖像處理等課程的主要知識點分散、穿插、融入到數(shù)據(jù)結(jié)構(gòu)的教學中,從而優(yōu)化整個課程體系結(jié)構(gòu)。
2.2面向不同專業(yè)學生的數(shù)據(jù)結(jié)構(gòu)教學方法研究
教學是以學生為主體,教師為主導的過程。教學方法是否適當,是否適合教學對象,是影響教學效果的關(guān)鍵部分?,F(xiàn)有的主要教學方法包括[2]:啟發(fā)式教學法、任務驅(qū)動教學法、案例教學法以及討論式教學法等。每種方法只適合應用于某些特定的情形,課題組根據(jù)不同的專業(yè)的教學內(nèi)容和教學對象,采取了不同的教學方法。例如,計算機專業(yè)、電子專業(yè)的學生采用啟發(fā)教學方法,教學中注意講解知識點時要盡力去打破學生頭腦中的“平靜”,激發(fā)學生思維活動,引導學生提出問題、分析問題和解決問題,歸納總結(jié)出一般規(guī)律或概念[3]。這種方法注重培養(yǎng)學生的科學思維方式,激發(fā)學生學習的積極性和創(chuàng)新精神。根據(jù)多年的教學經(jīng)驗,石油勘探專業(yè)適合于任務驅(qū)動教學法??碧綄I(yè)具有很強的專業(yè)背景,教師根據(jù)勘探專業(yè)教學大綱要求,精心設計地震數(shù)據(jù)處理實例任務,將教材中每個章節(jié)的重點、難點內(nèi)容專業(yè)化、具體化、形象化、采用任務驅(qū)動法對數(shù)據(jù)結(jié)構(gòu)課程展開教學。管理專業(yè)以及測井專業(yè)采用案例教學法。圍繞教師所提供的測井系統(tǒng)軟件案例,學生在教師的引導下,積極進行閱讀、思考、分析、討論和實踐,從而達到深刻理解問題的原理和本質(zhì),提高分析問題和解決問題的能力,養(yǎng)成探究性的學習態(tài)度的目的。我校案例教學具體實施地點在多媒體教室,學生每人配備一臺機器,能夠完成實時網(wǎng)絡教學任務。
2.3面向不同專業(yè)學生的數(shù)據(jù)結(jié)構(gòu)教學內(nèi)容改革
針對不同院系制訂合理的數(shù)據(jù)結(jié)構(gòu)教學內(nèi)容,評估教學內(nèi)容的取舍方案,通過突出重點內(nèi)容,充實數(shù)據(jù)結(jié)構(gòu)的專業(yè)應用環(huán)節(jié)。例如,測井專業(yè)的教學內(nèi)容除了稀疏矩陣的應用外,由于測井信息通道不斷增加,傳輸?shù)臄?shù)據(jù)量越來越大,必須對采集的數(shù)據(jù)在傳輸前后分別進行壓縮。哈夫曼編碼在測井數(shù)據(jù)的無損壓縮方面發(fā)揮著重要作用。另外,在勘探專業(yè)地質(zhì)建模中,通常需要對大規(guī)模地震數(shù)據(jù)進行分析以發(fā)現(xiàn)地下潛在可能的油氣資源。地震數(shù)據(jù)的存儲,八叉樹是一種有效的方法。最短路徑在井間地震層析成像開發(fā)中發(fā)揮著重要作用。因此,在講解二叉樹的基礎內(nèi)容時,有必要擴展一些八叉樹的知識;在講解圖的應用時要注意結(jié)合井間地震數(shù)據(jù)層析成像的實際例子。
2.4面向不同專業(yè)學生的數(shù)據(jù)結(jié)構(gòu)實踐教學改革
實踐教學是課堂理論教學的延伸和補充。培養(yǎng)并提高學生的實踐能力是數(shù)據(jù)結(jié)構(gòu)課程的基本目標。不同專業(yè)學生學習的側(cè)重點相同。例如,電子專業(yè)在學習計算機語言時側(cè)重硬件方面的應用,缺乏計算機程序設計基礎訓練,軟件工程的概念不強;管理專業(yè)、測井專業(yè)以及勘探專業(yè)學生具有較好的軟件編程基礎,但邏輯抽象能力特別是面向?qū)ο蠓治雠c設計能力欠缺。即便是同一專業(yè)的不同學生,他們的學習主動性和學習能力各不相同。如果采用“一刀切”式的尺度要求所有同學,往往起不到良好的教學效果。為了達到“因?qū)I(yè)施教”的目的,在進行“數(shù)據(jù)結(jié)構(gòu)”實踐教學時,課題組采用層次化設計思想,把實驗自下而上分為概念基礎層、應用基礎層、應用提高層和綜合層四個層次[4]。在進行試驗教學時,管理、電子專業(yè)同學以概念基礎層、應用基礎層實驗為主,適當增加綜合層設計題目,以提高學生軟件工程的意識。如測井專業(yè)學生以應用基礎層試驗為主,以測井工程中的具體問題為背景,強調(diào)理論與實踐的結(jié)合,使同學們體會到“數(shù)據(jù)結(jié)構(gòu)”是一門抽象理論與實踐緊密聯(lián)系、非常有趣味的課程,從而激發(fā)同學們的學習興趣;勘探專業(yè)學生實踐教學圍繞理論課的綜合層設計任務展開,各任務之間要耦合緊密,形成循序漸進的梯度,組成一個“任務鏈”。將同學們分為3~4人一組,確定小組成員的角色與任務。在這個過程中教師應該提供必要的與勘探數(shù)據(jù)處理相關(guān)的學習資料、參考方法等,為學生完成任務提供資源支持,使學生透徹理解各種數(shù)據(jù)對象的特點,學會數(shù)據(jù)的組織方法和實現(xiàn)方法,選擇合適的數(shù)據(jù)結(jié)構(gòu),甚至改造基本的數(shù)據(jù)結(jié)構(gòu),并進一步培養(yǎng)學生良好的程序設計能力。
3結(jié)語
“數(shù)據(jù)結(jié)構(gòu)”這門課程在計算機科學與技術(shù)中的地位舉足輕重,也是石油相關(guān)專業(yè)的一門必修課程。教師在教學過程中,應當積極探討,尋找有效的教學方法,充分調(diào)動學生的學習積極性,提高學生的學習興趣,才能使學生真正學好“數(shù)據(jù)結(jié)構(gòu)”。在非計算機專業(yè)學時少以及前序課程不足等因素的限制下,完成數(shù)據(jù)結(jié)構(gòu)課程的教學工作并取得滿意的教學效果,是一個具有挑戰(zhàn)性的課題。本文綜合實際教學經(jīng)驗在教學方法和實驗方法上提出了一些方法和原則,從我校多年的數(shù)據(jù)結(jié)構(gòu)教學實踐看,采取了這些措施和方法后,學生明顯感到數(shù)據(jù)結(jié)構(gòu)好學多了,教學效果得到了顯著提高。
參考文獻:
[1]