崔彩霞 菅小艷 龐天杰
摘要:針對(duì)地方高校計(jì)算機(jī)類專業(yè)“算法與數(shù)據(jù)結(jié)構(gòu)”實(shí)踐教學(xué)的現(xiàn)狀,分析“算法與數(shù)據(jù)結(jié)構(gòu)”實(shí)踐教學(xué)改革實(shí)施的原因,提出適合地方高校計(jì)算機(jī)類專業(yè)“算法與數(shù)據(jù)結(jié)構(gòu)”實(shí)踐教學(xué)的改革方案,經(jīng)過這幾年的教改試驗(yàn),得出該實(shí)踐教改方案的可行性和有效性。
關(guān)鍵詞:算法與數(shù)據(jù)結(jié)構(gòu);實(shí)踐教學(xué);課程設(shè)計(jì);CDIO
1.地方高校計(jì)算機(jī)類專業(yè)“算法與數(shù)據(jù)結(jié)構(gòu)”實(shí)踐教學(xué)現(xiàn)狀和問題分析
通過調(diào)查山西省高校(如山西大學(xué)、太原理工大學(xué)、太原師范學(xué)院、山西大同大學(xué)等)計(jì)算機(jī)類專業(yè)“算法與數(shù)據(jù)結(jié)構(gòu)”的教學(xué)情況可知,理論課和實(shí)驗(yàn)課的課程比例有以下幾種:3:2,3:1,4:1,個(gè)別學(xué)校不開實(shí)驗(yàn)課,但大部分學(xué)生和老師反映實(shí)踐教學(xué)沒有達(dá)到預(yù)期效果,有以下幾點(diǎn)原因:
(1)實(shí)驗(yàn)形式單一,項(xiàng)目陳舊。
(2)實(shí)驗(yàn)成績多以實(shí)驗(yàn)報(bào)告為主要內(nèi)容來確定,導(dǎo)致學(xué)生忙于應(yīng)付實(shí)驗(yàn)報(bào)告,未能積極面對(duì)實(shí)踐環(huán)節(jié)中出現(xiàn)的問題。
(3)學(xué)生對(duì)程序設(shè)計(jì)課程的學(xué)習(xí)不夠深入,普遍編程能力較差,導(dǎo)致實(shí)踐環(huán)節(jié)不能達(dá)到預(yù)期效果。
(4)學(xué)生對(duì)數(shù)據(jù)結(jié)構(gòu)在實(shí)際問題中的應(yīng)用缺乏了解,大多數(shù)同學(xué)沒有見過具有實(shí)際意義的題目,更不知道如何用“算法與數(shù)據(jù)結(jié)構(gòu)”來解決實(shí)際問題。
2.地方高校計(jì)算機(jī)類專業(yè)“算法與數(shù)據(jù)結(jié)構(gòu)”實(shí)踐教學(xué)的改革方案
針對(duì)行業(yè)、企業(yè)對(duì)計(jì)算機(jī)類專業(yè)人才的要求進(jìn)行了調(diào)查。調(diào)查顯示,相關(guān)企業(yè)人力資源主管較為青睞擁有編程能力、操作系統(tǒng)知識(shí)和數(shù)據(jù)庫知識(shí)的人才;而項(xiàng)目主管則更青睞編程能力、數(shù)據(jù)結(jié)構(gòu)知識(shí)和算法知識(shí)3種技能。此外,依次具備數(shù)據(jù)庫知識(shí)、軟件工程知識(shí)和操作系統(tǒng)知識(shí)的人才也是備受市場青睞的主要人才。值得注意的是,畢業(yè)生的實(shí)踐經(jīng)驗(yàn)也是相關(guān)企業(yè)招聘員工時(shí)要考察的要素之一,一些企業(yè)甚至要求應(yīng)聘者有項(xiàng)目研發(fā)的相關(guān)實(shí)踐經(jīng)驗(yàn)(見表1)。
鑒于以上對(duì)計(jì)算機(jī)類專業(yè)人才的要求,結(jié)合“算法和數(shù)據(jù)結(jié)構(gòu)”課程的實(shí)踐教學(xué),做出以下的教學(xué)改革方案。
2.1實(shí)踐教學(xué)環(huán)節(jié)改革
多年來,“算法與數(shù)據(jù)結(jié)構(gòu)”課程的實(shí)踐教學(xué)只是單純的課內(nèi)實(shí)驗(yàn),由“線性表的操作”“棧和隊(duì)列的操作”“二叉樹的操作”“圖的操作”和“查找、排序的操作”等5個(gè)實(shí)驗(yàn)項(xiàng)目,12個(gè)課時(shí)組成,都屬于驗(yàn)證性實(shí)驗(yàn)。為了能夠培養(yǎng)出滿足社會(huì)需求的計(jì)算機(jī)人才,筆者進(jìn)行了幾輪“算法與數(shù)據(jù)結(jié)構(gòu)”實(shí)踐教學(xué)環(huán)節(jié)改革,摸索出了多層次、多環(huán)節(jié)的實(shí)踐教學(xué)方案。
“算法與數(shù)據(jù)結(jié)構(gòu)”實(shí)踐教學(xué)總體分為兩個(gè)環(huán)節(jié):課內(nèi)實(shí)驗(yàn)環(huán)節(jié)和課程設(shè)計(jì)環(huán)節(jié)。課內(nèi)實(shí)驗(yàn)環(huán)節(jié)安排在各章理論課學(xué)習(xí)完后進(jìn)行,包含驗(yàn)證性實(shí)驗(yàn)、綜合性實(shí)驗(yàn)和創(chuàng)新性實(shí)驗(yàn)3個(gè)層次。課程設(shè)計(jì)環(huán)節(jié)專門利用一周時(shí)間進(jìn)行。以上各個(gè)環(huán)節(jié)相互銜接、相互滲透。多層次的實(shí)踐環(huán)節(jié)能夠提供給學(xué)生不同的體驗(yàn),激發(fā)學(xué)生的興趣,同時(shí),分組課程設(shè)計(jì)鍛煉了學(xué)生團(tuán)隊(duì)合作、分析問題和解決問題的能力,從而加強(qiáng)了學(xué)生面對(duì)實(shí)際問題時(shí)實(shí)戰(zhàn)能力的培養(yǎng)。
2.2實(shí)驗(yàn)教學(xué)內(nèi)容改革
首先,對(duì)“算法與數(shù)據(jù)結(jié)構(gòu)”課程的計(jì)劃課時(shí)做了調(diào)整,理論和實(shí)驗(yàn)比例調(diào)整為3:1,隨之,將實(shí)驗(yàn)項(xiàng)目也做了調(diào)整。對(duì)應(yīng)于每一部分的理論課程學(xué)習(xí)內(nèi)容,線性結(jié)構(gòu)、樹形結(jié)構(gòu)、圖狀結(jié)構(gòu)為驗(yàn)證性實(shí)驗(yàn),同時(shí)為了讓學(xué)生了解對(duì)應(yīng)的應(yīng)用,設(shè)置項(xiàng)目時(shí),答案在教材中,問題在生活中,建立面向問題求解的實(shí)踐教學(xué)模式,以實(shí)際問題求解為最終目標(biāo)來組織和設(shè)計(jì)實(shí)踐教學(xué)內(nèi)容。例如,在線性表的實(shí)驗(yàn)中,為了驗(yàn)證線性表的基本操作,提出了一個(gè)日常生活中常見的問題——通信錄的各種操作。見到這個(gè)題目,第一,學(xué)生首先要分析通信錄是否符合線性表的所有特點(diǎn);第二,學(xué)生根據(jù)線性表的基本操作完成通信錄的各種操作;第三,學(xué)生不能完全抄襲書上的算法,需要適當(dāng)?shù)淖兺?。這樣,既驗(yàn)證了教材中所學(xué)的理論和算法,激發(fā)學(xué)生的興趣,同時(shí)還能了解線性表在實(shí)際生活中的應(yīng)用。
對(duì)應(yīng)于查找、排序這兩部分的內(nèi)容,設(shè)置一些綜合性實(shí)驗(yàn),例如成績管理系統(tǒng)、家譜管理系統(tǒng)等,旨在全面地應(yīng)用“算法與數(shù)據(jù)結(jié)構(gòu)”中學(xué)到的理論和算法。
最后,為了培養(yǎng)學(xué)生的創(chuàng)新能力,要求學(xué)生根據(jù)所學(xué)知識(shí),自己找到感興趣的問題,編寫一個(gè)小型的系統(tǒng),題目自擬。
2.3實(shí)驗(yàn)教學(xué)考核改革
以往的實(shí)驗(yàn)成績是5個(gè)項(xiàng)目的平均分,而每個(gè)項(xiàng)目的成績由出勤和實(shí)驗(yàn)報(bào)告組成,沒有體現(xiàn)出學(xué)生實(shí)驗(yàn)課上的具體表現(xiàn),實(shí)驗(yàn)報(bào)告也只是把運(yùn)行代碼抄一遍。鑒于以上原因,對(duì)實(shí)驗(yàn)教學(xué)的考核進(jìn)行如下改革:第一,注重實(shí)驗(yàn)過程;第二,實(shí)驗(yàn)報(bào)告中要求寫出運(yùn)行結(jié)果與分析。
2.4基于CDIO理念的課程設(shè)計(jì)
“算法與數(shù)據(jù)結(jié)構(gòu)”的課程設(shè)計(jì)在課程結(jié)束后,專門用一周時(shí)間進(jìn)行,作為一門獨(dú)立的實(shí)踐課程,占1學(xué)分。這一階段主要目標(biāo):一是加深學(xué)生對(duì)算法與數(shù)據(jù)結(jié)構(gòu)的理解,能應(yīng)用學(xué)習(xí)過的數(shù)據(jù)結(jié)構(gòu),根據(jù)實(shí)際問題定義數(shù)據(jù)結(jié)構(gòu),培養(yǎng)學(xué)生的應(yīng)用能力;二是培養(yǎng)學(xué)生的實(shí)踐能力、團(tuán)隊(duì)合作能力和創(chuàng)新能力。
在“算法與數(shù)據(jù)結(jié)構(gòu)”課程設(shè)計(jì)教學(xué)中,融入CDIO理念。CDIO于2000年由美國麻省理工學(xué)院和瑞典皇家工學(xué)院等4所大學(xué)聯(lián)合提出,是將“做項(xiàng)目中學(xué)習(xí)”貫穿工程項(xiàng)目構(gòu)思(Conceive)、設(shè)計(jì)(Design)、實(shí)現(xiàn)(Implement)和運(yùn)轉(zhuǎn)(Operate)4個(gè)生命過程的教育創(chuàng)新模式。它是一種“基于項(xiàng)目的教育和學(xué)習(xí)”方式,讓學(xué)生主動(dòng)地、實(shí)踐地參與到理論到實(shí)踐的轉(zhuǎn)化過程中來,更加重視學(xué)生實(shí)踐的積極性和主動(dòng)性,更加注重培養(yǎng)學(xué)生的團(tuán)隊(duì)意識(shí)和創(chuàng)新能力。
具體實(shí)施方案:
第一步,由“算法與數(shù)據(jù)結(jié)構(gòu)”課程組提出一些備選題目,每個(gè)備選題目給出基本要求、要實(shí)現(xiàn)的基本功能。
第二步,為了全面提升學(xué)生的綜合能力,學(xué)生首先按照自愿的原則分組,4-5人一組,并選派1人擔(dān)任組長,采用組長負(fù)責(zé)制;組長組織小組成員選題(當(dāng)然學(xué)生也可以自己構(gòu)思一個(gè)項(xiàng)目),討論題目的要求、用到的數(shù)據(jù)結(jié)構(gòu)、需要實(shí)現(xiàn)的基本功能、還需拓展的功能,對(duì)設(shè)計(jì)任務(wù)進(jìn)行責(zé)任劃分安排,每個(gè)成員都有需要自己獨(dú)立完成的具體任務(wù),做到每個(gè)模塊相對(duì)獨(dú)立,模塊間相互聯(lián)系,分工合作。小組成員編寫完自己的模塊程序,組長集合大家將各個(gè)模塊程序組合在一起,準(zhǔn)備接受指導(dǎo)教師的驗(yàn)收。教師在整個(gè)過程中做好監(jiān)督和輔導(dǎo)工作。在這個(gè)過程中,學(xué)生做到完成了CDIO中的構(gòu)思、設(shè)計(jì)和實(shí)現(xiàn)。
第三步,項(xiàng)目完成后,課程設(shè)計(jì)的考核采取小組答辯的形式。指導(dǎo)教師不僅要查看整個(gè)項(xiàng)目功能的完整性,對(duì)其中的問題提出質(zhì)疑,還要讓小組成員敘述自己的部分,以防有“渾水摸魚”的學(xué)生。
2.5課程后續(xù)實(shí)踐環(huán)節(jié)——程序設(shè)計(jì)競賽
部分學(xué)生經(jīng)過“算法與數(shù)據(jù)結(jié)構(gòu)”課程的學(xué)習(xí),實(shí)驗(yàn)與課程設(shè)計(jì)的實(shí)踐訓(xùn)練,已經(jīng)能夠在規(guī)定時(shí)間內(nèi),在面對(duì)實(shí)際問題時(shí)能夠通過分析問題,建立數(shù)學(xué)模型、選擇合適的數(shù)據(jù)結(jié)構(gòu)以及設(shè)計(jì)具體算法策略,并在計(jì)算機(jī)上編程實(shí)現(xiàn)嘲。為了檢驗(yàn)學(xué)生解決問題能力和編程能力,應(yīng)鼓勵(lì)學(xué)生參加各級(jí)各類程序設(shè)計(jì)競賽。2010年至今,太原師范學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系經(jīng)過實(shí)踐教學(xué)改革的學(xué)生參加了藍(lán)橋杯省賽和全國決賽,分別獲得了一等、二等、三等和優(yōu)秀獎(jiǎng)數(shù)十項(xiàng)。
3.結(jié)語
經(jīng)過幾輪“算法與數(shù)據(jù)結(jié)構(gòu)”實(shí)踐教改的摸索和試驗(yàn),實(shí)踐環(huán)節(jié)更加多樣化,實(shí)驗(yàn)內(nèi)容也在不斷地更新和完善。通過這幾輪一系列的實(shí)踐教學(xué)改革,增加了學(xué)生的學(xué)習(xí)興趣,開拓了學(xué)生的視野,培養(yǎng)了學(xué)生的應(yīng)用能力、發(fā)展能力、團(tuán)隊(duì)合作能力和創(chuàng)新能力,積累了學(xué)生的實(shí)踐經(jīng)驗(yàn),同時(shí)也為各類與程序設(shè)計(jì)相關(guān)的競賽培養(yǎng)了大量人才。