摘 要:數據結構課程概念多,理論知識抽象,所以必須通過實驗環節加強對理論知識的理解和掌握,卻一直成為高職計算機教學中的難點。為了提高教學質量,針對該課程在高職院校的教學現狀,探討了在實驗教學中的一些改革方法。
關鍵詞:高職;數據結構;實驗教學
中圖分類號:G424 文獻標識碼:A 文章編號:1006-4117(2012)01-0275-01
數據結構課程是計算機專業的重要基礎課,主要介紹和研究數據在計算機中的存儲和處理方法[1],其實驗課程通過上機實踐,利用C/C++等高級程序設計語言對理論知識進行驗證,達到理解和鞏固理論知識的目的,是整個課程學習中的一個重要環節。
一、高職數據結構實驗課程存在的問題
在傳統的數據結構實驗中,有指定的實驗課教材,記錄了理論課中所有算法的實現程序,由教師向學生詳細講解算法的理解、實現過程和運行結果,學生只要按照教材上機編輯并調試通過,驗證一下結果就可以了。這樣的教學模式使學生毫無學習興趣,也不用動腦思考,并且由于高職學生大多學習基礎較差,對于程序設計語言中的數組、結構體和指針等知識掌握不夠,根本不能理解大量的復雜算法,只是機械的錄入,使上機調試變得十分困難,這就失去了開設該課程的意義。為了能夠更好的發揮實驗課程的作用,使學生提高程序設計能力,理解數據結構研究數據處理方法的意義并掌握基本的算法設計,我針對高職學生特點,在實驗課程的教學內容、教學方法及考核方式進行了初步探索。
二、實驗教學改革的具體措施
為了能夠更好的發揮實驗課程的作用,使學生提高程序設計能力,理解數據結構研究數據處理方法的意義并掌握基本的算法設計,我針對高職學生特點,在實驗課程的教學內容、教學方法及考核方式進行了初步探索。
(一)夯實基礎,彌補先行課知識的不足
由于程序設計語言課程課時少、內容多,學生接受能力差等原因,導致其教學內容往往停留在初級階段,關于數組、指針、循環、結構體等內容,學生沒有成分的時間去理解和吸收,但這些內容是數據結構實驗課必不可少的基礎內容,所以,在課程的初期,教師要帶領學生彌補先行課知識掌握的不足,深入解析指針和循環的有關內容,設計一些簡單的應用數組及結構體編程的任務,讓學生上機獨立完成。這樣不僅可以夯實學習數據結構實驗課程的基礎,達到良好的知識遷移效果,而且可以使學生在完成任務的同時,體會成功,建立學習的興趣和信心。
(二)逐步添加,合理安排教學內容
在數據結構這門課程中,根據數據的不同邏輯結構,又結合數據的存儲結構,總結出數據處理的許多具體算法,在實驗教學中逐一實現所有算法是不必要的也是不實際的。所以教師必須對該課程的知識點進行梳理和規劃,合理安排教學內容,使實驗中的知識點隨著教學進度逐漸增加。
考慮到高職學生的接受能力,實驗的內容不宜選擇較復雜的實驗項目,只要能夠使學生通過典型算法的實現,循序漸進地理解算法的實現方法及后續改進策略,掌握數據結構的本質,提高程序設計能力就可以了。
如C++程序設計語言中的數組與數據結構中順序存儲的線性表是不同的,但學生在學習之初并不能透徹理解二者的差異。教師可以先設置一個對10個整數進行升序排序的算法,學生只要在main()函數中定義int a[11]及循環變量 int i,j,應用循環嵌套就可以實現了,然后教師再增加任務,要求在數組中連續插入若干不同數據,使數組仍然保持升序,并輸出每次數據插入前后數組的狀態。如果學生仍然應用數組,在原程序基礎上修改就會十分繁瑣,并且輸入輸出語句和插入程序代碼不斷重復出現。這時教師再引導學生通過三方面修改程序,首先應用線性表的順序存儲,將數據定義修改為
const int m=50; //設不超過50個數據
struct L{
int list[m];
int n; //n為線性表當前長度
};
其次,針對輸入輸出及插入代碼的不斷重復出現,定義插入、輸入和輸出算法,并添加函數聲明。最后完成主函數的設計。
通過這樣逐漸添加任務要求,可以從完成任務的過程中體會到學習數據結構的意義,掌握算法的具體實現方法,在知識的逐漸積累和更新中,增強學習信心,提高編程能力和理論應用于實踐的能力。
1、組建學習小組,促進學習互助與提高。考慮到高職學生學習水平的差異性及數據結構實驗課程的難度,教師無法在課堂上對程序的編輯、調試及改進做逐一的指導,這樣將造成一部分學生跟不上教學進度,當無法完成任務時就以抄寫實驗報告等方式蒙騙過關,久而久之喪失了學習的興趣和信心。對此可以在教學中組建5人左右的學習小組,將程序設計水平較好的學生與學習困難的學生組織到一起,共同完成各項學習任務,促進學習互助和自主探究,達到實踐水平的共同提高。
2、改變考核方式,保證學習效果。合理的考核方式是數據結構實驗課程取得良好效果的保證,為了切實達到促進學習的目的,要徹底改變過去單純依賴實驗報告定成績的現象,針對課前準備、上機實踐和實驗效果三個方面制定考核標準。要求學生在上機實驗前做好相關知識的預習,完成算法的初步設計,擬定實驗數據,在上機實踐過程中要求學生邊實踐邊記錄所遇到的問題及解決方法,記錄算法的實現和運行結果,實現算法的改進并記錄未解決的問題形成新的記錄報告;對實驗過程及結果及時作出總結,如怎樣設置輸入輸出能改進程序的可讀性,采用哪種存儲結果使算法更加簡單靈活,怎樣定義算法更利于修改等等。總之,教師要針對實驗的各個環節提出具體要求和考核標準,定性定量地從各個方面評定實驗成績,調動學生的積極性和自主性,保證實驗教學的學習效果。
作者單位:營口職業技術學院計算機系
作者簡介:郭洪榮(1974—),女,漢族,遼寧營口人,營口職業技術學院計算機系,講師,計算機專業學士學位,教育學原理碩士學位。
參考文獻:
[1]徐卓群.數據結構[M].北京:中央廣播電視大學出版社,2001.
[2]尹孟嘉.基于增量型的數據結構實驗教學改革[J].計算機教育,2010,11.
[3]連元峰,張秀美,李菊.數據結構實驗教學課程體系研究[J].計算機教育,2011,13.