999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

數據結構課程教學改革方案和應用效果

2018-01-29 17:35:55張安勤,葉文珺,田秀霞,彭源
軟件工程 2017年12期

張安勤,葉文珺,田秀霞,彭源

摘 要:數據結構是軟件設計的重要理論和實踐基礎,數據結構設計和算法設計是軟件系統設計的基礎和核心。本文分析了目前數據結構教學中存在的主要問題,提出了教學前開發數據結構類庫,課堂教學中采用項目驅動的方法,實驗環節中使用結對編程的教學改革方案。在學校相關專業實施后的效果表明,我們的教學改革方案提高了學生學習數據結構的興趣、積極性,提升了學生算法設計和算法實現的能力,增強了學生的合作能力和責任心。

關鍵詞:類庫;項目驅動;結對編程

中圖分類號:TP311 文獻標識碼:A

The Teaching Reform Scheme and Application Effect of Data Structure

ZHANG Anqin,YE Wenjun,TIAN Xiuxia,PENG Yuan

(School of Computer Science and Technology,Shanghai University of Electric Power,Shanghai 200090,China)

Abstract:Data structure is an important theoretical and practical basis for software design.Data structure design and the algorithm design are the basis and core of software system design.This paper analyzes the main problems existing in the teaching of data structure at present,and puts forward the teaching reform scheme of the development of the data structure class library before teaching,the project driven method used in classroom teaching,and the pair programming used in practice teaching.The implementation effect in the relevant majors in the authors school shows that the teaching reform scheme proposed in this paper promotes the students' interest and enthusiasm in learning data structure,improves the ability of algorithm design and algorithm implementation,and enhances the students' ability of cooperation and responsibility.

Keywords:class library;project driven;pair programming

1 引言(Introduction)

數據結構是軟件設計的重要理論和實踐基礎。數據結構課程討論的知識內容是軟件設計的理論基礎,介紹的技術方法是軟件設計中使用的基本方法[1]。

數據結構課程主要是培養學生程序設計的邏輯思維和數據抽象能力。在課程教學中需要讓學生深刻理解相同的數據對象,使用的數據結構不同,效率差別很大。高效的程序設計不僅要進行充分的算法設計,還要選擇合適的數據結構[2]。

數據結構課程內容多,概念抽象,理論深奧,部分算法難度大,是計算機專業最難學的課程之一。

2 數據結構教學中存在的問題(Problems existing in

the teaching of Data Structure)

(1)學生的編程基礎差,容易陷入編程的具體實現細節

目前數據結構教學中主要采用的是基于面向對象的程序設計語言的數據結構教學,例如C++和Java。代碼復用是面向對象編程的優點之一,但是在數據結構課程教學中沒有充分體現或很少體現這一優點。學生在編程時很少考慮或涉及代碼的復用[3]。這樣不僅編程的效率低下,很容易陷入編程的具體實現細節,不容易充分理解算法的思想,而且由于程序細節中存在問題,程序不能成功運行也會挫敗學生的學習積極性。

(2)學生編程能力參差不齊

數據結構課程一般安排在第二學年。在前一學年中,學生只學過一門編程語言,編程訓練時間短,缺乏編程經驗。每個同學的編程水平差別較大,有的同學編程能力很強,有的不會編程,甚至寫不出一個完整的main函數。

(3)教學內容抽象,難度較大,教學方法單一

數據結構課程難度較大,內容比較抽象,學生理解困難。在過去的教學過程中,主要以教師的課堂講授、學生聽記為主。課程教學內容和現實應用脫節,這種“填鴨式”教學方法,不能有效調動學生的學習主動性和積極性。

3 《數據結構》教學改革方案(The teaching reform

scheme of data structure)

我們的教學改革方案主要有三個方面:課外老師提前開發基本數據結構的類庫,課堂教學采用項目驅動的方法,實驗教學環節中使用敏捷開發方法中的結對編程方法。圖1是教學改革方案的框架圖。

(1)開發基本數據結構的類庫

在數據結構教材和教學中,數據的結構和算法采用偽代碼表示。偽代碼的可操作性差,學生需要進行調整和修改才能運行。編程基礎差的同學,很難在短時間內調試和修改成功,因此容易給學生帶來消極心理[4]。為了提高學生的學習積極性,防止學生因為挫敗感帶來的消極影響,團隊老師開發了基本數據結構的類庫。endprint

對于基于C++的數據結構課程,團隊老師開發常用的基本數據結構的類庫,例如順序表類、單鏈表類、順序棧類、鏈棧類、循環隊列類、鏈隊列、二叉樹的二叉鏈表類,圖的鄰接矩陣類和鄰接表類[5]。對于基于Java的數據結構課程,在課程中相應章節中,介紹Java語言所提供的類庫[1]。在此基礎上,設計和實現一個面向C++和面向Java的數據結構實驗教學系統,讓基于C++的數據結構課程學生和基于Java的數據結構課程的學生學會理解、選擇和使用合適的數據結構進行軟件開發。該數據結構實驗教學系統的用戶分為普通用戶和高級用戶。對普通用戶,可以運行課內實驗,觀察實驗運行的結果,系統提供實驗的所有類及主函數的代碼。對于高級用戶,需要編寫主函數來調用系統提供的類庫。這樣可以為不同編程水平的用戶提供一個實驗平臺,提高代碼的復用性和實驗的效率。

(2)項目驅動的教學方法

項目驅動的教學方法,主要就是在講授理論知識之前,教師首先給出一個具體項目,然后引導學生思考應用以前所學的知識能不能解決問題,以前的方法存在什么問題。最后運用數據結構中的邏輯結構、物理結構和相關算法來解決問題。讓學生在具體項目中體會數據結構課程中選擇合適的數據結構和算法設計的重要性,以及如何把所學的課程內容應用到實際項目中。

例如,對于圖數據結構的教學,筆者在具體教學過程中首先給出了一個項目:基于圖結構的社會網絡分析系統。要求同學思考如何從Email數據中提取出社會網絡中的個體信息和個體間的關系信息,以及如何把這些信息存儲到計算機中去,如何設計算法求出社會網絡中的核心人物、活躍人物和小團體等功能。

和實際生活相聯系的項目[6]充分調動了學生思考的積極性,并對如何應用圖的方法解決所提出的問題充滿了期待。學習完圖的相關內容后,絕大部分的同學已經能夠在團隊合作的情況下,完成這個項目。圖2是學生完成的項目運行結果截圖。

項目驅動方法使得學習、思考和動手相結合,老師引導學生邊學邊做,實現“學中做”“做中學”,使學生不會覺得所學知識枯燥無味,還能更好地理解一些復雜的問題,讓學生真正掌握知識和相應技能[7]。

(3)結對編程實驗教學方法

結對編程技術是指兩位同學坐在同一臺電腦前開發軟件。結對編程是敏捷開發方法中一種提高程序質量和效率的常用方法之一。由于簡單易行,效果明顯,受到業界的推崇。

結對編程在具體操作過程中有如下好處[8]:

①可以提高學生的合作和交流能力,與別人合作會增加責任感和紀律性。

②兩個學生同時有相同的盲點的可能性比較小,結對編程可以給出更好的解決方案。

③另外在結對編程過程中,一位同學編寫代碼,另一位同學邊看邊思考,給出設計思想,而且容易觀察出代碼是否有問題,結構是否有問題。代碼編寫后,相當于已經完成了一遍代碼評審,這樣大大提高了代碼的質量。

④兩個同學一起編程時,水平較差的同學會潛移默化地受水平略好的同學影響,學到一些新的東西。而水平好的同學同樣因為不斷地把自己的想法說出來而整理了自己的思路。

4 《數據結構》教學成效(Reform effects of the

teaching of data structure)

在計算機科學技術學院的軟件工程專業、計算機卓越工程師班、計算機創新創業班和信息安全專業四個班級通過實施一年開發基本數據結構類庫,在課堂教學中采用項目驅動的教學方法,以及在實驗中采用結對編程的方法后,取得了顯著效果。學生的學習積極性和主動性得到了提高,不同層次的同學都找到了自己合適的學習渠道。學生可以自主學習,又可和結對的同學互相合作討論,每個同學既是老師也是學生,提高了學生合作能力和責任心。學生的課堂學習和實驗效果有了很大提高。

表1是計算機專業2014—2015、2015—2016、2016—2017三個年度數據結構卷面成績分析對比表。從表1可以看出課程的合格率和優秀率也有了明顯提高。

5 結論(Conclusion)

我們通過采用課外老師提前開發基本數據結構類庫,課堂教學采用項目驅動的方法,實驗教學環節中使用敏捷開發方法中的結對編程方法,提高了學生的學習數據結構的興趣、積極性和編程能力,增強了學生的合作能力和責任心。但我們的解決方案還需要不斷改進,例如項目驅動方法中的項目必須是新穎的,能夠引起學生興趣,能調動學生積極性,因此項目的選擇必須不斷更新。另外結對的同學不能固定不變,需要定期進行調整,以便同學之間更充分的交流和合作。

參考文獻(References)

[1] 葉核亞.數據結構(Java版)(第4版)[M].北京:電子工業出版社,2015(7):1.

[2] 陳宏.數據結構的選擇與算法效率[EB/OL].http://blog.csdn.net/u011345136/article/details/23966739,2014-04-17.

[3] 楊曉波,陳邦澤.“數據結構”教學平臺建設方案及應用效果[J].實驗室研究與探索,2014(10):162-165.

[4] 卓明敏,黃正亮,廖小于.數據結構活代碼教學實踐[J].福建電腦,2010(4):207-208.

[5] 李春葆.數據結構教程(C++語言描述)[M].北京:清華大學出版社,2014:44-52;90-96;113-118;199-249.

[6]霍玲玲,王智,孫江.數據結構教學方法的研究[J].計算機教育,2015(2):73-76.

[7] 汪赫瑜.基于項目的教學方法在數據結構教學中的應用[J].教育教學論壇,2016(19):147-148.

[8] 張偉華,李立,王海英.結對編程在數據結構教學中的應用[J].福建電腦,2012(3):195-196.

作者簡介:

張安勤(1974-),女,博士,副教授.研究領域:數據挖掘.

葉文珺(1966-),女,碩士,副教授.研究領域:圖像處理.

田秀霞(1976-),女,博士,教授.研究領域:信息安全.

彭 源(1981-),女,博士,副教授.研究領域:圖像處理.endprint

主站蜘蛛池模板: 女人一级毛片| 天堂亚洲网| 毛片视频网址| 亚洲男人的天堂久久精品| 国产免费一级精品视频| 国产精品主播| 国产视频大全| 亚洲中文字幕无码mv| 97视频免费看| 久久国产黑丝袜视频| 日韩精品亚洲人旧成在线| 中文字幕久久亚洲一区| 国产免费精彩视频| 欧美精品伊人久久| 日韩在线网址| 国产91透明丝袜美腿在线| 好吊色国产欧美日韩免费观看| 久久精品国产精品青草app| 免费高清a毛片| 国产在线观看精品| 亚洲成人免费看| 国产在线观看精品| 毛片免费在线| 亚洲视频四区| 亚洲娇小与黑人巨大交| 国内老司机精品视频在线播出| 97视频在线观看免费视频| 国产精品白浆无码流出在线看| 波多野结衣第一页| 99re精彩视频| 成人午夜免费观看| 再看日本中文字幕在线观看| 伊人久热这里只有精品视频99| 久久国产高潮流白浆免费观看| 中文字幕日韩欧美| 国产杨幂丝袜av在线播放| 青青久视频| 一级看片免费视频| 亚洲自拍另类| 亚洲天堂视频在线观看免费| 国产9191精品免费观看| 高h视频在线| AV网站中文| 72种姿势欧美久久久大黄蕉| 国产农村妇女精品一二区| 国产成人精品一区二区三在线观看| 国产免费自拍视频| 国产国产人在线成免费视频狼人色| 伊人国产无码高清视频| 欧美五月婷婷| 中文字幕亚洲第一| 亚洲V日韩V无码一区二区| 精品久久久久久中文字幕女| 欧洲成人免费视频| 亚洲国产欧美国产综合久久| 极品av一区二区| 亚洲欧美精品一中文字幕| 天堂成人在线视频| 国产凹凸一区在线观看视频| 国产在线八区| 久久人人97超碰人人澡爱香蕉| 伊人久久大香线蕉成人综合网| 欧美日韩导航| 亚洲熟妇AV日韩熟妇在线| 欧美国产综合视频| 欧美中文一区| 成人在线天堂| 免费视频在线2021入口| 国产毛片久久国产| 中文字幕亚洲专区第19页| 综合五月天网| 國產尤物AV尤物在線觀看| 亚洲日韩第九十九页| 亚洲αv毛片| 国产一区二区三区夜色 | 成人在线综合| 精品少妇人妻无码久久| 欧美成人影院亚洲综合图| 亚洲欧洲综合| 嫩草影院在线观看精品视频| 国产亚洲精品无码专| 国内精品久久久久鸭|