劉俞,王芳,陳永平,蘇新
(1.馬鞍山職業(yè)技術(shù)學(xué)院計(jì)算機(jī)系,安徽 馬鞍山 243031;2.馬鞍山師范高等??茖W(xué)?;A(chǔ)部,安徽馬鞍山 243000)
數(shù)據(jù)結(jié)構(gòu)教學(xué)改革研究
——“七步驟三階段”項(xiàng)目導(dǎo)向教學(xué)模式*
劉俞1,王芳2,陳永平1,蘇新1
(1.馬鞍山職業(yè)技術(shù)學(xué)院計(jì)算機(jī)系,安徽 馬鞍山 243031;2.馬鞍山師范高等??茖W(xué)?;A(chǔ)部,安徽馬鞍山 243000)
針對(duì)傳統(tǒng)的數(shù)據(jù)結(jié)構(gòu)課程教學(xué)中存在的問題,提出了“七步驟三階段”項(xiàng)目導(dǎo)向教學(xué)模式.“七步驟”即項(xiàng)目開發(fā)的七個(gè)步驟:分析任務(wù)需求;提出解決方案;模塊劃分;算法設(shè)計(jì);代碼設(shè)計(jì);調(diào)試和測(cè)試;結(jié)果分析和總結(jié).“三階段”即將項(xiàng)目導(dǎo)向教學(xué)過程劃分為如下三個(gè)階段:第一個(gè)階段由教師講解項(xiàng)目開發(fā)的所有7個(gè)步驟;第二階段由教師講解前3個(gè)步驟,學(xué)生完成后4個(gè)步驟;第三階段由教師提出任務(wù),所有的7個(gè)步驟由學(xué)生自主完成.闡述了該模式在課程教學(xué)中的實(shí)施過程,并給出一個(gè)實(shí)際教學(xué)項(xiàng)目加以分析說明.實(shí)踐表明,這種教學(xué)模式有利于培養(yǎng)學(xué)生的實(shí)際應(yīng)用能力和創(chuàng)新能力,全面提高了教學(xué)質(zhì)量.
數(shù)據(jù)結(jié)構(gòu);項(xiàng)目導(dǎo)向教學(xué)模式;教學(xué)改革
數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的重要理論技術(shù)課,它不僅是計(jì)算機(jī)學(xué)科的核心課程,也是其他理工專業(yè)的熱門選修課.在計(jì)算機(jī)應(yīng)用領(lǐng)域的開發(fā)研制工作中,數(shù)據(jù)結(jié)構(gòu)有著廣泛的應(yīng)用.
數(shù)據(jù)結(jié)構(gòu)是一門較為復(fù)雜和抽象的課程.在傳統(tǒng)的教學(xué)中,通常只注重課堂理論教學(xué),在實(shí)踐教學(xué)環(huán)節(jié)中,一般僅局限于課本上的小規(guī)模實(shí)驗(yàn),這些實(shí)驗(yàn)與現(xiàn)實(shí)使用的情況脫節(jié)較大,因此實(shí)驗(yàn)效果比較差,這就導(dǎo)致了學(xué)生對(duì)所學(xué)的知識(shí)無(wú)法深刻理解,或?qū)W會(huì)了也不知道有什么用的情況,從而造成了學(xué)生對(duì)這門課程的學(xué)習(xí)興趣與熱情不高,因此,教學(xué)效果難以令人滿意[1].
為了提高學(xué)生的學(xué)習(xí)興趣,訓(xùn)練學(xué)生將數(shù)據(jù)結(jié)構(gòu)中的知識(shí)用于復(fù)雜程序設(shè)計(jì)的技能,必須注重實(shí)訓(xùn)環(huán)節(jié),讓學(xué)生學(xué)了就去用,在設(shè)計(jì)過程中自己發(fā)現(xiàn)問題,利用學(xué)到的知識(shí)解決問題,加深理解所學(xué)知識(shí)的本質(zhì),使其在實(shí)踐中真正掌握各個(gè)知識(shí)點(diǎn)[2].
在對(duì)數(shù)據(jù)結(jié)構(gòu)傳統(tǒng)教學(xué)方法的改革中,針對(duì)每個(gè)知識(shí)點(diǎn)設(shè)計(jì)了與實(shí)踐接軌的項(xiàng)目實(shí)踐環(huán)節(jié),并大量用于教學(xué)過程中,具體做法是:在教學(xué)中以實(shí)際項(xiàng)目的分析與開發(fā)為主導(dǎo),在其過程中融入理論教學(xué),讓學(xué)生在具體實(shí)踐設(shè)計(jì)中充分理解和掌握各知識(shí)點(diǎn)[3].經(jīng)過不斷的實(shí)踐訓(xùn)練,使學(xué)生充分掌握各數(shù)據(jù)結(jié)構(gòu)及其算法,提高程序設(shè)計(jì)技巧,提高分析問題、解決問題的能力,從而取得高質(zhì)量的教學(xué)效果.
項(xiàng)目導(dǎo)向教學(xué)模式,是指以實(shí)際工作實(shí)施項(xiàng)目為中心選擇、組織課程內(nèi)容,并以完成工作任務(wù)為主要學(xué)習(xí)方式的教學(xué)模式[4].該教學(xué)模式打破了原來(lái)課程的界限,將課程教學(xué)內(nèi)容分割為與專業(yè)密切聯(lián)系的實(shí)際項(xiàng)目與任務(wù),引領(lǐng)教學(xué)過程,強(qiáng)調(diào)實(shí)訓(xùn)環(huán)節(jié),設(shè)計(jì)學(xué)習(xí)過程于工作過程的職業(yè)環(huán)境中,將學(xué)生對(duì)知識(shí)的掌握程度提高到了實(shí)踐這一層面.將課堂與實(shí)訓(xùn)基地一體化,實(shí)現(xiàn)“雙教一體化”、“教、學(xué)、做”一體化同時(shí)進(jìn)行,使得學(xué)生能真正進(jìn)入到“在做中學(xué)”的理想學(xué)習(xí)環(huán)境中,全面提高學(xué)生的綜合職業(yè)能力[5].
在教學(xué)過程中以一個(gè)實(shí)際的項(xiàng)目任務(wù)的分析與設(shè)計(jì)作為主線,融入相關(guān)知識(shí)點(diǎn)的理論教學(xué)以及相關(guān)的一些小型實(shí)驗(yàn).在教學(xué)中項(xiàng)目任務(wù)的設(shè)計(jì)是嚴(yán)格以軟件工程思想為指導(dǎo),將開發(fā)過程分為7個(gè)步驟:1)分析任務(wù)需求;2)提出解決方案;3)模塊劃分;4)算法設(shè)計(jì);5)代碼設(shè)計(jì);6)調(diào)試和測(cè)試;7)結(jié)果分析和總結(jié).
將項(xiàng)目導(dǎo)向教學(xué)過程劃分為三個(gè)階段:第一個(gè)階段由教師講解項(xiàng)目開發(fā)的所有7個(gè)步驟,此階段的目標(biāo)為初級(jí)目標(biāo),是鍛煉學(xué)生的理解能力,詳細(xì)了解一個(gè)項(xiàng)目開發(fā)的整個(gè)過程;第二階段由教師講解前3個(gè)步驟,學(xué)生完成后4個(gè)步驟,此階段的目標(biāo)是中級(jí)目標(biāo),是鍛煉學(xué)生算法設(shè)計(jì)、代碼設(shè)計(jì)及調(diào)試與測(cè)試能力,達(dá)到程序員級(jí)水平;第三階段由教師提出任務(wù),所有的7個(gè)步驟由學(xué)生自主完成,此階段的目標(biāo)是高級(jí)目標(biāo),是鍛煉學(xué)生整體項(xiàng)目開發(fā)的能力.經(jīng)過這三個(gè)階段的訓(xùn)練,使學(xué)生的能力穩(wěn)步提高,最終能獨(dú)立完成一個(gè)完整項(xiàng)目的開發(fā),達(dá)到軟件設(shè)計(jì)師級(jí)水平,為以后的學(xué)習(xí)和工作打下扎實(shí)的基礎(chǔ).
本課題主要針對(duì)每一章的知識(shí)點(diǎn)設(shè)計(jì)較大規(guī)模的實(shí)訓(xùn)項(xiàng)目,并且要求這些項(xiàng)目與實(shí)際生活貼近,從而充分調(diào)動(dòng)學(xué)生進(jìn)行實(shí)踐的積極性,讓學(xué)生在項(xiàng)目開發(fā)的過程中自己發(fā)現(xiàn)問題,利用學(xué)到的知識(shí)解決問題,加深理解所學(xué)知識(shí)的本質(zhì),使其在實(shí)踐中真正掌握各個(gè)知識(shí)點(diǎn).
在教學(xué)過程中針對(duì)每章的知識(shí)點(diǎn)都設(shè)計(jì)了三個(gè)項(xiàng)目,分別作為教學(xué)過程三個(gè)階段的實(shí)施項(xiàng)目.三個(gè)項(xiàng)目由簡(jiǎn)單到復(fù)雜,而每個(gè)項(xiàng)目中各任務(wù)也由簡(jiǎn)到繁,逐步深入,每個(gè)項(xiàng)目完成后都達(dá)到了較好的效果.教學(xué)過程中設(shè)計(jì)的實(shí)訓(xùn)項(xiàng)目與教學(xué)內(nèi)容的對(duì)照,見表1.
表1 實(shí)訓(xùn)項(xiàng)目與教學(xué)知識(shí)點(diǎn)對(duì)照
下面通過針對(duì)鏈表這個(gè)知識(shí)點(diǎn)的教學(xué)中所采用的一個(gè)項(xiàng)目實(shí)施進(jìn)行分析.
在中大型超市門口一般都放置有很多存放包的箱子,顧客可以將不能帶入超市的物品暫存在里面,購(gòu)物結(jié)束后再取回,現(xiàn)在要求設(shè)計(jì)一套可行的超市顧客存物密碼箱系統(tǒng).
第1步:分析任務(wù)需求
顧客使用箱子的整個(gè)流程為“投一元硬幣”——“找到一個(gè)空箱子,同時(shí)產(chǎn)生密碼”(系統(tǒng)完成)——“打印密碼,打開箱子”(系統(tǒng)完成)——“取密碼紙存包,并關(guān)閉箱子,入超市購(gòu)物”——“購(gòu)物結(jié)束”——“輸入密碼”——“找到對(duì)應(yīng)箱子并打開”(系統(tǒng)完成)——“取包”.
因?yàn)橛布l件的限制,可以通過設(shè)計(jì)程序模擬以上系統(tǒng)完成的功能:1)界面:在設(shè)計(jì)的模擬系統(tǒng)中,在屏幕上利用圖形函數(shù)繪制出箱子并編號(hào),空箱為藍(lán)色,被使用時(shí)變?yōu)榧t色,再變?yōu)榭蘸髣t恢復(fù)成藍(lán)色;2)通過按“1”鍵模擬顧客投幣;3)當(dāng)空箱子被顧客申請(qǐng)得到同時(shí),系統(tǒng)自動(dòng)生成6位密碼,此密碼不能與正在被使用任何一個(gè)箱子的密碼相同.
第2步:提出解決方案
利用鏈表來(lái)組織所有的箱子,所有的箱子以結(jié)點(diǎn)的形式表示,結(jié)點(diǎn)中存放有箱號(hào)、密碼(滿箱有,空箱無(wú))信息以及下一個(gè)結(jié)點(diǎn)的地址.空箱結(jié)點(diǎn)放在一個(gè)鏈表L1中,滿箱結(jié)點(diǎn)放在另一個(gè)鏈表L2中.
若有顧客投幣(這里用按下“1”鍵模擬),查看鏈表L1是否為空,若為空,則顯示“箱滿,請(qǐng)稍候!”;若空,則取出一個(gè)結(jié)點(diǎn),隨機(jī)產(chǎn)生一個(gè)6位的數(shù)字密碼,并將此密碼和鏈表L2中所有結(jié)點(diǎn)的密碼相比較,若有重復(fù),則重新再隨機(jī)產(chǎn)生一個(gè)新密碼,直到無(wú)重復(fù);將密碼信息寫入此結(jié)點(diǎn),并將其插入鏈表L2;將此箱的顏色改為紅色.
若有用戶輸入6位數(shù)字密碼,若此時(shí)鏈表L2為空,則不予處理;鏈表L2不空,則將此密碼和鏈表L2中的結(jié)點(diǎn)的密碼依此比較,若沒有找到與之相同的,則不予處理;若找到一個(gè)相同的,將此結(jié)點(diǎn)取出并插入到鏈表L1中,將其對(duì)應(yīng)的箱子顏色恢復(fù)成藍(lán)色.
第3步:模塊劃分
經(jīng)分析,整個(gè)系統(tǒng)劃分成5個(gè)模塊,分別是:1)箱體界面圖形繪制算法;2)開/關(guān)箱圖形繪制算法;3)空箱鏈表的建立、查詢、插入與刪除算法;4)已用箱子鏈表的建立、查詢、插入與刪除算法;5)6位密碼的隨機(jī)生成與檢測(cè)(防止重復(fù))算法.
第4步:算法設(shè)計(jì)
根據(jù)上一步的5個(gè)模塊,分別進(jìn)行算法設(shè)計(jì).
1)結(jié)點(diǎn)存儲(chǔ)結(jié)構(gòu)類型定義
第5步:代碼設(shè)計(jì)
根據(jù)上一步的算法設(shè)計(jì),編寫代碼,實(shí)現(xiàn)各函數(shù)功能,最后進(jìn)行集成.
第6步:調(diào)試和測(cè)試
針對(duì)主要函數(shù)進(jìn)行單元測(cè)試,集成后進(jìn)行集成測(cè)試.
第7步:結(jié)果分析和總結(jié)
根據(jù)測(cè)試結(jié)果分析整個(gè)系統(tǒng)的實(shí)現(xiàn)過程、關(guān)鍵環(huán)節(jié)、不足之處與改進(jìn)措施.總結(jié)鏈表這種數(shù)據(jù)結(jié)構(gòu)及其操作在項(xiàng)目中的作用.
利用此項(xiàng)目的分析與開發(fā)作為作為教學(xué)的第一個(gè)階段,能使學(xué)生理解鏈表的結(jié)構(gòu)及作用,對(duì)鏈表的各種操作深入了解.隨著第二階段和第三階段教學(xué)的完成,學(xué)生對(duì)鏈表的應(yīng)用能力逐步提高,能做到熟練掌握并且在此基礎(chǔ)上能夠進(jìn)行優(yōu)化與創(chuàng)新.
通過“七步驟三階段”項(xiàng)目導(dǎo)向模式的數(shù)據(jù)結(jié)構(gòu)教學(xué)改革,激發(fā)了學(xué)生的學(xué)習(xí)興趣和熱情,循序漸進(jìn)地提高了學(xué)生分析問題、解決問題的實(shí)際應(yīng)用能力,同時(shí)也培養(yǎng)了學(xué)生的自主學(xué)習(xí)能力和團(tuán)隊(duì)合作的精神,鍛煉了學(xué)生軟件開發(fā)的綜合能力,使學(xué)生真正成為教學(xué)活動(dòng)的主體,從而提高了教學(xué)水平和質(zhì)量,取得了顯著的效果.在教學(xué)改革實(shí)施三年內(nèi),學(xué)生參加“計(jì)算機(jī)技術(shù)與軟件專業(yè)技術(shù)資格(水平)考試”的一次性通過率保持在50%以上(程序員級(jí))和30%以上(軟件設(shè)計(jì)師級(jí)).同時(shí),我院計(jì)算機(jī)系多名學(xué)生在全國(guó)軟件設(shè)計(jì)大賽中取得了優(yōu)異的成績(jī).在以后的教學(xué)中,將繼續(xù)研究數(shù)據(jù)結(jié)構(gòu)課程教學(xué)方法的改革,為培養(yǎng)高素質(zhì)的技能型軟件開發(fā)人才做出貢獻(xiàn).
[1]安訓(xùn)國(guó),劉俞.數(shù)據(jù)結(jié)構(gòu)[M].第3版.大連:大連理工大學(xué)出版社,2006.
[2]劉俞,景秀麗.數(shù)據(jù)結(jié)構(gòu)實(shí)訓(xùn)與習(xí)題解析[M].大連:大連理工大學(xué)出版社,2006.
[3]李勝,黃玉明,劉俞,等.高職院校計(jì)算機(jī)基礎(chǔ)課程教學(xué)改革研究與實(shí)踐[J].安徽工業(yè)大學(xué)學(xué)報(bào),2011,28(2):123-124.
[4]趙志群.對(duì)工學(xué)結(jié)合課程的認(rèn)識(shí)[J].職教論壇,2008,24(2):9-10.
[5]揭安全,李云清,楊慶紅,等.數(shù)據(jù)結(jié)構(gòu)實(shí)踐教學(xué)體系的設(shè)計(jì)與實(shí)施[J].計(jì)算機(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
馬鞍山職業(yè)技術(shù)學(xué)院教科研項(xiàng)目(X200707)
劉俞(1976-),男,遼寧省沈陽(yáng)人,講師,碩士,研究方向:嵌入式系統(tǒng),計(jì)算機(jī)應(yīng)用技術(shù).