史洋 楊芙容 張雅茜
摘 要 數據結構作為計算機程序設計的重要技術基礎,是每一所高校計算機和軟件工程方向的計算機核心必修課。本文主要通過分析數據結構課程教學中存在的問題,在這門課程的教學過程中加入一種新的教學模式—項目實訓,通過介紹其教學實施過程,分析能夠獲得的教學效果,得出項目實訓具有重要的實踐意義和良好的教學效果。
關鍵詞 數據結構 項目實訓 銀行排隊系統
中圖分類號:G642 文獻標識碼:A
0 引言
隨著信息智能時代的到來,軟件日益改變著人們的工作和生活的方方面面,現今社會對軟件產業的強大需求以及良好的工作待遇水平,促使越來越多的人加入到軟件行業。作為軟件行業的共同基礎——數據結構,具有舉足輕重的地位,但是由于其理論算法的晦澀難懂讓很多學生吃盡苦頭。如何讓學生脫離枯燥的理論學習,如何能夠激發他們主動學習的興趣和不斷探索的熱情,這都成為當前教學的研究內容之一。本文提出的項目實訓在數據結構課程的應用是經過在教學中實踐驗證的,具有良好的教學效果。
1 數據結構教學存在的問題
目前大多數高校的數據結構課程都是理論和實踐相脫離,也就是課堂上只講授理論內容,只有在實踐上機的課程上才讓學生通過編程練習操作。這樣的教學方法存在如下問題:
1.1理論內容的晦澀難懂
數據結構主要講解幾種主要的存儲數據的結構模型和常用的排序查找算法,現有的大多數教材尤其是最著名經典的嚴蔚敏教授編寫的數據結構教材,內容上和文字語言上清晰透徹,但是大多數學生初次接觸大都感到學習異常吃力,主要是因為一方面數據結構內容本身比較抽象,需要具備一定的邏輯思維能力,另一方面教材內容較為完整的樣例比較稀少,學生不能直接從代碼運行中體會各種數據結構的應用,從而造成學習上的被動。
1.2單一學習的效率低下
目前大多數院校的教師講授主要以理論教學為主,在課件上講解理論內容,有的教師甚至從來沒有在代碼中實現過數據結構的知識點,課后僅僅布置紙質作業去復習鞏固理論內容,期末考試又是僅僅考試理論內容,很少或者幾乎沒有上機操作的環節,沒有在真實的案例項目中去體會數據結構的重要意義和強大功能。這樣單一的學習模式往往會造成的結果就是學生的學習興趣不高,缺乏學習的主動性和積極性。
1.3工程應用經驗的缺失
計算機和軟件工程方向學生將來畢業,主要面向的是軟件開發公司或者高校繼續深造,無論哪一個選擇都需要學生本身具備一定的動手能力和編程工程經驗。現有的教學模式僅僅關注數據結構理論內容的重要性,忽視了其在工程應用的重要實踐意義,造成了學生面向社會、面向工作時的紙上談兵,面對具體問題時不知該如何入手,嚴重缺乏工程應用的經驗,不能將所學的數據結構的內容應用到遇到的問題中。這樣的人才在競爭時會明顯感受到有工程經驗的競爭者的壓力。項目經理和導師一般也比較注重有開發經驗的學生。
2項目實訓在教學中的功能作用
通過分析上述在數據結構教學中存在的若干問題,本文鑒于之前在公司中參與了幾所地方大學的暑期項目實訓的真實案例,提出建議在數據結構中引入項目實訓的教學,并且可以投入合適的課時量來保證教學,這樣的教學會達到事半功倍的良好效果。項目實訓的實施過程如下:
首先數據結構的課程組教師根據數據結構的內容,結合實際的工程經驗制定出合理的項目實訓題目,例如:銀行排隊系統,該項目主要練習數據結構中的線性表和隊列,可以模擬真實的銀行排隊取號叫號過程,在項目中引入Socked通信編程(超出學生能力的內容可以由教師統一講解),實現多客戶端/服務器模式的聯網通信,模擬出普通客戶、VIP客戶、銀行柜員、銀行經理等角色,普通客戶、VIP客戶可以依次取號,但是VIP客戶可以優先得到服務,多個銀行柜員可以同時從服務器中叫號,經理可以實時查看服務器中的數據,監測當前的服務情況等需求。這是一個真實的案例,通過幾天簡短的實訓,能夠讓學生組隊合作完成這樣一個比較綜合又完全依賴數據結構中的線性表和隊列等知識點的項目,這樣的學習經歷會極大的調動學生的學習熱情。
然后在項目實訓的過程中,按照企業的軟件開發流程,要求學生依次做好如下工作:需求分析、概要設計、詳細設計、測試用例、項目日報,這些文檔能夠幫助學生建立起較為完整的軟件開發流程,培養他們的軟件開發經驗,不再是僅僅實現一個排序或者查找等簡單單一的操作,而是一個較為系統的完整案例。
最后可以組織一個項目答辯,由幾個教師組成一個答辯評審組,每一個小組的學生組隊答辯,模擬企業軟件開發的過程,講解本小組的銀行排隊系統的設計思路和實現過程,介紹下系統功能的架構,各個模塊的流程和項目存在的特色,不但可以學習到數據結構的理論的應用,而且可以培養團隊合作能力和自我表達能力,對于日后找工作和深造考試的答辯環節都是一個很好的鍛煉。同時項目答辯的成績完全可以作為數據結構課程期末考試的總成績的一部分,這樣可以起到良好的督促效應。
3總結
項目實訓是最近幾年較為流行的一種教學模式,這種貼近生活和工作,將枯燥的理論學習轉變為生動的案例教學,能夠在很短的時間內極大的激發學生的學習激情和動手能力。不但讓學生脫離了單一的理論學習,而且找到了一條學以致用的學習手段,通過在幾所地方大學參加暑期實訓,明顯感受到這種學習模式的優越性,建議項目實訓可以在授課環節中制作多個較小的案例項目,在學期即將結束的時候制作一個較為綜合的案例項目,可以對數據結構的教學起到非常有益的促進。
參考文獻
[1] 毛養紅.淺談《數據結構》教學[J].中國科技信息,2009(03).
[2] 湯偉.《數據結構》和《C語言程序設計》新教學模式研究[J].科技資訊,2017(24).
[3] 許斌,郭陽.雙層階段式教學目標設定法[J].高教學刊,2015(07).endprint