李其申 黃華 張永
【摘 要】 針對(duì)目前算法設(shè)計(jì)與分析課程教學(xué)中存在的不足,文章從教學(xué)內(nèi)容、教學(xué)方法、考核方式等方面進(jìn)行改革。優(yōu)化教學(xué)內(nèi)容、采用階段式多元化教學(xué)方法、加強(qiáng)過(guò)程考核、建立課外創(chuàng)新團(tuán)隊(duì)“以賽促教”,目的是提高教學(xué)效果、提升學(xué)生運(yùn)用知識(shí)能力和綜合素質(zhì)能力。
【關(guān)鍵詞】 算法設(shè)計(jì)與分析 ?教學(xué)改革 ?以賽促教
引言
近年來(lái),隨著計(jì)算機(jī)技術(shù)的迅猛發(fā)展,在當(dāng)今大數(shù)據(jù)與“互聯(lián)網(wǎng)+”時(shí)代,大學(xué)生更需要堅(jiān)實(shí)的專業(yè)知識(shí)才能跟上科技的腳步。而算法設(shè)計(jì)作為計(jì)算機(jī)專業(yè)課程更加凸顯其重要性。從事與算法相關(guān)的軟件開(kāi)發(fā)、維護(hù)和運(yùn)營(yíng)是當(dāng)前高校計(jì)算機(jī)畢業(yè)生的一個(gè)就業(yè)熱點(diǎn),如何使算法設(shè)計(jì)與分析課程建設(shè)更適合于計(jì)算機(jī)應(yīng)用型人才的培養(yǎng)需求是一個(gè)重要的問(wèn)題?;诖?,針對(duì)算法設(shè)計(jì)與分析課程存在的問(wèn)題及現(xiàn)狀,就算法設(shè)計(jì)與分析課程教學(xué)方法、網(wǎng)絡(luò)輔助教學(xué)、考核機(jī)制以及實(shí)踐教學(xué)環(huán)節(jié)問(wèn)題,提出了相應(yīng)的教學(xué)改革措施和策略,并按照“分級(jí)遞進(jìn)、逐步提高、綜合應(yīng)用”原則設(shè)計(jì)實(shí)踐教學(xué),使學(xué)生能夠達(dá)到新工科背景下計(jì)算機(jī)專業(yè)人才培養(yǎng)目標(biāo)的要求及就業(yè)需求。
計(jì)算機(jī)編寫程序解決問(wèn)題,先要設(shè)計(jì)出解決問(wèn)題的算法,因此算法是程序設(shè)計(jì)的基礎(chǔ)?!端惴ㄔO(shè)計(jì)與分析》是計(jì)算機(jī)、網(wǎng)絡(luò)工程、軟件工程、信息安全等專業(yè)的一門重要專業(yè)課。通過(guò)課程的學(xué)習(xí),使學(xué)生能夠理解并掌握常用的算法設(shè)計(jì)技術(shù)和實(shí)現(xiàn)方法,培養(yǎng)學(xué)生分析算法復(fù)雜度的能力,并引導(dǎo)學(xué)生根據(jù)問(wèn)題建立數(shù)學(xué)模型、進(jìn)行算法設(shè)計(jì)和復(fù)雜度分析,增強(qiáng)其解決工程和生活中實(shí)際問(wèn)題的能力。為順利對(duì)口就業(yè)奠定基礎(chǔ)。
1. 存在的問(wèn)題
算法設(shè)計(jì)與分析課程是一門理論與實(shí)踐并重的課程,主要依靠理解與實(shí)踐,并加以靈活應(yīng)用。但在教學(xué)過(guò)程中學(xué)生對(duì)課程掌握的情況不理想,一方面源于學(xué)生知識(shí)學(xué)習(xí)深度不夠,另一方面源于教師缺乏有效的教學(xué)方法和手段。
大多高校對(duì)該課程仍以理論講授為主,一般是給出一些典型的問(wèn)題,采用經(jīng)典的算法求解。這些典型問(wèn)題大部分偏理論,過(guò)少甚至缺失算法編程實(shí)踐,與實(shí)際生產(chǎn)中的問(wèn)題有距離,且難度較大,學(xué)生會(huì)有畏難情緒,影響學(xué)生學(xué)習(xí)積極性,被動(dòng)接受知識(shí),缺乏獨(dú)立思考,一定程度上影響了教學(xué)效果。在該課程的教學(xué)過(guò)程中,如何使學(xué)生具備更強(qiáng)的獨(dú)立探求新技術(shù)和新方法的能力、創(chuàng)新能力和適應(yīng)能力是當(dāng)前該課程教學(xué)所面臨的重要問(wèn)題。針對(duì)課程特點(diǎn)和教學(xué)中存在的問(wèn)題,采取了以下的方式和方法改進(jìn)教學(xué)。
2. 改進(jìn)措施
2.1 優(yōu)化教學(xué)內(nèi)容
本課程主要講授算法的設(shè)計(jì)技術(shù)和分析方法,包括基礎(chǔ)知識(shí)、有代表性的算法設(shè)計(jì)技術(shù)、算法分析與問(wèn)題的計(jì)算復(fù)雜度、NP完全性理論等。內(nèi)容可分三部分:第一部分算法分析基礎(chǔ);第二部分是算法設(shè)計(jì)策略;第三部分算法能力的極限,主要是求解困難問(wèn)題。內(nèi)容組織上本著“設(shè)計(jì)與分析并重、理論與實(shí)踐應(yīng)用結(jié)合、經(jīng)典與現(xiàn)代互補(bǔ)”的原則,同時(shí)擴(kuò)展介紹本學(xué)科領(lǐng)域的前沿知識(shí),增加有關(guān)大數(shù)據(jù)挖掘的算法、神經(jīng)網(wǎng)絡(luò)的知識(shí)、并行編程技術(shù)等,內(nèi)容體現(xiàn)“經(jīng)典性”、“前沿性”、“創(chuàng)新性”特點(diǎn)。
結(jié)合競(jìng)賽和教師科研內(nèi)容去融入教學(xué)中,尤其是在講解蠻力算法問(wèn)題時(shí),通過(guò)科研項(xiàng)目案例幫助學(xué)生理解后續(xù)算法的完備性;講解線性規(guī)劃、近似算法和隨機(jī)算法,這些是實(shí)用性較強(qiáng)的算法,教學(xué)重點(diǎn)如何運(yùn)用這些實(shí)用算法去解決實(shí)際生活中的問(wèn)題,增強(qiáng)學(xué)生的學(xué)習(xí)興趣,讓學(xué)生感到學(xué)有所用,即培養(yǎng)學(xué)生對(duì)所學(xué)算法的實(shí)際應(yīng)用能力。最終達(dá)到使學(xué)生可以用基本理論去解決實(shí)際問(wèn)題的目標(biāo)。
2.2. 階段式多元化教學(xué)法
以學(xué)生為中心,在教學(xué)任務(wù)的不同階段靈活運(yùn)用多元化教學(xué)法。該教學(xué)法是將教學(xué)任務(wù)劃分為多個(gè)階段,有步驟有計(jì)劃有明確目標(biāo)地進(jìn)行,根據(jù)各階段教學(xué)內(nèi)容特點(diǎn)融合多種教學(xué)法實(shí)施教學(xué)。
第一部分算法分析基礎(chǔ)階段主要采用案例教學(xué)法、任務(wù)驅(qū)動(dòng)教學(xué)法、翻轉(zhuǎn)課堂教學(xué)法。建立網(wǎng)絡(luò)教學(xué)平臺(tái),將章節(jié)視頻、案例視頻、教學(xué)課件、作業(yè)任務(wù)、練習(xí)庫(kù)等相關(guān)教學(xué)資料內(nèi)容放置到教學(xué)平臺(tái),輔助課程教學(xué),將課堂教學(xué)延伸到課外,供學(xué)生自主學(xué)習(xí)和復(fù)習(xí)。
第二部分是算法設(shè)計(jì)策略學(xué)習(xí)階段,主要采用啟發(fā)教學(xué)法、案例教學(xué)法、分組討論法、任務(wù)驅(qū)動(dòng)教學(xué)法。例如在講解線性規(guī)劃模型時(shí),可以通過(guò)銀行理財(cái)?shù)陌咐龁l(fā)教學(xué),同時(shí)采用分組討論如何利用不同的算法在理財(cái)時(shí)達(dá)到收益最大化,以現(xiàn)實(shí)生活熱點(diǎn)案例學(xué)習(xí)討論激發(fā)學(xué)生的學(xué)習(xí)興趣;例如背包問(wèn)題、資源分配問(wèn)題等,采用不同的策略求解,分析比較各種策略的優(yōu)缺點(diǎn),使學(xué)生理解各種算法策略的特點(diǎn)、學(xué)生通過(guò)編寫程序?qū)崿F(xiàn),理論聯(lián)系實(shí)際,學(xué)習(xí)在求解實(shí)際問(wèn)題中,如何合理地選擇所需要的策略,幫助學(xué)生加深對(duì)算法的理解。
第三部分算法能力的極限學(xué)習(xí)階段,主要是求解困難問(wèn)題。該階段屬于拓展學(xué)習(xí)階段,主要采用基于問(wèn)題的教學(xué)法、案例教學(xué)法、項(xiàng)目教學(xué)法。這個(gè)學(xué)習(xí)階段可先通過(guò)經(jīng)典、有趣的實(shí)例來(lái)說(shuō)明,使學(xué)生了解的大致解決思想,然后再通過(guò)閱讀相關(guān)科技文獻(xiàn)的方法加深對(duì)算法的理解。這樣不僅可以讓學(xué)生較容易地掌握相關(guān)算法,還可以讓其了解相關(guān)領(lǐng)域的研究狀況。
2.3 考核方式改革
算法設(shè)計(jì)與分析課程除了期末考試以外,應(yīng)該考核方式多樣化,增加平時(shí)考核和過(guò)程考核。注重評(píng)判學(xué)生平時(shí)課堂上的積極性,作業(yè)的完成效果,學(xué)生的創(chuàng)新能力,即注重對(duì)學(xué)生的過(guò)程性考核。為了激發(fā)學(xué)生參加學(xué)習(xí)的興趣,教師對(duì)學(xué)生參加校“三小”項(xiàng)目、老師的科研項(xiàng)目、藍(lán)橋杯等類似的程序設(shè)計(jì)競(jìng)賽的積極表現(xiàn)和獲獎(jiǎng)應(yīng)該給予“加分”激勵(lì)。利用過(guò)程性考核和最終的理論測(cè)試考核相結(jié)合的方式來(lái)綜合評(píng)價(jià)學(xué)生。課程總成績(jī)分三方面考核(1)理論知識(shí)考核,包括算法知識(shí)點(diǎn)理解記憶,同時(shí)也包括代碼的編寫能力與風(fēng)格以及設(shè)計(jì)模式的應(yīng)用,此部分采用筆試,占50% ;(2)平時(shí)的課堂參與度與課堂習(xí)題完成情況認(rèn)定,占20% ;(3)實(shí)踐考核,上機(jī)實(shí)踐及實(shí)踐能力考核(其中包括由學(xué)生參賽、參與科研情況及已獲得的成果)占30%。
2.4 創(chuàng)建課外創(chuàng)新團(tuán)隊(duì)加強(qiáng)實(shí)踐改革
依靠課內(nèi)學(xué)時(shí)培養(yǎng)學(xué)生的算法設(shè)計(jì)、分析和創(chuàng)新能力是遠(yuǎn)遠(yuǎn)不夠,還要將實(shí)驗(yàn)環(huán)節(jié)與各種程序設(shè)計(jì)大賽相結(jié)合,鼓勵(lì)學(xué)有余力的學(xué)生積極參與相關(guān)比賽的訓(xùn)練或?qū)嵺`團(tuán)隊(duì)[1]。這些競(jìng)賽以程序設(shè)計(jì)語(yǔ)言為依托,以算法設(shè)計(jì)為重點(diǎn),考察學(xué)生綜合實(shí)踐應(yīng)用能力。
創(chuàng)建學(xué)生課外創(chuàng)新團(tuán)隊(duì),在本科生導(dǎo)師制的基礎(chǔ)上,成立由各年級(jí)學(xué)生自愿參加的學(xué)生創(chuàng)新團(tuán)隊(duì),并為團(tuán)隊(duì)命名,以凝聚吸引力和合作精神。團(tuán)隊(duì)包括大一、二、三年級(jí)學(xué)生,主要以大二、三年級(jí)學(xué)生為主的“以老帶新”的梯隊(duì)建設(shè)原則,由專業(yè)的專任教師進(jìn)行計(jì)劃性、系統(tǒng)性地課外教學(xué)和實(shí)踐指導(dǎo)。教師鼓勵(lì)學(xué)生參加科研項(xiàng)目、藍(lán)橋杯、ACM-ICPC等各項(xiàng)競(jìng)賽,側(cè)重考查學(xué)生解決實(shí)際問(wèn)題的能力,能較好地培養(yǎng)學(xué)生自主學(xué)習(xí)、分析解決實(shí)際問(wèn)題及團(tuán)隊(duì)合作的能力。作者指導(dǎo)學(xué)生的作品在第十四屆“挑戰(zhàn)杯”全國(guó)大學(xué)生課外學(xué)術(shù)科技作品競(jìng)賽江西賽區(qū)決賽獲科技發(fā)明B類一等獎(jiǎng)(本科組)。指導(dǎo)學(xué)生參加中國(guó)高校計(jì)算機(jī)大賽-團(tuán)體程序設(shè)計(jì)天梯賽獲總決賽團(tuán)一等獎(jiǎng)。指導(dǎo)學(xué)生參加國(guó)家大學(xué)生創(chuàng)新訓(xùn)練計(jì)劃項(xiàng)目“基于STM32的校園快遞自助收發(fā)終端”、“面向發(fā)電裝備的工況數(shù)據(jù)模擬試驗(yàn)臺(tái)性能測(cè)試”等項(xiàng)目均獲獎(jiǎng)。
結(jié)束語(yǔ)
綜上所述,如何培養(yǎng)學(xué)生善于學(xué)習(xí)新知識(shí)和運(yùn)用知識(shí)解決實(shí)際問(wèn)題的能力, 對(duì)教師的教學(xué)活動(dòng)是很大的挑戰(zhàn)。要培養(yǎng)高素質(zhì)、具有創(chuàng)新能力的學(xué)生,還必須建設(shè)高水平的教師隊(duì)伍。在以后的教學(xué)工作中,將進(jìn)一步加強(qiáng)課程建設(shè),培養(yǎng)學(xué)生對(duì)算法學(xué)習(xí)的興趣,提高學(xué)生獨(dú)立分析問(wèn)題及解決問(wèn)題的實(shí)際動(dòng)手能力。
參考文獻(xiàn)
[1] 陳英,江智康,章文貴,裴威鳳.算法設(shè)計(jì)與分析課程以賽勵(lì)教的教學(xué)模式及效果分析[J]. 高教學(xué)刊,2020(6):77-79.
[2] 孫廷凱 , 於東軍 , 孔慧 , 張宏 , 陸建峰 .“算法設(shè)計(jì)與分析”課程探究式教學(xué)改革實(shí)踐 [J]. 工業(yè)和信息化教育, 2017(10).
[3] 張銀柯,陳瑞芳.算法設(shè)計(jì)與分析教學(xué)改革[J].內(nèi)江科技, 2017(11).
[4] 吳川,孫錦程.基于ACM的《算法設(shè)計(jì)與分析》教學(xué)改革研究[J].中國(guó)科教創(chuàng)新導(dǎo)刊, 2010(32).
[5] 孫廷凱,於東軍,孔慧,張宏,陸建峰.“算法設(shè)計(jì)與分析”課程探究式教學(xué)改革實(shí)踐[J].工業(yè)和信息化教育, 2017(10).
[6] 王智峰,張學(xué)東,王莉,丁寧.算法設(shè)計(jì)與分析課程教學(xué)改革[J].中國(guó)冶金教育, 2018(06).
*基金項(xiàng)目:南昌航空大學(xué)第四批校級(jí)創(chuàng)新創(chuàng)業(yè)教育課程培育項(xiàng)目“算法設(shè)計(jì)與分析”
作者簡(jiǎn)介:李其申(1975-) 博士學(xué)位,副教授,主要研究方向:計(jì)算機(jī)應(yīng)用技術(shù)、算法設(shè)計(jì)與分析