陳 艷,許麗娟,文曉棠
(廣州華商學(xué)院數(shù)據(jù)科學(xué)學(xué)院,廣東 廣州 510520)
算法設(shè)計(jì)與分析課程是普通高校計(jì)算機(jī)相關(guān)類專業(yè)的核心基礎(chǔ)課程。由于該課程需要較多數(shù)學(xué)知識(shí),課程內(nèi)容多且難,因此有相當(dāng)一部分學(xué)生對(duì)該課程有恐懼感。為了提高課程的教學(xué)質(zhì)量,改變學(xué)生現(xiàn)有的不佳學(xué)習(xí)狀態(tài),課程教學(xué)必須改革。
對(duì)于算法設(shè)計(jì)與分析課程,學(xué)生學(xué)得吃力,老師教得辛苦,究其原因主要如下。
該課程的前導(dǎo)課程為高等數(shù)學(xué)、離散數(shù)學(xué)、數(shù)據(jù)結(jié)構(gòu)和程序設(shè)計(jì)類課程,這些課程對(duì)于學(xué)生來說本身難度就較大,尤其數(shù)學(xué)類課程,掌握的程度有些學(xué)生并不理想,當(dāng)在算法分析與設(shè)計(jì)課上需要應(yīng)用的時(shí)候,就感覺前導(dǎo)課程的儲(chǔ)備不夠,用得吃力。
算法課要講解較多的理論知識(shí),如問題的原理、數(shù)學(xué)模型和復(fù)雜性的分析等,這些內(nèi)容是算法分析的基礎(chǔ),雖然學(xué)生聽得枯燥,卻是需要重點(diǎn)講授的內(nèi)容。課程本身有難度,邏輯性非常強(qiáng),每個(gè)算法中的知識(shí)點(diǎn)一環(huán)套一環(huán),學(xué)生在學(xué)習(xí)時(shí)只要其中一個(gè)環(huán)節(jié)沒搞明白,就可能不能理解整個(gè)算法。算法和算法之間可能還存在關(guān)聯(lián),前一個(gè)算法不理解,會(huì)直接影響到后面算法的學(xué)習(xí)。
課程除了難度大之外,知識(shí)點(diǎn)也非常多,如要學(xué)習(xí)的算法有遞歸技術(shù)與分治法、貪婪法、動(dòng)態(tài)規(guī)劃法、回溯法、分支限界法等,還包括計(jì)算機(jī)應(yīng)用領(lǐng)域的一些算法,而課時(shí)數(shù)不多。所以,要求學(xué)生理解算法思想,舉一反三靈活運(yùn)用,難度就非常大。
通過有限理論課的學(xué)習(xí),要求學(xué)生能對(duì)理論課的知識(shí)快速接受并通過編程實(shí)現(xiàn),且能解決實(shí)際生活中的問題,對(duì)動(dòng)手能力不強(qiáng),或者算法基本知識(shí)掌握不夠好的學(xué)生來說非常困難。
針對(duì)上述問題,對(duì)教師來說,如何上好算法設(shè)計(jì)與分析課程,也是一個(gè)很大的挑戰(zhàn)。根據(jù)筆者多年該課程教學(xué)過程中的探索,發(fā)現(xiàn)基于應(yīng)用能力的培養(yǎng)對(duì)于算法設(shè)計(jì)與分析課程的教學(xué)效果更好。
傳統(tǒng)的算法設(shè)計(jì)與分析類教材,雖然有經(jīng)典的論述,但對(duì)學(xué)生來說閱讀和理解有困難,容易讓學(xué)生產(chǎn)生畏懼疲勞感。因此我們要在現(xiàn)有教材基礎(chǔ)上,研究將邏輯性極強(qiáng)、難度大的教學(xué)內(nèi)容與實(shí)際生活中的應(yīng)用聯(lián)系起來,將生活中的案例與書上的算法理論結(jié)合起來。用算法解決生活當(dāng)中的實(shí)際問題,提高學(xué)生對(duì)算法理論的接受度,消除學(xué)生的畏懼心理,激發(fā)其學(xué)習(xí)興趣。比如講授動(dòng)態(tài)規(guī)劃策略中的最長公共子序列問題時(shí),以基因比對(duì)為例,應(yīng)用到失聯(lián)兒童的尋親,或者當(dāng)前疫情下通過新冠病毒序列的比對(duì),來分析病毒的來源等,學(xué)生對(duì)此十分有興趣,對(duì)此算法學(xué)習(xí)的興趣也大大提升。
提煉經(jīng)典算法,并增加最新的應(yīng)用廣泛的比如人工智能、大數(shù)據(jù)方面的算法。算法的應(yīng)用十分廣泛,在現(xiàn)今人工智能、大數(shù)據(jù)時(shí)代更是如此。在算法設(shè)計(jì)與分析授課過程中,結(jié)合最新的技術(shù)領(lǐng)域的應(yīng)用,更能讓學(xué)生理解到該課程學(xué)習(xí)的重要性和必要性。
教學(xué)內(nèi)容上的改革研究,關(guān)鍵是重組教學(xué)內(nèi)容,豐富與書本算法理論匹配的生活中實(shí)際應(yīng)用的案例,將枯燥的理論知識(shí)賦予生機(jī),讓學(xué)生體會(huì)到學(xué)習(xí)的不僅僅是算法,而是用所學(xué)的知識(shí)去解決實(shí)際生活中的問題,是提升自己對(duì)社會(huì)作貢獻(xiàn)的能力。
課堂上難度大的知識(shí)點(diǎn),借助動(dòng)畫或者動(dòng)態(tài)圖的方式來輔助復(fù)雜邏輯的理解,將枯燥的理論變得生動(dòng)有趣,筆者已經(jīng)在課堂上將部分知識(shí)點(diǎn)予以實(shí)施,收效不錯(cuò)。在課堂上嘗試翻轉(zhuǎn)課堂的模式,對(duì)于較簡單的知識(shí)點(diǎn)把講臺(tái)交給學(xué)生來分享。可以有分組討論的環(huán)節(jié)分布在各個(gè)理論或者實(shí)踐教學(xué)中。
除了課堂授課之外,對(duì)于難度大的知識(shí)點(diǎn)用微視頻的方式課前預(yù)習(xí)或者課后復(fù)習(xí),甚至可以借助微信或者QQ 開設(shè)微課堂,對(duì)于重要的教學(xué)內(nèi)容設(shè)置微信小程序?qū)嵭袑W(xué)習(xí)打卡制度,學(xué)生對(duì)于課外的這種學(xué)習(xí)要求,既有學(xué)習(xí)壓力又有學(xué)習(xí)興趣和動(dòng)力,對(duì)其學(xué)習(xí)積極性的調(diào)動(dòng)十分有益。
因此,教學(xué)手段和方法上的改革研究的關(guān)鍵是研究如何把現(xiàn)代化的IT 產(chǎn)物合理的應(yīng)用到教學(xué)中來,讓學(xué)生從刻板的傳統(tǒng)教學(xué)方式中解脫出來,積極參與教學(xué),把課外的時(shí)間主動(dòng)利用起來學(xué)習(xí)。
在教學(xué)方法上,傳統(tǒng)的單純由教師進(jìn)行講授的授課方法,不利于學(xué)生主動(dòng)思考,學(xué)生在具體實(shí)踐操作過程中往往具有盲目性和機(jī)械性,因此實(shí)踐課的安排要充分的把課內(nèi)理論和應(yīng)用結(jié)合起來,甚至把課外的時(shí)間充分利用起來。課內(nèi)實(shí)驗(yàn)課意在鞏固算法自身理論,是課堂內(nèi)容對(duì)應(yīng)的最基本的實(shí)踐要求。除此之外,補(bǔ)充各個(gè)知識(shí)點(diǎn)在實(shí)際生活中的應(yīng)用實(shí)踐,每次課后提供多個(gè)實(shí)踐應(yīng)用項(xiàng)目可選,學(xué)生可以選擇一個(gè)或者多個(gè)去完成,也可以自己去挖掘相應(yīng)知識(shí)點(diǎn)的應(yīng)用場景來完成。此任務(wù)需要利用學(xué)生的課外時(shí)間,有硬性要求的任務(wù),也有可做可不做的任務(wù)。對(duì)于工作量大的實(shí)踐任務(wù),采取分組的方式,在任務(wù)的完成過程中,要充分體現(xiàn)團(tuán)隊(duì)協(xié)作過程中每個(gè)成員的具體工作,也要體現(xiàn)出團(tuán)隊(duì)執(zhí)行的優(yōu)勢(shì)。對(duì)于學(xué)生課外實(shí)踐的優(yōu)秀成果,引導(dǎo)他們?cè)诳蒲猩嫌邪l(fā)展,在公開刊物上發(fā)表技術(shù)論文。對(duì)于有余力的學(xué)生,引導(dǎo)他們參加“藍(lán)橋杯”等各類國家級(jí)省級(jí)競賽。鼓勵(lì)學(xué)生報(bào)考國家級(jí)相關(guān)的認(rèn)證資質(zhì)。借助程序設(shè)計(jì)競賽實(shí)施“算法設(shè)計(jì)與分析”課程教學(xué)改革,將程序設(shè)計(jì)競賽與課程教學(xué)有機(jī)融合,建立“以賽勵(lì)教、以賽督學(xué)”的教學(xué)模式,能夠有效地提高“算法設(shè)計(jì)與分析”課程的教學(xué)質(zhì)量。
課堂/課后實(shí)踐方式改革的關(guān)鍵是題庫、資源庫的建立,將大型IT 企業(yè)的??济嬖囶},“藍(lán)橋杯”競賽題以及各類大型專業(yè)技術(shù)論壇的題收集整理,按算法類別進(jìn)行分類并標(biāo)識(shí)難度系數(shù),不同難度系數(shù)的題庫和資源庫建立后,通過大量的練習(xí),對(duì)于提升學(xué)生動(dòng)手動(dòng)腦的能力有較大的幫助,對(duì)于促進(jìn)學(xué)生深入研究和參加競賽都有順?biāo)浦鄣淖饔谩?/p>
改變傳統(tǒng)的以分?jǐn)?shù)論英雄的評(píng)價(jià)模式,將評(píng)價(jià)標(biāo)準(zhǔn)向?qū)嵺`能力傾斜,將期末考試成績?cè)诰C合成績的占比下調(diào),引入實(shí)踐能力考核和課堂貢獻(xiàn)考核成績的比重。如圖1所示,實(shí)踐能力是平時(shí)實(shí)驗(yàn)的完成情況、課外小型項(xiàng)目的完成情況、和綜合素質(zhì)的情況(如團(tuán)隊(duì)協(xié)作精神)等多方面的綜合評(píng)價(jià);課堂貢獻(xiàn)包括學(xué)生制作小視頻,實(shí)現(xiàn)算法在生活中應(yīng)用的案例程序和發(fā)掘算法對(duì)應(yīng)生活中案例等的貢獻(xiàn)。
圖1 課程教學(xué)評(píng)價(jià)指標(biāo)
將學(xué)生平時(shí)表現(xiàn)、課堂課外的實(shí)踐能力、課堂貢獻(xiàn)和期末卷面考試成績按照2:2:2:4 的比例制定課程最終的考核標(biāo)準(zhǔn)。平時(shí)成績包括考勤、作業(yè)完成情況以及課堂表現(xiàn);實(shí)踐能力包括上機(jī)實(shí)驗(yàn)、項(xiàng)目的完成情況和綜合能力的考核;課堂貢獻(xiàn)包括在學(xué)習(xí)平臺(tái)的回答問題解決問題以及互動(dòng)的情況,提供學(xué)習(xí)小視頻等能幫助同學(xué)進(jìn)步的情況。通過這種新的評(píng)價(jià)方法,強(qiáng)化了對(duì)學(xué)生實(shí)踐能力的要求,對(duì)學(xué)生主動(dòng)學(xué)習(xí)和實(shí)踐給予了肯定,消除了平時(shí)不學(xué)習(xí),考前臨時(shí)抱佛腳也能考出好成績的局面。
改革前,算法設(shè)計(jì)與分析課堂學(xué)生參與度一般,改革后,學(xué)生的積極性有大幅提升,表現(xiàn)在考勤、作業(yè)完成情況、課中課后主動(dòng)與老師溝通或者問問題的情況和主動(dòng)參與課程案例建設(shè)的情況?,F(xiàn)在算法課再也不是壓在學(xué)生身上的一座大山,而是學(xué)生們每周期待的一門課。
傳統(tǒng)的“以考代練”的方式,對(duì)于經(jīng)歷了高中三年魔鬼式訓(xùn)練的學(xué)生來說,應(yīng)用于大學(xué)階段的學(xué)習(xí)并不合適,而“以練代考”的方式反而更能激發(fā)學(xué)生的學(xué)習(xí)興趣,讓學(xué)生擺脫考試的束縛,能專注于把知識(shí)學(xué)懂學(xué)通,花更多的精力在知識(shí)的應(yīng)用上,而不是應(yīng)付考試的死記硬背。學(xué)生有了更自由的發(fā)展和發(fā)揮空間,反而在專業(yè)能力上的提升更明顯。表現(xiàn)在畢業(yè)設(shè)計(jì)選題上,早期指導(dǎo)老師設(shè)置的算法類命題基本無人問津,近兩年逐步出現(xiàn)了學(xué)生選擇此類課題的現(xiàn)象,尤其2022 屆畢業(yè)設(shè)計(jì)的選題,選擇此類課題的學(xué)生達(dá)到了20人以上。
通過在算法課堂開展的實(shí)踐教學(xué)與訓(xùn)練活動(dòng),并開展由算法教學(xué)課程組主導(dǎo)的賽前培訓(xùn),學(xué)生參加“藍(lán)橋杯”競賽的人數(shù)和獲獎(jiǎng)情況近兩年明顯增加。
從表1可知,算法課程改革以來,從第十一屆開始,藍(lán)橋杯參賽人數(shù)有了突飛猛進(jìn)的增長,反應(yīng)了學(xué)生參加的積極性大幅提升,獲獎(jiǎng)人數(shù)也有了很大增長,說明學(xué)生的專業(yè)能力得到了明顯提升。
表1 近年“藍(lán)橋杯”參賽情況
算法設(shè)計(jì)與分析課程,作為計(jì)算機(jī)類專業(yè)的核心課程,老師如何教好、學(xué)生如何學(xué)好,對(duì)于學(xué)生專業(yè)能力的培養(yǎng)至關(guān)重要。以基于學(xué)生應(yīng)用能力培養(yǎng)為目標(biāo)的算法設(shè)計(jì)與分析課程的教學(xué),能激發(fā)學(xué)生的學(xué)習(xí)興趣,并以此帶動(dòng)學(xué)生在畢業(yè)設(shè)計(jì)選題方面的多樣化、專業(yè)能力競賽方面的熱情,甚至對(duì)學(xué)生的就業(yè)也提供了更多的可選擇領(lǐng)域。經(jīng)過實(shí)踐,本文探索的教學(xué)內(nèi)容、教學(xué)方法/手段、實(shí)踐教學(xué)和考核方式等方面的改革,取得了良好效果,希望能為計(jì)算機(jī)類其他課程提供參考。