摘要:本文針對數據結構課程概念多、內容廣、基本原理和算法較抽象,教學和學習的難度大,學生動手能力和創新能力差的特點,提出了采用 “問題—探究”的教學模式進行教學。
關鍵詞:數據結構;“問題—探究”教學模式;知識主題
中圖分類號:TP311.12文獻標識碼:A
文章編號:1672-5913(2007)08-0041-04
Abstract: There are lots of concepts and contents in the course of data structure. Its basic principles and algorithms are abstract. In addition, some students do not have enough creativity and the ability of practice. So the course is difficult to teach or to study. With these problems in mind, this text puts forward the teaching model of problem-inquiry.
KeyWords:data structure;problem-inquiry teaching model; knowledge topic
1 數據結構課程的特點
數據結構是高等學校計算機專業的一門必修的核心課程,不僅是程序設計的重要理論技術基礎,而且是設計和實現編譯程序、數據庫程序、操作系統等系統程序和大型應用程序的重要基礎。數據結構課程的目的和任務是使學生能夠根據實際問題的需要選擇合適的數據結構和算法,提高編寫軟件和提高運用數據結構解決實際問題的能力,并為后續軟件課程提供必要的基礎。數據結構課程內容廣、概念多、難度大、算法編寫復雜、具有很強的抽象性、靈活性和技巧性,因此造成了課程的教學難度大,學生的學習難度也大。
2 傳統教學模式存在的弊端
傳統的數據結構教學方法注重以“知識點”構建知識體系,重視循序漸進的教學模式。采用 “傳遞—接受”的教學模式,即五段教學法(復習舊課、導入新課、講解新知、聯系鞏固、布置作業),采用替代式教學策略,即教師講,學生聽,教師牽著學生的鼻子走,學生極其被動的學習,投入的智力活動和實踐活動少。教學過程中,缺少令學生自主、探索性學習的機會。不利于學生積極性、主動性的發揮和創新能力、實踐能力的培養。這種教學方法存在的缺點如下:
(1)以教師為中心,學生被動接受知識,忽視了學生的主觀能動性和創造性;
(2)按照固有的邏輯順序,各知識點零散的講解,教學內容抽象而凌亂,學生缺乏學習興趣,無法將知識融會貫通,不知道綜合運用知識解決實際問題;
(3)傳統的“填鴨式”教學,學生不能很好地參與教學活動,忽視激發學生思維,忽視學生學習能力的培養;
在傳統的教學模式上,許多學生感覺書上內容很難聽懂,即使聽懂了,一旦自己動手編寫算法,便覺無從下手,寫出的算法結構不清晰,效率低。高分低能的現象普遍存在,學生缺乏實踐動手能力和創造能力。為改變這種現象,改革傳統的數據結構教學模式勢在必行。
3“問題—探究”教學模式的提出
3.1 “問題—探究”教學模式的概述
“問題—探究”教學模式是在“問題解決”教學模式發展的基礎上,吸收當今構建主義的教育思想,借鑒探究性學習的方法建立起來的一種富有活力的教學模式。該模式“以問題為紐帶,以探究為核心”,使學生在提出問題、分析問題、解決問題的探究過程中,通過高水平的思維來學習,基于問題的解決來建構知識、發展智力、提高能力。它的教學思路強調為學生提供一個完整、真實的問題背景,以此為支撐物啟動教學,使學生產生學習的需要。
“問題—探究”教學模式打破了傳統教學中的基本五段式教學,提出了新的教學操作程序,設置問題情境、提出問題——學生探究、尋求問題答案——提出解決問題的方法——教師給出解決問題的方法——實驗、驗證解決方法——交流和評價,使學生從狹窄、單一、被動的學習方式走向廣闊、豐富、具體、主動的學習空間,成為學習的主人,學生的思維能力、創新能力和實踐能力得到有力的培養。
3.2 “問題—探究”教學模式的優勢
“問題—探究”教學模式的優勢主要體現在:
(1)激發學生的學習興趣,學生的學習變“被動”為“主動”;
(2)優化了課堂教學、提高了教學效率,充分調動了學生的積極性;
(3)教師是幫助者、促進者,而不是知識的灌輸者,從而激發了學生的內部學習動力,學生積極主動地參加整個教學過程,增強了他們的成功感和自信心,提高了教學質量;
(4)有利于培養學生的實踐和創新能力;
(5)有利于培養學生綜合運用知識解決實際問題的能力。
4 “問題—探究”教學模式在數據結構課程中的運用
4.1 “問題—探究”教學模式的操作流程
“數據結構”大部分是經典算法的學習,采用“問題—探究”的教學模式旨在將抽象、枯燥的算法置于有趣的問題情境中,增加學習的趣味性,加強算法設計能力的培養過程和實際應用能力的培養過程,提高學生學習的興趣,提高學生分析問題、解決問題的能力,培養學生的創新能力。“問題—探究”教學模式主要有六個環節:設置問題情境、提出問題,學生思考、討論,提出解決問題的方法,教師給出解決問題的方法,驗證解決問題的方法,交流、評價。在六個環節中,設置問題情境、提出問題是非常重要的,教師必須分析各教學單元的教學目標,確定必須學習和掌握的知識“主題”,確定為達到規定的教學目標所需的教學內容和教學順序。通過教學目標的分析,選出當前所學知識中的基本概念、基本原理和基本過程作為知識主題,然后將這些知識主題隱含在一個個的問題中。設計的問題考慮大多數學生所具有的知識水平和解決問題的能力,每次課的問題不宜太大、難易適中,具有可操作性、合理性。一個“好”的問題具有較強的思維啟發性和調動探究的意識。學生對教師提供的問題進行思考、探究,收集資料,并產生一些初步的想法,然后通過與教師和同學的交流、討論,利用自己已掌握的信息來推導該問題的解。以90分鐘作為一教學時間單元,如何在90分鐘課堂內實現“問題—探究”教學模式,具體操作流程見圖4.1所示。

當然,為了提高教學的課堂效率,充分利用課堂90分鐘的時間,教師應該首先把下一堂課所涉及的學習內容提前告知學生,(可以利用課堂10分鐘時間或通過網上交流進行布置),讓學生有充足的時間收集相關的信息,(到圖書館查閱資料,或通過因特網收集信息)。
“數據結構”課程的教學內容主要由“線性表、棧和隊列、串、數組和廣義表、二叉樹、圖、查找、排序”八部分組成,各部分的知識結構見表4.1所示。
4.2 案例分析
教學目標:棧、隊列的綜合應用。理解棧和隊列的定義、特征,掌握在兩種存儲結構上棧和隊列所施加的基本運算的實現。
時間安排:90分鐘
問題設置:停車場管理。設停車場內只有一個可停放幾輛汽車的狹長通道,且只有一個大門可供汽車進出。汽車在停車場內按車輛到達時的先后順序,依次由北向南排列(大門在最南端,最先到達的第一輛車停放在車場的最北端),若車場內已停滿幾輛汽車,則后來的汽車只能在門外的便道上等候,一旦停車場內有車開走,則排在便道上的第一輛車即可開入;當停車場內某輛車要離開時,由于停車場是狹長的通道,在它之后開入車場的車輛必須先退出車場為它讓路,待該輛車開出大門外后,為它讓路的車輛再按原來次序進入車場。在這里假設汽車不能從便道上開走。見圖4.2所示。試設計一個停車場管理程序。

問題探討:學生課后通過到圖書館查閱資料,或通過互聯網搜索相關信息,尋求解題的方法。
教師略講:棧、隊列的特點,棧、隊列的存儲方式,及在存儲方式上插入和刪除算法的實現。
學生討論:將學生分組,根據課外查詢到的資料,討論解決問題的方法,然后提出本組的想法。

教師精講:
(1)分析各分小組提出的方法的可行性和合理性;
(2)分析該問題,給出一種解題的方法;
分析:汽車在停車場內進出是按照棧的運算方式來實現的,棧的特點先進后出,先到的先進停車場,停車場內為某輛汽車讓路,也是按棧的方式進行,汽車在便道上等候是按隊列的方式進行的。因此,將停車場設計成一個棧,便道設計成一個隊列。棧采用順序存儲結構,隊列用鏈式存儲結構。另外,為便于停車場里汽車為要出大門的汽車讓道,設計一個臨時棧,也采用順序結構。
(3)存儲結構定義:
#definestacksize20/*順序棧定義*/
typedef struct
{ int *base;
int *top;
int stacksize;
}park_stack;
typedefstruct qnode/*鏈隊定義*/
{ int data;
struct qnode *next;
}qnode,*queueptr;
typedef struct
{ queueptr front;
queueptr rear;
}linkqueue;
(4)管理算法的描述
① 接受命令和車號,若是汽車要進入停車場,先判斷停車場棧是否滿,若不滿則汽車進入,入棧,否則汽車進入便道等待;
② 若是汽車要離開停車場,將停車場棧上前若干輛車進入臨時棧,為該汽車讓道,車出停車場棧后,臨時棧的車入停車場棧,再看便道上是否有車等待,隊列是否為空,若不為空,有車等待,從對頭取出汽車號,讓該車進入停車場棧;
③ 重復①、②,直到接受退出命令。
(5)管理程序(略)
(6)布置下一次課的問題。
課后要求:(1)驗證管理程序;
(2)經驗交流;
(3)收集資料,探究下一次課的問題的解決方法。
5 結論
如何調動學生學習的積極性,提高學生的學習興趣,增強學生的學習能力、理解能力、實踐動手能力和創新能力,是教師教學的主要任務。“問題—探究”教學模式為此提供了有力的手段。根據筆者多年的教學經驗,采用“問題—探究”教學模式的教學班級比采用傳統教學模式教學的班級的學生具有更活躍的思維、更強的解決問題和實踐動手能力。同時,采用“問題—探究”教學模式教學,對教師也是一個挑戰,教師的角色發生了改變,它對教師提出了更高的要求。
參考文獻:
[1] 嚴蔚敏,吳偉民.數據結構(C語言版)[M].北京:清華大學出版社,2000.
[2] 陳小平.數據結構[M].南京大學出版社,1994.
[3] Torp.L,Sage.S.基于問題的學習—讓學習變得輕松而有趣[M].中國輕工業出版社.2004.
[4] 張華.課程與教學論[M].上海教育出版社.2000.
[5] 余勝泉,楊曉娟.建構主義的教學設計模式[J].電化教育研究.2000.
[6] 盧焱堯.網絡環境下高中數學“問題—探究”型教學模式的理論與實踐研究[J].云南師范大學碩士論文,2005.
[7] 陳汝平.新課程背景下的有效教學[J],重慶師范大學碩士論文,2005.
[8] 胡曉紅.應用“任務驅動”教學提高學生計算機操作能力的研究[J].首都師范大學碩士論文,2005.
[9] 葉萍,姜瑛.研究性學習的原理、方法與實施[M].湖北教育出版社.2003.
[10] 葉讕.讓課堂煥發出生命活力[J].教學參考.1997(4).
作者簡介:鄧會敏(1976-),女,碩士,研究方向為計算機網絡技術,數據庫技術,軟件工程,數據結構。
通信地址:湖南省衡陽市珠暉區酃湖校區,湖南工學院計算機科學系
郵編:421000
E-mail:dhmlqw@yahoo.com.cn
電話:0734-8432325(辦公室)13607342420