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