?

非計算機專業“數據結構”課程教學問題與研究

2015-02-13 19:52周瑋,盧彪
陰山學刊(自然科學版) 2015年3期
關鍵詞:非計算機專業數據結構

非計算機專業“數據結構”課程教學問題與研究

周瑋,盧彪

(宿州學院 信息工程學院,安徽 宿州 234000)

摘要:本文主要討論了數據結構課程教學在非計算機專業中存在的問題,并針對這些問題給出了一種解決方案,對等教學法,以提高教師的教學生動性,增強學生的理解能力和動手能力,從而真正達到提高數據結構這門課程在非計算機專業的教學質量。

關鍵詞:數據結構;非計算機專業;對等教學

收稿日期:*2015-03-27

作者簡介:周瑋(1985-),女,湖南省永順人,碩士,研究方向:電信運營商計算機網絡建設與發展。

中圖分類號:G642.0文獻標識碼:A

1“數據結構” 在非計算機專業課程教學中的重要性

數據結構是計算機專業中的一門核心課程,在非計算機專業的很多學科中也有著廣泛的應用,例如:在地理信息系統、生物信息技術、會計學等非計算機專業學科中都開設了數據結構的必修課程,需要用到數據結構的知識作為技術手段解決問題。例如:在生物信息學中,對基因、蛋白質的序列比對過程中,由于基因、蛋白質序列數據的復雜性,信息數據十分龐大,這時候就需要借助到計算機技術對這些信息抽象成電子數據再進行處理,這些數據抽象和處理的過程都會用到數據結構的知識去具體地解決問題。因此,在非計算機專業學科中做好數據結構的教學工作是一件十分重要的事情。

2“數據結構” 在非計算機專業課程教學中存在的問題

數據結構課程的特點是知識點多,概念之間聯系緊密,算法抽象難懂,要求學生具有較強的邏輯思維能力,給學生學習帶來一定困難,使用傳統的教學模式,教學效果很不理想[1]。鑒于數據結構課程教學的重要性,近年來,對數據結構教學改革方面的研究也越來越引起人們的重視,也有很多論文提出了各種各樣數據結構課程教學改革的教學方法和技術手段[2]。例如:采用多媒體的教學環境,變革現有的教學方法,注重教學實踐環節,更新現有的教材內容,采取啟發式教學,加強學生的變成能力[2-4]等。這些文章從不同的視角,根據當前在數據結構教學中存在的問題去解決問題,提高學生的理解能力和解決問題的能力,有益于數據結構課程教學的開展和實施。但是,這些研究方法和教學手段更多是針對計算機專業的學生,而要應用到非計算機專業的學生中去,存在著不小的問題。

數據結構作為計算機專業的基礎課程之一,與計算機專業的其他基礎課程有著緊密的聯系,例如,程序設計語言、計算機體系結構、編譯原理等基礎課程都涉及數據結構的具體實現,對學習和理解數據結構這門課程起了十分重要的作用。對于非計算機專業的學生來說,由于沒有系統地學習計算機專業知識,在學習數據結構這門課程的時候,會存在一定層面知識的斷裂,學習起來會遇到有異于計算機專業學生存在的困難。因此,本文主要探討數據結構課程教學在非計算機專業學生中存在的問題和解決的途徑。

2.1系統的計算機專業知識的缺乏

對一些非計算機專業的學生來說,雖然開設了數據結構的課程,并且也開設了計算機基礎、程序設計語言等課程,但是數據結構還與計算機專業的很多核心課程有著不可割舍的聯系,而這些課程的學習,對理解和掌握數據結構的基礎知識和實現原理有著重要的作用。首先,數據結構課程的內容本身就涉及到很多其他計算機專業課程的知識。例如,數據結構中樹、圖這些作為單獨章節出現的內容,在計算機專業中有專門的圖論這門課程去闡述。所以,在數據結構的樹、圖這些章節的內容相對于圖論更加抽象和概括,對于非計算機專業的學生來說,想要在課堂時間內理解和掌握這些內容是十分困難的。而樹和圖又是數據結構的重點內容,在這兩章中,還涉及到很多定理和算法,對非計算機專業的學生來說,由于只學習了基本的程序設計課程知識,不具備更進一步計算機知識的儲備,因此,對算法設計的思想理解起來存在一定的問題。而這其中幾個經典的算法[5]:樹的遍歷、dijkstra、prim等算法本身比較抽象,從以往的教學經驗來說,如果只掌握了基本的程序設計知識,不懂得算法設計的基本思想,學生很難具體掌握。

2.2數據結構知識和本專業知識的割裂

對計算機專業的學生來說,數據結構作為計算機專業的一門核心課程,和計算機專業的很多課程都是相輔相成的。學習了計算機的其他基礎課程,對數據結構課程的學習有一個加強和提神的過程;學習了數據結構,同樣也對其他計算機專業知識的學習會帶來一定的幫助。

例如,如果要理解數據結構中鏈式存儲結構和順序存儲結構的概念,如果知道計算機體系結構的知識,了解尋址方式,就不難理解這兩者之間的區別。所以,對計算機體系結構專業知識的學習會對數據結構課程的學習有一定的促進作用。而對非計算機專業的學生來說,在平時的專業課程學習的過程中,除了計算機基礎知識和程序設計語言的學習,很少會涉及到其他計算機課程的學習,這樣就造成了計算機知識和本專業知識的割裂。在本科階段,對本專業的課程學習來說,很少會用到數據結構的知識;而對數據結構這門課程來說也基本上用不到非計算機專業的課程知識。這樣就導致了非計算機專業的學生不知道為什么要學習數據結構這門課程,也意識不到數據結構這門課程的重要性,自然在學習的過程中不會端正態度,影響了學習效果;并且在學習的過程中,數據結構的課程知識也和平常學習到的專業知識有很大的區別,例如,對于電子商務、會計學等學科的專業知識,學生平時的學習更重要的是掌握規則,而對于數據結構來說,光憑死記硬背是沒有用的,重要的是思想和創造性。學生在學習的過程中卻很少注意到這點,經常會將自己在學習本門專業學科知識的方法去套用到數據結構的課程學習中,而很多時候這些方法是不適用的。

從以往的教學經驗來說,很多非計算機專業的學生在學習算法的時候往往不是去理解算法的思想,而是設法去死記硬背,這樣在學習完后面的內容之后往往忘記了前面的內容,并且在程序作出小小的改動之后學生就無所適從了。

2.3課程實踐和編程能力的缺失

對非計算機專業的學生來說,計算機編程能力是薄弱的一個環節。在對計算機專業學生數據結構課程的教學過程中,在遇到抽象的算法或學生無法理解的時候,講解代碼和通過上機實驗,布置課程實踐等方式都可以有效地加強學生對知識的理解。而對非技術專業的學生來說,本身他們閱讀代碼的能力就十分有限,如果要通過上機和課程實踐的方式來輔助教學的話,不但起不到加強學生理解知識的能力,反而有可能會造成學生新的學習問題,影響教學效果。例如,在對數據結構棧、隊列等數據類型的教學過程中,對計算機專業的學生可以讓他們上機編程去實現棧、隊列等數據類型,并且可以直接用程序來描述出棧、入棧、出隊、入隊等操作的實現過程;而對非計算機專業的學生來說,如果用以上方法來實現,還要綜合考察學生的編程能力、算法思想等因素,而非計算機專業學生往往又無法掌握這些要素,因此,實際操作具有很大的困難。

3“數據結構” 在非計算機專業課程教學改革中的措施和建議

數據結構作為一門成熟的計算機專業核心課程,其教學體系和教學手段已趨于成熟?,F今的高校也存在著很多的數據結構的教材和教學體系,而對非計算機專業的數據結構的教學手法卻鮮有研究。因此,本文根據計算機專業數據結構教學的相關研究,參照了美國IEEE ACM教學計劃CC2001-2004和國內的數據結構教改方面的論文,針對數據結構在非計算機專業課程教學中存在的問題,提出以下幾點措施和建議:

3.1對等教學

PI(peer instruction)教學方法一種以學生為中心的主動學習方法,學生對知識的獲取不是經由傳統的老師講授的方式,而是需要自己參與到課堂教學中,通過課堂討論自主解決問題,構建自己的思想的一種同伴教學方法。在國外,PI教學方法已被證明在中學課程的一些基礎學科,如物理學和生物學中取得了良好的成績,相對于傳統的SI教學方法來說,顯著降低了學生的不通過率。然而,PI教學方法應用在大學教育,特別是計算機專業的課程,在國內還沒有詳細的研究。

PI方法通常由以下幾部分組成:

(1)上課前,學生被要求完成前期準備工作(通常是讀教科書,也可以是觀看在線講座)。我們的目標是讓學生在課前學習一些更基本的項目,概念或定義,所以,這些不必須在課堂上講解,從而創造學生參與的時間。為鼓勵學生來完成這項工作,每次“授課” 前(或者在網上,或者在開始上課前)給予測驗或其他某種形式的評估。

(2)在課堂上,學生參與的問題,旨在幫助他們面對和探索具有挑戰性的概念。通常情況下,這些問題都作為多項選擇題被提出,學生通過計時器(或其他電子投票設備)回答問題來增加自己的平時成績。具體而言,插入的計時器問題的算法應該是:

①提出一個問題,學生分別回答(一般,結果未顯示類)。

②小組討論( 2-3人),學生們討論他們的思想并且與對方分享他們的分析。

③學生第二次回答問題,也許基于分組討論改變他們的答案。(學生的回答的結果可以顯示在這一次上,或后,在下面的討論中。)

④全班廣泛討論,由導師引導下,最好由最初回答問題的學生分享他們在他們的小組的解釋和討論。導師提供問題是如何可以分析的說明。明確表示正確的答案。

3.2甄選教材,強化學生的專業知識

針對非計算機專業學生在學習數據結構課程時缺乏系統的計算機知識的問題,教師在教學過程中尤其要選用適用于學生知識水平的教材?,F在市面上存在很多數據結構專業的教材,很多計算機專業會采用外文翻譯過來的教材,這類教材有很多勢利,在對學生在學習過程中能起到很好的啟發作用,但由于很少有歸納概括的內容,需要學生自己動手整理去獲取知識,對非計算機專業的學生來說很難達到相應的教學效果,不宜在數據結構課程教學初期進行。國內也存在很多數據結構的教材,這類教材相對來說有完善的知識歸納體系,一般都詳細地闡述了數據結構課程的專業知識,學生能夠比較容易地獲取知識。這類教材又可以分為兩類:一類是以C語言作為算法描述語言,這類教材的優點是能夠驗證,學生如果在學習的過程中有不明白的地方,直接可以通過上機實驗算法去證實,缺點是需要學生具備一定的程序閱讀能力和編程能力;另一類是以偽碼作為算法描述語言,這類教材的優點是描述直觀,可以得到算法的基本思想,缺點是不利于實際的上機操作實驗,如果學生在學習過程中存在疑問的話,只憑偽碼太過抽象,不利于具體問題的解決。

因此,在對非計算機專業的學生進行數據結構課程教學的時候,就要求教師具有一定的甄別能力,要選取內容容易理解,并且具有實際可操作性的教材。在教學的過程中,更加需要關注學生的理解和掌握情況,最好將學生所欠缺的相關知識作額外的補充,更加形象直觀地表述課程內容。例如:如果使用以C語言作為算法描述語言的教材,那么在講述程序之前最好先把整個算法的思想講述一遍,并在講解程序的時候標住各程序段的功能以便學生理解具體算法思想。而非計算機專業的學生所欠缺的其他計算機專業基礎知識,也可以在具體講授的過程中,遇到具體的問題進行專門的補充,如:在分析算法的時間復雜度的時候,可以適當補充計算機內存調度方面的知識,讓學生在計算程序復雜度的時候知道背后的原理知識,有利于學生在理解的基礎上掌握所學知識。

3.3創建跨專業知識平臺,提高教師知識水平

針對數據結構知識和本專業知識相對割裂的問題,更加需要教師提高自己的專業水平和教學能力,創建跨專業知識平臺,結合數據結構和學生的專業基礎知識進行相應的教學。在現在各個專業融合的大背景下,形成了很多跨專業的學科,這類學科通常需要用到幾個傳統學科的知識,例如:生物信息學就需要用到計算機的專業知識去解決生物學中序列比對、基因測序等問題,而這些問題在傳統的技術水平下很難實現,是人們運用計算機技術解決問題的新途徑,也越來越在人們的生活中得到廣泛的應用。這勢必要求教師在教學過程中,不僅只了解本專業的相關知識,還要了解跨專業的相關學科知識,這也對教師的教學工作帶來了嚴峻的挑戰,教師只有通過自身的學習,主動地去學習和了解跨專業學科的專業背景知識,才能在教學的過程中將數據結構課程的內容融入到學生的專業中去,學生才能更加主動去學習數據結構的課程知識。

3.4提供本專業的實踐途徑,通過實踐強化學習

針對課程實踐和編程能力的缺失的問題,教師在數據結構的教學過程中應該注意適當增加和學生本專業相關的課程實踐和編程問題,以此提高學生的動手能力,并通過實際操作增強學生對數據結構基礎知識的理解。非計算機專業學生的編程能力和操作能力不如計算機專業學生,并不是意味著對非計算機專業的學生就不要進行數據結構的課程實踐和編程,而是要在一定的專業背景下去做課程實踐和編程操作。如果脫離具體的專業背景,學生就沒有相應的積極性,只有結合本專業的具體問題,用數據結構的知識去解決學生在自身專業課的學習過程中需要解決的問題,把數據結構的知識當作解決實際問題的工具,這樣的學習才有實際價值,才有意義。因此,在這種背景下,對非計算機專業的學生進行數據結構課程實踐教學的時候,就需要教師找到相關的實踐內容,這對教師的教學工作也是一項挑戰。

參考文獻〔〕

[1]余麗娟. 數據結構課程與學生邏輯思維能力的培養[J]. 職業教育研究,2008,(2):140-141.

[2]解德祥.《數據結構》課程教學革新與探討[J]. 科技信息,2011,(03):144-146.

[3]王偉嘉,張立,石巖,等. 數據結構實驗教學探索[J]. 計算機教育,2010,(13):155-157 .

[4]王長波,姜燕.數據結構課程教學的探索與實踐[J]. 中國西部科技,2010,(29):83-84.

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

The Teaching Problems and Research of Non-computer

Professional “Data Structare” Course

ZHOU Wei,LU Biao

(Department of Information Engineering,Suzhou University,Suzhou 234000)

Abstract:This article focuses on the data structures in a non- computer science professionals,and to address these issues presents a solution to peer teaching to enhance teachers 'vitality,and enhance students' comprehension and ability in order to truly achieve higher quality of teaching in non-computer professional students.

Key words:Data structures;Non-computer professionals;Peer teaching

猜你喜歡
非計算機專業數據結構
數據結構線上線下混合教學模式探討
重典型應用,明結構關系
為什么會有“數據結構”?
非計算機專業計算機基礎教學的總結與思考
高校非計算機專業計算機網絡基礎教學改革探究
程序設計課程中計算思維和應用能力培養問題研究
非計算機專業VF課程優化教學研究
河南高校非計算機專業學生計算機能力模型研究
高職高專數據結構教學改革探討
非計算機專業VF課程教學內容與方法探究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合