?

如何改進數據結構課程的教學效果

2010-02-17 13:53劉文強顧澤元楊蒙召房春英
中國教育技術裝備 2010年27期
關鍵詞:鏈表數據結構結點

劉文強 顧澤元 楊蒙召 房春英

黑龍江科技學院計算機與信息工程學院 哈爾濱 150027

如何改進數據結構課程的教學效果

劉文強 顧澤元 楊蒙召 房春英

黑龍江科技學院計算機與信息工程學院 哈爾濱 150027

數據結構課程是計算機專業最重要的課程之一。如何改進數據結構課程的教學效果,使得學生能夠更好地掌握數據結構的相關知識,是所有任課教師所面臨的一個重要問題。從4個方面討論改進數據結構課程教學效果的重要措施,不僅可以切實提高教師的教學水平,而且能夠提高學生的實踐能力。通過這些措施,使學生從根本上學好本課程。

數據結構;教學效果;教學水平

10.3969/j.issn.1671-489X.2010.27.057

作者:劉文強,碩士研究生,講師,主要從事算法與數據結構、蟻群算法的理論與應用研究。

Author’s addressComputer and Information Engineering College, Heilongjiang Institute of Science and Technology, Harbin, China 150027

1 引言

數據結構課程是計算機及相關專業的一門重要的專業基礎課程,是計算機專業教學計劃中的核心課程之一,在整個專業教學體系中占有重要地位,是計算機科學的算法理論基礎和軟件設計基礎。

數據結構課程的研究不僅涉及計算機硬件,而且和計算機軟件的研究有著密切的聯系,無論是編譯程序還是操作系統都涉及數據元素在存儲器上的分配問題。因此,學好數據結構課程是學生學習相關后續課程如編譯原理、操作系統和數據庫系統等課程的重要保證,同時也對培養學生分析問題和解決問題的能力和程序設計與開發能力起著至關重要的作用。

由于數據結構課程知識體系復雜,涉及的內容多,一些概念較抽象,理論性強實踐性更強,使得大部分學生在學習本課程時感覺到困難重重,對于一些復雜的算法設計題更是無從下手。這同樣給任課教師提出一個問題,那就是如何改進數據結構課程的教學效果,使得學生能夠更好地掌握數據結構的相關知識呢?筆者在近幾年來的教學過程中發現,改進數據結構課程的教學效果可以從很多方面入手,下面就來介紹一下筆者在這方面的一些心得體會。

2 改進數據結構課程教學效果的幾項措施

2.1 針對不同層次的學生采用不同的教學方法

學生是教學中的主體,目前,隨著各大學的不斷擴招,部分學習能力差的學生也能夠被錄取到大學,那么如何既不減少教學內容,降低教學要求,又能保證教學質量,讓水平不同的學生都能夠掌握數據結構這門課程是當前的一個重要問題,這就需要對不同層次的學生進行因材施教,以得到最佳的教學效果。

針對不同層次的學生,數據結構課程應該使用不同的教學大綱或教材,制定不同的教學內容,采取不同的學時分配和不同的側重點。比如,不同層次的學生包含一本、二本、三本的學生,還包括同一層次不同專業的學生。無論是不同層次還是不同專業,都應該應用不同的教學大綱。對于一本的學生,理解能力、自學能力都比較強,學生基礎好,學習主動性強,師資力量也相對較強,那么在授課內容上應該相對難一些,不應局限在表面內容上,應主要側重于理論的深化和實際的應用上,應該多講解有難度的算法,如動態規劃法等;在課堂教學和實驗教學過程中,把主要的知識點講全,給學生留下大量思考的余地,充分發揮學生的能動性,引導學生對數據結構中的一些算法進行獨立的思考和驗證,并引導學生在學習的過程中能夠應用數據結構的知識解決實際問題。對二本的學生就需要對數據結構中的知識點和所有算法的思路進行詳細的講解和剖析,課堂教學和實驗教學過程中應注重理論的講解和驗證。對三本的學生的要求相對要低一些,學生本身對程序設計掌握得不是很好,因此在上課過程中,為了使學生更好地掌握數據結構中的基本原理和基本概念,教學內容應該相對簡單,而且有所舍取,分清主次,掌握重點,上課更要注重難點的選擇。

2.2 通過良好的語言藝術和生動的例子激發學生的學習興趣

作為一名大學教師,良好的語言藝術是教師教學藝術的一個重要體現,運用得當將會大大激發學生的學習熱情,從而改進教學效果。課堂上,舉出生動的例子來說明問題,同樣可以激發學生的學習興趣,改進教學效果。

實際上,講課可以看成是一門藝術,它也講究“說、學、逗、唱”。

所謂說,指的是課程內容的講述、語言的組織、聲音的感染性等。

所謂學,一是除了組織和備好自己的課以外,還應多聽別人的課,取長補短,將別人之長取來用之,通過別人之短發現自己之短以改之;二是加強相關課程學習,因為往往一門課不是獨立的,幾門課應作為一個課程群(如C語言、C++、數據結構、算法設計與分析等),只有廣泛的學習才能更好理解課程之間的關系,知識點才能展開,才能不是就課講課。

所謂逗,指的是課堂要活躍。只有具備了“逗”的藝術,才能使課講活,才能提高學生聽課質量。但是逗絕對不能跑題,當學生聽得沉悶時,可以給學生講一些有趣的編程問題,一些相關的有趣的前幾屆教學過程中發生的事情等。例如當講到關鍵路徑問題時,一個學生趴下了,筆者會過去把他叫醒,并問:“你的最早睡覺時間和最遲睡覺時間是多少?”可能還會說:“你一天當中除了睡覺還有哪些是關鍵活動???”這樣將課程知識與簡單的生活常識聯系在一起,可以使學生感覺有趣,也可以加深學生的理解。

所謂唱,如果能將所要講授的知識重點編成歌讓學生唱的話,那就是高手。筆者在講紅黑樹時就引用北大張銘老師在講紅黑樹時放的“紅黑樹之歌”,還打出歌詞,的確起到活躍課堂氣氛的作用,至少有一部分精力不集中的學生馬上集中精力了。但這對學習課程本身沒有多大幫助,占課堂一兩分鐘足矣。

由于數據結構課程理論性很強,直接從定義出發講解相關概念學生不易接受,在教學過程中結合日常生活中的事例可大大激發學生的興趣,而調動學生的求知欲。通過引用實例既形象又直觀,進而使學生更加明確結構與算法的作用,提高學生運用算法解決實際問題的能力。

例如,在講授線性表的鏈式存儲結構時,可以直接以女生脖子上帶的項鏈為例進行講解。項鏈解開是一個帶有頭結點的單鏈表,戴上后是一個循環鏈表。還可以嘗試找幾個學生來演示線性表的鏈式存儲。讓所有學生占成一列,每個學生看成是鏈表中的一個數據元素即鏈表中的一個結點,他的兩只手臂可以看成是他所對應的結點的兩個指針域,左手是指向其前驅的指針域,即prior域;右手是指向其后繼的指針域,即next域。如果讓所有相鄰的學生都將他的右手放在他后面同學的肩膀上,這樣就形成一個單鏈表;如果同時把左手放在前一個同學的肩膀上,就形成雙向鏈表結構。在給出這樣一個鏈表的例子之后,學生將大大加深對鏈表基本操作的理解。例如讓指定的學生從隊伍中離開,即鏈表刪除操作;向隊伍里加入一個學生,即在鏈表中插入新結點。原本鏈表的插入與刪除操作是學生很容易出錯的地方,他們記不清結點鏈接和斷開的語句順序。但是,面對學生組成的鏈表,他們很容易理解新結點的插入過程和指定結點的刪除過程,這樣的教學形式既生動,又記憶深刻,比直接給出操作語句要好得多。

再比如在講解棧和隊列這一章時,可以分別舉出日常生活中的事例。如棧的例子,在洗盤子時,依次把每個洗凈的盤子摞到洗好的盤子上面,就相當于進棧操作;取用盤子時,又從上面一個接一個地向下拿,相當于出棧操作。隊列的例子,以學生在食堂打飯為例,所排的隊就是一個隊列,剛來打飯的學生站在隊列的尾部(即進隊),站在隊首的人打完飯后離開(即出隊),當最后一人離隊后,則整個隊列為空。

2.3 理論與實踐相結合,提高學生的編程能力

數據結構是一門理論與實踐結合非常緊密的課程,理論教學與實踐教學并不是完全孤立的兩個教學環節,而是融會貫通的一個一體化的教學過程,理論教學固然重要,但通過實踐讓學生鞏固這些理論知識更為重要,這樣才能使學生真正學會相關知識。但現在大多數高校普遍存在的問題是在理論課堂上學生基本都能聽懂,也能做一些習題,應付期末考試絕對沒問題,但一到上機實驗就會不知所措,不知從何入手,那些編程語言沒學好的學生和對編程不感興趣的學生很容易失去信心,放棄學習,最后只能到處尋求幫助,甚至抄襲別人的實驗。這些問題在教學中經常遇到。

實際上,理論與實踐結合的關鍵是理論教學內容和實踐教學內容的銜接、糅合問題。首先,可以在講完一種數據結構后給出一個或幾個與該數據結構相關的問題,然后引導學生獨立思考,立即自己動手實踐,應用所學的知識在現有算法的基礎上來解決新問題,使學生現學現賣,學了馬上就用,一方面使學生能夠加深對所學知識的理解,另一方面也使學生學會靈活運用知識。同時,學生自己通過變換算法解決了新問題,也會有一種成就感,這可以大大激發學生的學習興趣。其次,在理論課程的教學過程中,還可以把實驗的內容分解,作為每節課的課后作業,讓學生提前準備,然后再上機操作實現,回答相關的問題,會節約不少的時間,效果也要好很多。最后是課程設計,循序漸進,難度不斷加大。這樣從課堂的小試牛刀到課程設計的大展拳腳,學生會在實踐中逐漸加深對理論的理解。

大學本科的學習實際上就是一個理論與實踐相結合的過程,首先是學生對基礎知識和基本理論的掌握,接下來學生要在上機實踐中去驗證這些基礎理論,然后在上機實踐的基礎上加深對理論知識的理解,最后再將理論應用到生產實踐中。如此就完成一個教學周期,這同樣也就是應用型人才培養的模式。

2.4 采用啟發式教學,提高學生的自學能力

目前大多數高校的計算機專業的培養方案中都在逐漸增加一些課程,讓學生有多種選擇,以培養知識面廣、適應能力強的人才。這固然重要,但同時肯定會適當壓縮一些課程的計劃學時,數據結構課程也不例外。如何有效地利用有限的學時,又不影響教學效果呢?一個重要的方面,就是轉變教學組織方法,而啟發式教學特別適合于數據結構這門課程的特點,因為本課程除了給學生講述一些基本的結構及其表示與實現以外,更重要的是提高學生分析問題的能力和學會應用數據結構來解決問題的能力。

啟發式教學,是教師不直接告訴學生新知識,而是為學生學習新知識提供事實、例證等,引導學生探索、發現、遷移、自悟,讓學生自己獲得新知識。啟發式教學可以調動學生的學習主動性,啟發學生獨立思考,發展學生的邏輯思維能力,培養學生獨立解決問題的能力。

啟發式教學在數據結構的教學中對學生邏輯思維的培養非常重要,教師可將許多知識點和算法與啟發式教學相結合,由淺到深地進行引導和講授,并根據學生的反應不斷調整,吸引學生的注意力,激發學生的學習興趣。啟發式教學在應用時一定要靈活,不能限定死。啟發式教學運用得當可以增加學生對本門課程的興趣,但啟發不適當的話,有可能使學生產生畏難情緒,從而影響到本門課程的學習。只有教師對所授內容非常熟練,與學生之間能良好互動,效果才更好。因此,教師應該在課下準備適當的案例,針對不同的學生進行有效的引導,使學生在案例分析和解決的過程中完成對知識點的掌握。

3 結束語

數據結構課程在學科專業中的核心地位要求必須注重該課程的教學。文章從4個方面討論改進數據結構課程教學效果的措施,在課程的教學過程中,只有不斷地發現問題、解決問題,才能切實提高教師的教學水平,進而提高學生的實踐能力,使學生從根本上學好本課程。

[1]嚴蔚敏,吳偉民.數據結構(C語言版)[M].北京:清華大學出版社,1997:3-4

[2]劉文強,顧澤元.在數據結構課程教學中的若干問題及其對策分析[J].中國現代教育裝備,2009(3):89-91

[3]郭方玲,吉海珍.啟發式教學[M].青島:青島出版社,2006:16-17

How to Improve Teaching Effect of Data Structure Course

Liu Wenqiang, Gu Zeyuan, Yang Mengzhao,Fang Chunying

Data structure course is one of the most important courses in specialized subject of computer. How to improve the teaching effect of the course, and enable students to grasp the related knowledge of the data structure is a major problem, which all teachers are facing up to.This paper discusses important measures of enhancing teaching effect in data structure course from four aspects. Not only can effectively improve the teaching level of teachers, but also can improve the practical ability of students. Only through these ways can students grasp this course well.

data structure; teaching effect; teaching level

G642

B

1671-489X(2010)27-0057-03

猜你喜歡
鏈表數據結構結點
基于二進制鏈表的粗糙集屬性約簡
跟麥咭學編程
基于鏈表多分支路徑樹的云存儲數據完整性驗證機制
Ladyzhenskaya流體力學方程組的確定模與確定結點個數估計
“翻轉課堂”教學模式的探討——以《數據結構》課程教學為例
高職高專數據結構教學改革探討
鏈表方式集中器抄表的設計
TRIZ理論在“數據結構”多媒體教學中的應用
《數據結構》教學方法創新探討
基于Raspberry PI為結點的天氣云測量網絡實現
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合