高文蓮,薛艷鋒
(呂梁學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)系,山西 離石 033001)
·教材教法研究·
“算法設(shè)計(jì)與分析”的教學(xué)研究
——以呂梁學(xué)院軟件工程專業(yè)為例
高文蓮,薛艷鋒
(呂梁學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)系,山西 離石 033001)
具有抽象度高、理論與實(shí)際緊密結(jié)合的“算法設(shè)計(jì)與分析”課程是我校軟件工程專業(yè)的核心課程之一,如何提升教學(xué)效果是教學(xué)組織的一項(xiàng)重大挑戰(zhàn).本課程教研過程中,提出“三化一體”的教改思路.圍繞教學(xué)內(nèi)容的設(shè)計(jì)、教學(xué)方法的改進(jìn)、教學(xué)過程的組織等環(huán)節(jié)進(jìn)行多方位教改實(shí)驗(yàn),在教學(xué)設(shè)計(jì)策略,優(yōu)化教學(xué)方法,提高教學(xué)質(zhì)量方面取得了可喜的成績.
算法設(shè)計(jì)與分析;教學(xué)方法;行動研究;教學(xué)效果
“算法設(shè)計(jì)與分析”作為計(jì)算機(jī)學(xué)科的一門面向設(shè)計(jì)的課程,對于一個(gè)軟件工程專業(yè)的學(xué)生來說,學(xué)好這門課程是特別關(guān)鍵也特別重要的.《國家中長期教育改革和發(fā)展規(guī)劃剛要(2010-2020)》中提出了高等教育需分類管理和人才培養(yǎng)結(jié)構(gòu)也應(yīng)做戰(zhàn)略性調(diào)整,地方本科高校應(yīng)實(shí)現(xiàn)轉(zhuǎn)型發(fā)展,把人才培養(yǎng)目標(biāo)定位為“應(yīng)用型人才”[1].軟件工程專業(yè)作為我校新增專業(yè),在其課程體系中,“算法設(shè)計(jì)與分析”作為一門重要的課程.由于受到學(xué)時(shí)、學(xué)分限制,從新專業(yè)與學(xué)時(shí)壓縮的角度考慮,研究和探討如何講授該課,提高本課程的教學(xué)水平,以達(dá)到專業(yè)人才培養(yǎng)的目標(biāo),具有重要的現(xiàn)實(shí)意義[2].
根據(jù)我校軟件工程專業(yè)培養(yǎng)方案和教學(xué)大綱,定位本課程的教學(xué)目標(biāo)為:學(xué)生通過學(xué)習(xí)各種算法的基本思想、設(shè)計(jì)步驟和方法,對算法的時(shí)間復(fù)雜度和空間復(fù)雜度進(jìn)行計(jì)算分析,在諸多算法中選取效率最高的一種算法解決實(shí)際問題,并且為以后從事軟件行業(yè)或相關(guān)領(lǐng)域研究奠定專業(yè)基礎(chǔ)[3].
2.1 例題“生活化”
“算法設(shè)計(jì)與分析”課程要求學(xué)生具備扎實(shí)的理論基礎(chǔ)和較強(qiáng)動手能力;各章節(jié)討論的內(nèi)容比較分散,且各算法間耦合度較低;教材中引用的實(shí)例相對比較經(jīng)典,多以理論性研究為主,與生活實(shí)例交集不是很明顯,學(xué)生潛意識地認(rèn)為這些理論利用價(jià)值不大,在實(shí)際項(xiàng)目的開發(fā)和設(shè)計(jì)中很少應(yīng)用,從而降低了學(xué)習(xí)的興趣.
組織教學(xué)內(nèi)容時(shí)應(yīng)選擇貼近生活的典型事例,將所講知識貫穿到例題中,這樣形象化、具體化,易于學(xué)生理解算法的基本概念和原理、適用條件,增強(qiáng)了學(xué)習(xí)興趣,激發(fā)了學(xué)生思考,發(fā)揮了學(xué)生的主觀能動性,加強(qiáng)了師生的互動.例如,講解貪心算法時(shí),選取“找硬幣”例題作為切入點(diǎn),假設(shè)有3種硬幣,面值分別為一分、五分和一角,現(xiàn)要給顧客找五角三分,要求所拿出的硬幣個(gè)數(shù)是最少的.另外,在精選實(shí)例時(shí),注重培養(yǎng)分析及解決問題的思想方法,案例講解遵循“設(shè)計(jì)例題→提出問題→分析問題→設(shè)計(jì)算法→比較算法→得出結(jié)論”主線,層層展開、有序遞進(jìn),通過思考、比較和消化,學(xué)生更易理解所學(xué)知識.
2.2 算法分析“多樣化”
本課程的教學(xué)對象是軟件工程專業(yè)大三學(xué)生,課程要求學(xué)生應(yīng)該有數(shù)學(xué)邏輯思維能力、概率及其線性代數(shù)的基礎(chǔ),并且先修課程包括離散數(shù)學(xué)和數(shù)據(jù)結(jié)構(gòu).為了培養(yǎng)學(xué)生的發(fā)散思維能力,教師在講授新的算法時(shí),除了講解算法的基本思想和解題步驟,還應(yīng)該將新算法和已學(xué)算法做一一比較,并進(jìn)行分析.例如,選取案例講授算法設(shè)計(jì)思路時(shí),盡量選擇具有多種求解算法的案例,將學(xué)生分成小組,使用不同的算法討論分析案例的求解思路.這樣既加深學(xué)生對算法的理解,又引導(dǎo)學(xué)生更好地消化不同算法的實(shí)現(xiàn)細(xì)節(jié),從而深刻地體會不同算法解題思路的差異.例如,講到貪心算法時(shí),選取“最短路徑問題”作為案例切入,要求學(xué)生用貪心算法、回溯法、分支限界法結(jié)合案例展開討論,最終分別求解最短路徑,比較這三種算法的異同點(diǎn)和優(yōu)缺點(diǎn),使學(xué)生深刻體會到算法在現(xiàn)實(shí)生活中的實(shí)際意義,激發(fā)學(xué)生的探索欲望,實(shí)現(xiàn)舉一反三.講授理論知識時(shí)重點(diǎn)強(qiáng)調(diào)算法時(shí)間復(fù)雜度和空間復(fù)雜度的原因,并養(yǎng)成自覺分析算法復(fù)雜度的學(xué)習(xí)習(xí)慣.
2.3 作業(yè)設(shè)置“差異化”
隨著我校生源區(qū)域的擴(kuò)大,學(xué)生數(shù)量的增多,學(xué)生之間在智力水平、基礎(chǔ)知識、學(xué)習(xí)動機(jī)和學(xué)習(xí)方法、興趣愛好上有著較大的差異.因此,如何根據(jù)學(xué)生的個(gè)體差異、使學(xué)生的個(gè)性特長得以發(fā)展,在考慮整體學(xué)生發(fā)展的同時(shí)需要兼顧特殊群體的特長發(fā)展,提高不同層次學(xué)生的綜合素質(zhì)是教學(xué)改革實(shí)踐中需要重點(diǎn)考慮的問題.在作業(yè)的設(shè)置上,根據(jù)學(xué)生的知識結(jié)構(gòu)和層次水平,采用作業(yè)“差異化”訓(xùn)練和檢驗(yàn),以便真實(shí)反映學(xué)生對知識的掌握程度和教學(xué)效果.
為了滿足素質(zhì)教育對本專業(yè)學(xué)生發(fā)展的新要求,借鑒其他專業(yè)課和多年教學(xué)經(jīng)驗(yàn),在本課程的授課過程中,在教學(xué)內(nèi)容、教學(xué)方法、教學(xué)手段等方面做了一些探索和改革,取得了良好的教學(xué)效果[4].本次教學(xué)研究采用行動研究法,結(jié)合本文提出的“生活化”、“多樣化”和“差異化”,試圖將理論上對教學(xué)的設(shè)計(jì)運(yùn)用到教學(xué)實(shí)踐中,以便于探索具有可操作性的教學(xué)方法.

圖1 行動研究流程圖
3.1 行動研究對象
在教學(xué)實(shí)踐過程中,以自身作為行動研究者,選取軟件工程1301、1302班學(xué)生作為教學(xué)實(shí)踐對象,其中1班29人,2班30人,兩個(gè)行政班級是按照高考錄取分?jǐn)?shù)均衡分設(shè)的兄弟班,并歸受同一個(gè)班主任管理.
3.2 行動研究內(nèi)容
結(jié)合2013級人才培養(yǎng)方案和算法設(shè)計(jì)與分析教學(xué)大綱,以王曉東的《計(jì)算機(jī)算法設(shè)計(jì)與分析》作為參考教材,選取貪心算法中的背包問題作為行動研究的內(nèi)容.
3.3 行動研究過程
本次行動研究的基本流程是:“根據(jù)培養(yǎng)方案和教學(xué)大綱提取教學(xué)內(nèi)容——分析教學(xué)內(nèi)容——設(shè)計(jì)教學(xué)流程并實(shí)施——觀察、反思——修改/完善教學(xué)內(nèi)容——修改/完善教學(xué)設(shè)計(jì)及實(shí)施——觀察、反思——補(bǔ)救教學(xué)”.如圖1所示.
4.1 第一次行動研究
本次行動研究在軟件工程專業(yè)1301班開展,以貪心算法作為教學(xué)內(nèi)容,精選生活中找硬幣的案例作為課堂教學(xué)的導(dǎo)入點(diǎn),通過講解背包問題提取貪心算法的性質(zhì),分析算法的時(shí)間復(fù)雜度和空間復(fù)雜度.課堂教學(xué)時(shí)間分配表如表1所示.
4.2 第二次行動研究
在第一次教學(xué)內(nèi)容分析的基礎(chǔ)上,重新瀏覽教材,提取教學(xué)內(nèi)容,完善教學(xué)設(shè)計(jì),在1302班進(jìn)行第二次教學(xué),通過課堂觀察,與1301班相比較,課堂教學(xué)更順暢、節(jié)奏合理,教學(xué)內(nèi)容的講解突出了重難點(diǎn)、知識結(jié)構(gòu)循序漸進(jìn),教學(xué)氛圍活躍.本次行動研究教學(xué)時(shí)間分配如表2所示.

表1 第一次行動研究教學(xué)時(shí)間分配

表2 第二次行動研究教學(xué)時(shí)間分配
與第一輪相比,此輪教學(xué)行動,凸顯出教學(xué)設(shè)計(jì)對整個(gè)教學(xué)環(huán)節(jié)的重要性,達(dá)到了預(yù)期的教學(xué)目標(biāo).
4.3 第三次行動研究
1301、1302班作為兄弟班級,考慮到第一輪的教學(xué)設(shè)計(jì)不夠全面,導(dǎo)致1301班教學(xué)引入不流暢,學(xué)生對主要內(nèi)容掌握不夠具體、不夠深入.鑒于此,在1301班采取了相應(yīng)的補(bǔ)救策略,強(qiáng)調(diào)了貪心算法和動態(tài)規(guī)劃的本質(zhì)區(qū)別,并通過講解實(shí)例做了區(qū)分,深化了學(xué)生對兩種算法的正確認(rèn)識,幫助學(xué)生完善已有的知識結(jié)構(gòu),促使1301班學(xué)生與1302班學(xué)生達(dá)到了同等水平的教學(xué)效果.
本次行動研究,針對我校軟件工程專業(yè)學(xué)生的實(shí)際情況,詳細(xì)分析教學(xué)內(nèi)容,用心設(shè)計(jì)教學(xué)過程、在教學(xué)實(shí)踐中不斷進(jìn)行反思和完善.在反思、完善、實(shí)施的循環(huán)過程中,不僅提高了課堂的教學(xué)效果,還促使自身專業(yè)素質(zhì)得到了提高.但由于教學(xué)理論基礎(chǔ)薄弱、教學(xué)經(jīng)驗(yàn)欠缺,研究時(shí)間和研究能力有限,從理論角度上看,本次研究探索的不夠到位,教學(xué)過程中仍存在一定的主觀傾向,一定程度上影響了研究結(jié)論的真實(shí)性.
[1]鄔迎,王麗偉.淺談應(yīng)用型人才培養(yǎng)模式下算法設(shè)計(jì)與分析教學(xué)改革[J].學(xué)術(shù)探討-教學(xué)改革,2016(18).
[2]于洪.智能科學(xué)與技術(shù)專業(yè)的算法設(shè)計(jì)與分析課程教學(xué)探討[J].計(jì)算機(jī)教育,2015(19).
[3]向金海,任繼平.算法設(shè)計(jì)與分析課程教學(xué)與實(shí)踐方法探討[J].計(jì)算機(jī)教育,2014(6).
[4]戴群.算法設(shè)計(jì)與分析本科課程教學(xué)研究[J].教育與教學(xué)研究,2014(18).
2017-02-09
山西省教育廳教學(xué)改革項(xiàng)目(J2016115);呂梁學(xué)院教學(xué)改革項(xiàng)目(JYZD201706).
高文蓮(1968-),女,山西臨縣人,副教授,研究方向?yàn)橛?jì)算機(jī)網(wǎng)絡(luò)、計(jì)算機(jī)應(yīng)用. 薛艷鋒(1984-),男,山西臨縣人,講師,研究方向?yàn)閿?shù)據(jù)挖掘.
TP3-4;G642.0
A
2095-185X(2017)02-0086-03