劉俞,王芳,陳永平,蘇新
(1.馬鞍山職業技術學院計算機系,安徽 馬鞍山 243031;2.馬鞍山師范高等專科學校基礎部,安徽馬鞍山 243000)
數據結構教學改革研究
——“七步驟三階段”項目導向教學模式*
劉俞1,王芳2,陳永平1,蘇新1
(1.馬鞍山職業技術學院計算機系,安徽 馬鞍山 243031;2.馬鞍山師范高等專科學校基礎部,安徽馬鞍山 243000)
針對傳統的數據結構課程教學中存在的問題,提出了“七步驟三階段”項目導向教學模式.“七步驟”即項目開發的七個步驟:分析任務需求;提出解決方案;模塊劃分;算法設計;代碼設計;調試和測試;結果分析和總結.“三階段”即將項目導向教學過程劃分為如下三個階段:第一個階段由教師講解項目開發的所有7個步驟;第二階段由教師講解前3個步驟,學生完成后4個步驟;第三階段由教師提出任務,所有的7個步驟由學生自主完成.闡述了該模式在課程教學中的實施過程,并給出一個實際教學項目加以分析說明.實踐表明,這種教學模式有利于培養學生的實際應用能力和創新能力,全面提高了教學質量.
數據結構;項目導向教學模式;教學改革
數據結構是計算機科學與技術專業的重要理論技術課,它不僅是計算機學科的核心課程,也是其他理工專業的熱門選修課.在計算機應用領域的開發研制工作中,數據結構有著廣泛的應用.
數據結構是一門較為復雜和抽象的課程.在傳統的教學中,通常只注重課堂理論教學,在實踐教學環節中,一般僅局限于課本上的小規模實驗,這些實驗與現實使用的情況脫節較大,因此實驗效果比較差,這就導致了學生對所學的知識無法深刻理解,或學會了也不知道有什么用的情況,從而造成了學生對這門課程的學習興趣與熱情不高,因此,教學效果難以令人滿意[1].
為了提高學生的學習興趣,訓練學生將數據結構中的知識用于復雜程序設計的技能,必須注重實訓環節,讓學生學了就去用,在設計過程中自己發現問題,利用學到的知識解決問題,加深理解所學知識的本質,使其在實踐中真正掌握各個知識點[2].
在對數據結構傳統教學方法的改革中,針對每個知識點設計了與實踐接軌的項目實踐環節,并大量用于教學過程中,具體做法是:在教學中以實際項目的分析與開發為主導,在其過程中融入理論教學,讓學生在具體實踐設計中充分理解和掌握各知識點[3].經過不斷的實踐訓練,使學生充分掌握各數據結構及其算法,提高程序設計技巧,提高分析問題、解決問題的能力,從而取得高質量的教學效果.
項目導向教學模式,是指以實際工作實施項目為中心選擇、組織課程內容,并以完成工作任務為主要學習方式的教學模式[4].該教學模式打破了原來課程的界限,將課程教學內容分割為與專業密切聯系的實際項目與任務,引領教學過程,強調實訓環節,設計學習過程于工作過程的職業環境中,將學生對知識的掌握程度提高到了實踐這一層面.將課堂與實訓基地一體化,實現“雙教一體化”、“教、學、做”一體化同時進行,使得學生能真正進入到“在做中學”的理想學習環境中,全面提高學生的綜合職業能力[5].
在教學過程中以一個實際的項目任務的分析與設計作為主線,融入相關知識點的理論教學以及相關的一些小型實驗.在教學中項目任務的設計是嚴格以軟件工程思想為指導,將開發過程分為7個步驟:1)分析任務需求;2)提出解決方案;3)模塊劃分;4)算法設計;5)代碼設計;6)調試和測試;7)結果分析和總結.
將項目導向教學過程劃分為三個階段:第一個階段由教師講解項目開發的所有7個步驟,此階段的目標為初級目標,是鍛煉學生的理解能力,詳細了解一個項目開發的整個過程;第二階段由教師講解前3個步驟,學生完成后4個步驟,此階段的目標是中級目標,是鍛煉學生算法設計、代碼設計及調試與測試能力,達到程序員級水平;第三階段由教師提出任務,所有的7個步驟由學生自主完成,此階段的目標是高級目標,是鍛煉學生整體項目開發的能力.經過這三個階段的訓練,使學生的能力穩步提高,最終能獨立完成一個完整項目的開發,達到軟件設計師級水平,為以后的學習和工作打下扎實的基礎.
本課題主要針對每一章的知識點設計較大規模的實訓項目,并且要求這些項目與實際生活貼近,從而充分調動學生進行實踐的積極性,讓學生在項目開發的過程中自己發現問題,利用學到的知識解決問題,加深理解所學知識的本質,使其在實踐中真正掌握各個知識點.
在教學過程中針對每章的知識點都設計了三個項目,分別作為教學過程三個階段的實施項目.三個項目由簡單到復雜,而每個項目中各任務也由簡到繁,逐步深入,每個項目完成后都達到了較好的效果.教學過程中設計的實訓項目與教學內容的對照,見表1.

表1 實訓項目與教學知識點對照
下面通過針對鏈表這個知識點的教學中所采用的一個項目實施進行分析.
在中大型超市門口一般都放置有很多存放包的箱子,顧客可以將不能帶入超市的物品暫存在里面,購物結束后再取回,現在要求設計一套可行的超市顧客存物密碼箱系統.
第1步:分析任務需求
顧客使用箱子的整個流程為“投一元硬幣”——“找到一個空箱子,同時產生密碼”(系統完成)——“打印密碼,打開箱子”(系統完成)——“取密碼紙存包,并關閉箱子,入超市購物”——“購物結束”——“輸入密碼”——“找到對應箱子并打開”(系統完成)——“取包”.
因為硬件條件的限制,可以通過設計程序模擬以上系統完成的功能:1)界面:在設計的模擬系統中,在屏幕上利用圖形函數繪制出箱子并編號,空箱為藍色,被使用時變為紅色,再變為空后則恢復成藍色;2)通過按“1”鍵模擬顧客投幣;3)當空箱子被顧客申請得到同時,系統自動生成6位密碼,此密碼不能與正在被使用任何一個箱子的密碼相同.
第2步:提出解決方案
利用鏈表來組織所有的箱子,所有的箱子以結點的形式表示,結點中存放有箱號、密碼(滿箱有,空箱無)信息以及下一個結點的地址.空箱結點放在一個鏈表L1中,滿箱結點放在另一個鏈表L2中.
若有顧客投幣(這里用按下“1”鍵模擬),查看鏈表L1是否為空,若為空,則顯示“箱滿,請稍候!”;若空,則取出一個結點,隨機產生一個6位的數字密碼,并將此密碼和鏈表L2中所有結點的密碼相比較,若有重復,則重新再隨機產生一個新密碼,直到無重復;將密碼信息寫入此結點,并將其插入鏈表L2;將此箱的顏色改為紅色.
若有用戶輸入6位數字密碼,若此時鏈表L2為空,則不予處理;鏈表L2不空,則將此密碼和鏈表L2中的結點的密碼依此比較,若沒有找到與之相同的,則不予處理;若找到一個相同的,將此結點取出并插入到鏈表L1中,將其對應的箱子顏色恢復成藍色.
第3步:模塊劃分
經分析,整個系統劃分成5個模塊,分別是:1)箱體界面圖形繪制算法;2)開/關箱圖形繪制算法;3)空箱鏈表的建立、查詢、插入與刪除算法;4)已用箱子鏈表的建立、查詢、插入與刪除算法;5)6位密碼的隨機生成與檢測(防止重復)算法.
第4步:算法設計
根據上一步的5個模塊,分別進行算法設計.
1)結點存儲結構類型定義


第5步:代碼設計
根據上一步的算法設計,編寫代碼,實現各函數功能,最后進行集成.
第6步:調試和測試
針對主要函數進行單元測試,集成后進行集成測試.
第7步:結果分析和總結
根據測試結果分析整個系統的實現過程、關鍵環節、不足之處與改進措施.總結鏈表這種數據結構及其操作在項目中的作用.
利用此項目的分析與開發作為作為教學的第一個階段,能使學生理解鏈表的結構及作用,對鏈表的各種操作深入了解.隨著第二階段和第三階段教學的完成,學生對鏈表的應用能力逐步提高,能做到熟練掌握并且在此基礎上能夠進行優化與創新.
通過“七步驟三階段”項目導向模式的數據結構教學改革,激發了學生的學習興趣和熱情,循序漸進地提高了學生分析問題、解決問題的實際應用能力,同時也培養了學生的自主學習能力和團隊合作的精神,鍛煉了學生軟件開發的綜合能力,使學生真正成為教學活動的主體,從而提高了教學水平和質量,取得了顯著的效果.在教學改革實施三年內,學生參加“計算機技術與軟件專業技術資格(水平)考試”的一次性通過率保持在50%以上(程序員級)和30%以上(軟件設計師級).同時,我院計算機系多名學生在全國軟件設計大賽中取得了優異的成績.在以后的教學中,將繼續研究數據結構課程教學方法的改革,為培養高素質的技能型軟件開發人才做出貢獻.
[1]安訓國,劉俞.數據結構[M].第3版.大連:大連理工大學出版社,2006.
[2]劉俞,景秀麗.數據結構實訓與習題解析[M].大連:大連理工大學出版社,2006.
[3]李勝,黃玉明,劉俞,等.高職院校計算機基礎課程教學改革研究與實踐[J].安徽工業大學學報,2011,28(2):123-124.
[4]趙志群.對工學結合課程的認識[J].職教論壇,2008,24(2):9-10.
[5]揭安全,李云清,楊慶紅,等.數據結構實踐教學體系的設計與實施[J].計算機教育,2010,(11):85-86.
Study on Teaching Reform of Data Structure——Project-based Teaching Mode of Seven-Steps and Three-Stages
LIU Yu1,WANG Fang2,CHEN Yong- ping1,SU Xin1
(1.Computer Science Department,Maanshan Technical College,Maanshan Anhui 243031,China;
2.Foundation Department,Maanshan Teachers College,Maanshan Anhui 243000,China)
This paper advances a project-based teaching mode of Seven-Steps and Three-Stages in order to direct against some problems exsiting in the process of traditional teaching and learning of data structure.“Seven Steps”means the seven steps of project development including analysising requirement,providing solutions,partitioning modules,designing lgorthms,designing code,debugging and testing,analyzing and sumarizing the results.“Three Stages”means the three stages of teaching process.The firsr stage is that the teacher explains all of the seven steps of this project development.The second stage is that the teacher explains the first three steps,the other four steps are finished by students.The third stage is that the teacher offers the challenge and all the steps are finished by students.This paper elabrates this mode is be implied in the teaching course and gives a practical teaching and learning project which analyses and explains this mode.The practical results show that the teaching mode can train students'practical ability and innovative ability.Consequently,this mode can improve the teaching quality.
data structure;project-based teaching mode;teaching reform
G 642
A
1673-2103(2012)02-0127-04
2012-03-11
馬鞍山職業技術學院教科研項目(X200707)
劉俞(1976-),男,遼寧省沈陽人,講師,碩士,研究方向:嵌入式系統,計算機應用技術.