□徐天為
( 山西林業(yè)職業(yè)技術(shù)學(xué)院,山西 太原 030009)
《數(shù)據(jù)結(jié)構(gòu)》在計算機專業(yè)中是一門邏輯性強、抽象性高的專業(yè)基礎(chǔ)課,是介于數(shù)學(xué)、計算機硬件和計算機軟件之間的一門綜合性核心課程,主要研究非數(shù)值計算的程序設(shè)計問題中計算機操作對象以及它們之間的關(guān)系和操作等?!稊?shù)據(jù)結(jié)構(gòu)》也是一門理論性很強的課程,學(xué)習(xí)《數(shù)據(jù)結(jié)構(gòu)》可以為理解程序、應(yīng)用和開發(fā)程序提供技術(shù)和方法支持,進而使學(xué)生學(xué)會使用計算機有效地組織、存儲和處理數(shù)據(jù)來解決實際問題的方法。
高職教學(xué)的主要目標是培養(yǎng)高級技術(shù)應(yīng)用型人才,實踐能力的培養(yǎng)是重中之重,《數(shù)據(jù)結(jié)構(gòu)》卻重在理論。而高職學(xué)生的自身特點決定了理論性課程的教學(xué)難度較大,其概念的抽象性、算法的經(jīng)典性和復(fù)雜性、描述語言的先進性,導(dǎo)致在教學(xué)中,理論教學(xué)和實踐教學(xué)不能很好的結(jié)合起來,加上學(xué)生的基礎(chǔ)薄弱,學(xué)習(xí)起來難度特別大,被認為是高職計算機課程中最難學(xué)習(xí)的課程之一。
“C語言程序設(shè)計基礎(chǔ)”是數(shù)據(jù)結(jié)構(gòu)的前導(dǎo)課程之一,學(xué)生對C語言程序設(shè)計的掌握程度直接關(guān)系到數(shù)據(jù)結(jié)構(gòu)課程的課堂授課和上機實驗的教學(xué)效果?!俺绦蛟O(shè)計基礎(chǔ)與C語言”是學(xué)生接觸到的第一門編程語言,編程思想與以往的思維方式不同。其中,指針、結(jié)構(gòu)體和數(shù)組等知識點是“程序設(shè)計基礎(chǔ)與C語言”中的教學(xué)難點。通過一學(xué)期的學(xué)習(xí)難以熟練掌握融會貫通并具有較高的編程能力,對函數(shù)、函數(shù)的返回值、函數(shù)的參數(shù)、調(diào)用的理解也不夠深入,對遞歸及遞歸過程更是難以理解。致使教學(xué)效果不理想,學(xué)生甚至喪失對該課程學(xué)習(xí)的興趣和信心。這些知識點在數(shù)據(jù)結(jié)構(gòu)課程中會頻繁應(yīng)用,而熟練掌握這些知識點是在數(shù)據(jù)結(jié)構(gòu)課程中理解理論算法和完成上機實驗的重要保證。
《數(shù)據(jù)結(jié)構(gòu)》課程本身邏輯性強、抽象性高。因此在多年的教學(xué)實踐中發(fā)現(xiàn), 學(xué)生認為這門課程理論性太強、不好學(xué),學(xué)了不知有什么用、怎么用;當面對具體問題時,不知該如何應(yīng)用學(xué)過的知識來給出切實可行的解決方案以及編制程序,得到正確的結(jié)果。
要解決上述問題, 首先要加強理論教學(xué),教師在教學(xué)過程中盡量多采用一些動態(tài)效果來描述算法的思想,使學(xué)生易于接受和理解, 并加深印象;其次盡可能多地將前后內(nèi)容聯(lián)系起來從中尋找一些規(guī)律進行歸納提煉和使其系統(tǒng)化,使學(xué)生能較好地理解各個知識點間的聯(lián)系,從而“削減”課程的復(fù)雜度;最后通過合理、有效地設(shè)計實驗內(nèi)容,來強化理論教學(xué)的效果。具體措施如下:
熟悉相關(guān)課程的知識點。授課前要了解學(xué)生的前導(dǎo)課程“程序設(shè)計基礎(chǔ)與C語言”的學(xué)習(xí)掌握情況。應(yīng)與“程序設(shè)計基礎(chǔ)與C語言”的授課教師做好教學(xué)的溝通工作,做好課程之間的銜接,將數(shù)據(jù)結(jié)構(gòu)課程中經(jīng)常用到的知識點重點講授并加強上機實踐。在講數(shù)據(jù)結(jié)構(gòu)算法之前復(fù)習(xí)C語言中的指針、結(jié)構(gòu)體和函數(shù)等知識點;布置涉及這些知識點的課外編程作業(yè),通過作業(yè)批改發(fā)現(xiàn)學(xué)生存在的問題然后集體重點講解;要求學(xué)生在課余時間認真復(fù)習(xí)C語言,在本課程的教學(xué)過程中,同時設(shè)置、討論、檢查C語言相關(guān)內(nèi)容題目,穿插教學(xué)、溫故知新。
采用授課與設(shè)問相結(jié)合的教學(xué)方法,提升學(xué)生的學(xué)習(xí)興趣。教學(xué)中強調(diào)學(xué)生思考,針對基礎(chǔ)不同的學(xué)生采用不同提示和設(shè)問,提高學(xué)生的學(xué)習(xí)信心。除此之外,還應(yīng)根據(jù)學(xué)生對基礎(chǔ)內(nèi)容的掌握情況來設(shè)計上機實踐內(nèi)容,采用對不同學(xué)生進行不同提示和設(shè)問的教學(xué)方法,在實驗過程中充分發(fā)揮每個學(xué)生的思維能力和實踐能力,通過實驗, 使每個學(xué)生都有不同程度的收獲,以提高他們對該課程學(xué)習(xí)的自信心。
通過實例教學(xué)調(diào)動學(xué)生學(xué)習(xí)興趣。所謂“實例教學(xué)”,就是對課程中的重點、難點內(nèi)容,選配適當?shù)睦}、運用恰當?shù)谋扔鬟M行演示和說明,把抽象的內(nèi)容具體化、形象化,幫助學(xué)生理解掌握這些內(nèi)容,并適當加以引申,引導(dǎo)并激發(fā)學(xué)生作進一步的思考和探索。在教學(xué)過程中, 應(yīng)結(jié)合學(xué)生實際,結(jié)合日常生活中實例的現(xiàn)象進行比喻說明,使用更加通俗、形象、生動、直觀的教學(xué)語言和教學(xué)方法進行講授,注重激發(fā)學(xué)生的學(xué)習(xí)興趣,更有效地幫助學(xué)生理解和掌握課程內(nèi)容。通過比較有趣的實例,學(xué)生可以較容易地理解一個較復(fù)雜的知識點,在理解的過程中獲得成就感,從而更大程度地激發(fā)他們的求知欲望,逐步形成一個良性循環(huán)的學(xué)習(xí)過程,激發(fā)繼續(xù)學(xué)習(xí)的欲望。
例:在講解棧和隊列的概念時,分別舉出日常生活中的事例。如棧的例子,穿、脫衣服時, 一層一層往身上穿相當于進棧,脫衣服時,又反過來一層一層地向外脫相當于出棧。隊列的例子,在公交車進站時, 按照先后順序依次進行排隊等候,相當于進隊;公交車出站時,又從站內(nèi)一個接一個地出站,相當于出隊。人們?yōu)榱速徫飼r所排的隊就是一個隊列,新來購物的人接到隊尾( 即進隊),站在隊首的人購到物品后離開( 即出隊),當最后一人離隊后,則整個隊列為空。
設(shè)計綜合性實驗內(nèi)容, 提高學(xué)生實踐創(chuàng)新能力。綜合理論教學(xué)和實踐教學(xué)的結(jié)果, 組織學(xué)生以小組為單位,布置綜合性的題目, 或者由學(xué)生自己尋找感興趣的題目,教師引導(dǎo)學(xué)生全面、綜合地運用所學(xué)的基礎(chǔ)知識來解決實際問題, 如開發(fā)一套具有借書、還書、查詢、統(tǒng)計等功能的圖書管理系統(tǒng);或編一個學(xué)生愛玩的游戲等,使學(xué)生進一步掌握數(shù)據(jù)結(jié)構(gòu)的應(yīng)用和軟件開發(fā)的方法, 提高學(xué)生分析問題、組織數(shù)據(jù)、解決實際問題的能力。學(xué)生在整個過程中,可以相互討論、交流,充分發(fā)揮學(xué)習(xí)積極性, 發(fā)揮團隊精神,共同進步。實驗過程中,及時了解學(xué)生對知識的掌握情況、題目的完成情況和學(xué)生意見, 有利于及時調(diào)整教學(xué)方法,提高教學(xué)效果。
注重知識點的分類比較、適時總結(jié)?!稊?shù)據(jù)結(jié)構(gòu)》課程中很多內(nèi)容是具有類比性的, 在具體教學(xué)過程中需要把握這個特點, 充分挖掘出內(nèi)容相關(guān)的知識點進行分類對比。如對于《數(shù)據(jù)結(jié)構(gòu)》內(nèi)部排序的學(xué)習(xí),總共要講述近十種排序方法,對于每一種排序方法都要講清楚排序算法的執(zhí)行原理、算法的執(zhí)行效率、算法的執(zhí)行步驟以及所需存儲空間的情況。在教學(xué)過程中可以對所有算法從時間復(fù)雜度、空間復(fù)雜度、穩(wěn)定性等方面進行列表、歸類、對比;然后給出具體的一組待排序數(shù)值序列用不同的排序方法通過多媒體演示的方法分別進行排序,學(xué)生就可以輕松掌握各種排序方法。《數(shù)據(jù)結(jié)構(gòu)》課程中有很多內(nèi)容是層層遞進, 前后聯(lián)系的, 應(yīng)做到舉一反三,適時總結(jié)。這就要求在教學(xué)過程中要承前啟后、不斷總結(jié)、及時復(fù)習(xí)、注重理解,把有聯(lián)系的內(nèi)容相互串聯(lián)起來形成一個完整的知識體系。
就業(yè)為主導(dǎo),推行證書教育。高職學(xué)生的教育是以就業(yè)為主旨的,從“一切為了學(xué)生的學(xué)習(xí)和就業(yè)”的角度出發(fā),應(yīng)努力推行證書教育,為學(xué)生的高質(zhì)量就業(yè)增加一個砝碼。目前計算機行業(yè)中最權(quán)威的認證就是“全國計算機技術(shù)與軟件專業(yè)技術(shù)資格(水平)考試”, 而《數(shù)據(jù)結(jié)構(gòu)》是考試的重要內(nèi)容,因此可以推薦學(xué)生參加此類資格考試??荚囍械拇罅克惴ň鶃碜浴稊?shù)據(jù)結(jié)構(gòu)》這門課程。所以在《數(shù)據(jù)結(jié)構(gòu)》教學(xué)過程中,根據(jù)資格考試的大綱要求,切合學(xué)生實際,增加部分教學(xué)內(nèi)容,讓學(xué)生為參加資格考試提前準備。
由于《數(shù)據(jù)結(jié)構(gòu)》課程在計算機專業(yè)課程中的重要性,及其較強的理論性和實踐性,通過進行合理、有效、系統(tǒng)地組織教學(xué)及實驗,形成一個以教學(xué)方法、內(nèi)容和手段為一體的教學(xué)體系的改革,才能有效地提高教學(xué)效果,進一步提升學(xué)生學(xué)習(xí)《數(shù)據(jù)結(jié)構(gòu)》的積極性,提高分析問題和解決問題的能力。
參考文獻:
[1]嚴蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)(C 語言版)[M].北京:清華大學(xué)出版社,1997.
[2]嚴蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)習(xí)題集(C 語言版)[M].北京:清華大學(xué)出版社,1999.
[3]李春葆.數(shù)據(jù)結(jié)構(gòu)教程(第3版)[M].北京:清華大學(xué)出版社,2009.