劉漢英 陳宮 敬超 王宇
桂林理工大學(xué)信息與科學(xué)工程學(xué)院 廣西桂林 541004
“算法設(shè)計(jì)與分析”是一門(mén)實(shí)踐性和理論性較強(qiáng)的計(jì)算機(jī)類(lèi)專(zhuān)業(yè)課,是操作系統(tǒng)、人工智能、大數(shù)據(jù)等專(zhuān)業(yè)課程的基礎(chǔ)。部分算法理論抽象,實(shí)現(xiàn)代碼較長(zhǎng),許多學(xué)生都反映這門(mén)課比較難學(xué)。傳統(tǒng)的“算法設(shè)計(jì)與分析”教學(xué)設(shè)計(jì)以各種算法為章節(jié)模塊,逐個(gè)講授算法的理論及實(shí)現(xiàn)方法,學(xué)生在實(shí)驗(yàn)課上自主編程實(shí)現(xiàn)并驗(yàn)證,效果并不理想。20世紀(jì)末,隨著信息技術(shù)的發(fā)展,網(wǎng)絡(luò)教學(xué)模式在培訓(xùn)、成人教育等方面得到了驗(yàn)證,也向普通高校推廣,使混合式教學(xué)模式在高校教學(xué)中得到了廣泛的應(yīng)用。本文以“算法設(shè)計(jì)與分析”課程為例,分析傳統(tǒng)教學(xué)設(shè)計(jì)及存在的問(wèn)題,并針對(duì)存在的問(wèn)題進(jìn)行混合式教學(xué)設(shè)計(jì),開(kāi)展教學(xué)實(shí)踐,取得了較好的教學(xué)效果。
傳統(tǒng)的“算法設(shè)計(jì)與分析”課程教學(xué)設(shè)計(jì)簡(jiǎn)單,教師先講授算法理論,包括知識(shí)點(diǎn)、注意事項(xiàng),然后舉典型案例,進(jìn)行具體的問(wèn)題分析、算法設(shè)計(jì)、實(shí)現(xiàn),期間設(shè)定一些問(wèn)題供學(xué)生思考、回答,最后總結(jié)、布置課后作業(yè)和實(shí)驗(yàn)任務(wù)。在整個(gè)教學(xué)中,教師處于主導(dǎo)地位,決定教學(xué)內(nèi)容、教學(xué)實(shí)施方法、教學(xué)評(píng)價(jià),學(xué)生被動(dòng)地接受知識(shí),跟著教師思考問(wèn)題,尋求解決方法,按時(shí)完成作業(yè)和實(shí)驗(yàn)。這種教學(xué)模式效率高,沿用多年,同時(shí)暴露出以下問(wèn)題,急需解決。
(1)教學(xué)設(shè)計(jì)沒(méi)有因材施教。在進(jìn)行傳統(tǒng)教學(xué)設(shè)計(jì)時(shí),教師主要是依據(jù)教學(xué)大綱、按知識(shí)點(diǎn)進(jìn)行教學(xué)設(shè)計(jì),教學(xué)內(nèi)容陳舊、覆蓋所有知識(shí)點(diǎn),沒(méi)有考慮學(xué)生的實(shí)際情況,其設(shè)計(jì)好壞,很大程度由教師的經(jīng)驗(yàn)決定,教學(xué)進(jìn)度統(tǒng)一,教師只能盡量滿足大多數(shù)學(xué)生,能力弱的學(xué)生可能跟不上進(jìn)度,導(dǎo)致后面的課程無(wú)法理解,失去學(xué)習(xí)興趣。
(2)學(xué)生發(fā)現(xiàn)問(wèn)題能力沒(méi)有得到鍛煉。傳統(tǒng)的課堂教學(xué)過(guò)程中,以教師為中心講授算法的理論和實(shí)現(xiàn)方法,學(xué)生主要是按教師制定的線路學(xué)習(xí),教師提出問(wèn)題、分析問(wèn)題和解決問(wèn)題,學(xué)生是旁觀者,缺乏靈活性,課堂上的互動(dòng)比較少,部分學(xué)生因?yàn)樾愿駜?nèi)向不敢主動(dòng)回答問(wèn)題,傳統(tǒng)課堂教學(xué)往往沒(méi)有回放,有些學(xué)生為了記錄筆記或需要拍照來(lái)不及思考。
(3)教學(xué)評(píng)價(jià)方法單一,反饋不及時(shí)。傳統(tǒng)的教學(xué)評(píng)價(jià)中,主要是考勤、作業(yè)和期末考試,教師通過(guò)作業(yè)和課間答疑了解學(xué)生對(duì)課程知識(shí)點(diǎn)的掌握情況,目前,往往是大班授課,批閱學(xué)生作業(yè)工作量大,批改進(jìn)度趕不上授課進(jìn)度。
(4)實(shí)驗(yàn)設(shè)計(jì)上,設(shè)計(jì)型實(shí)驗(yàn)較少,主要是驗(yàn)證實(shí)驗(yàn),通過(guò)集成開(kāi)發(fā)環(huán)境IDE(Integrated Development Environment)完成,學(xué)生自己設(shè)計(jì)測(cè)試用例、編寫(xiě)代碼、調(diào)試、運(yùn)行、檢驗(yàn),有些可能考慮不周,沒(méi)有考慮邊界情況和特殊用例,教師無(wú)法一一檢查,學(xué)生也無(wú)法知道。
2019年開(kāi)始,“算法設(shè)計(jì)與分析”課程組開(kāi)始進(jìn)行課程混合式教學(xué)改革,將課程知識(shí)點(diǎn)進(jìn)行按理解難易程度進(jìn)行劃分,把比較容易理解的內(nèi)容放到課外自學(xué),課堂上主要強(qiáng)調(diào)重點(diǎn),解決難點(diǎn)問(wèn)題。如表1所示,將課程教學(xué)過(guò)程分為課前—課中—課后三個(gè)環(huán)節(jié)。課前,教師發(fā)布學(xué)習(xí)指導(dǎo),將事先制作好的課件、視頻、鏈接發(fā)給學(xué)生,學(xué)生自己安排時(shí)間學(xué)習(xí),并在課程群中反映學(xué)習(xí)過(guò)程中的不理解或有疑問(wèn)的地方,教師通過(guò)網(wǎng)絡(luò)平臺(tái)查看學(xué)生的預(yù)習(xí)情況,根據(jù)學(xué)生反映的問(wèn)題調(diào)整課程內(nèi)容和進(jìn)度;課堂上先對(duì)重點(diǎn)、難點(diǎn)進(jìn)行講解,學(xué)生對(duì)不理解的地方提出,教師適時(shí)解答;課后,教師制作課程補(bǔ)充視頻、發(fā)布課后作業(yè)、實(shí)驗(yàn)、討論;學(xué)生復(fù)習(xí)、完成作業(yè),自主組成學(xué)習(xí)小組進(jìn)行討論,撰寫(xiě)小組討論報(bào)告。課程安排一次小組討論成果展示,讓小組代表分享小組討論結(jié)果,同學(xué)們可以提問(wèn)題、提建議。
表1 混合式教學(xué)活動(dòng)的實(shí)施
(1)教學(xué)設(shè)計(jì)因?qū)W生而變。在混合式教學(xué)中,課程設(shè)計(jì)的依據(jù)增加了學(xué)生的預(yù)習(xí)情況和學(xué)生的問(wèn)題環(huán)節(jié),內(nèi)容和形式上都進(jìn)行了較大改變,課堂上對(duì)概念性、較容易的知識(shí)點(diǎn)不做詳細(xì)的講述,PPT中僅對(duì)識(shí)記及重點(diǎn)知識(shí)點(diǎn)做歸納、總結(jié),著重講述學(xué)生難理解的算法的分析、比較、改進(jìn)及實(shí)現(xiàn)關(guān)鍵點(diǎn),學(xué)生容易把握重點(diǎn)、易錯(cuò)點(diǎn)、難點(diǎn),學(xué)生問(wèn)題可以得到及時(shí)解答。學(xué)生通過(guò)其他同學(xué)的提問(wèn)也了解到同學(xué)們的學(xué)習(xí)情況?;旌鲜浇虒W(xué)設(shè)計(jì)解決了內(nèi)容多、課時(shí)少的問(wèn)題。另外,將算法熱點(diǎn)和學(xué)科競(jìng)賽題引入課堂,激發(fā)了學(xué)生的學(xué)習(xí)興趣。
(2)信息技術(shù)保障混合式教學(xué)的實(shí)施。信息技術(shù)的發(fā)展使混合式教學(xué)成為可能。網(wǎng)絡(luò)教學(xué)輔助平臺(tái)(簡(jiǎn)稱(chēng)平臺(tái))和即時(shí)工具成了教師手中除了黑板、粉筆、PPT之外的得力助手。本課程選擇雨課堂一體化平臺(tái)為網(wǎng)絡(luò)教學(xué)輔助平臺(tái),并建立QQ課程群,教師使用平臺(tái)發(fā)布學(xué)習(xí)指導(dǎo)、學(xué)習(xí)資源,使用平臺(tái)和工具了解到學(xué)生的學(xué)習(xí)情況,有針對(duì)性地開(kāi)展教學(xué)活動(dòng);課堂提問(wèn)實(shí)現(xiàn)了匿名,學(xué)生敢于主動(dòng)提問(wèn)題、回答問(wèn)題,參與程度大幅提高;課堂教學(xué)實(shí)現(xiàn)了回放,不明白的地方可以重復(fù)學(xué)習(xí),學(xué)生可以放心思考,不用忙于記筆記、拍照。
(3)多元化、過(guò)程化評(píng)價(jià)督促學(xué)生自主學(xué)習(xí)。信息技術(shù)使教學(xué)過(guò)程數(shù)據(jù)化、可追溯,對(duì)學(xué)生學(xué)習(xí)行為評(píng)價(jià)更加公平、公正、公開(kāi)。教師鼓勵(lì)學(xué)生主動(dòng)提問(wèn)題、自覺(jué)主動(dòng)學(xué)習(xí)、參與討論,開(kāi)課初在平臺(tái)上設(shè)置平時(shí)成績(jī)的考核方法、比例,學(xué)生可以查看并努力完成學(xué)習(xí)任務(wù)。平臺(tái)對(duì)客觀題可以自動(dòng)批閱,極大地減輕了教師的工作量。教師對(duì)主觀題打分并用紅筆批注,學(xué)生可以實(shí)時(shí)看到錯(cuò)誤點(diǎn),及時(shí)修改。
(4)在線測(cè)試平臺(tái)、小組討論、展示促進(jìn)學(xué)生能力提高。在IDE上完成驗(yàn)證性實(shí)驗(yàn)外,布置了一些設(shè)計(jì)型、改進(jìn)型實(shí)驗(yàn),并向?qū)W生推薦了在線測(cè)試平臺(tái),學(xué)生以小組為單位進(jìn)行討論、分析、調(diào)試、互助完成任務(wù)。在線測(cè)試平臺(tái)綜合考慮了問(wèn)題邊界條件、特殊情況。通過(guò)共同編碼、調(diào)試,學(xué)生們進(jìn)一步理解,有些不經(jīng)意的錯(cuò)誤,可能會(huì)導(dǎo)致整個(gè)結(jié)果的不正確,學(xué)習(xí)需要一絲不茍,對(duì)未知問(wèn)題要勇于探索,學(xué)生們發(fā)現(xiàn)問(wèn)題能力、解決問(wèn)題能力、合作能力、表達(dá)能力得到鍛煉。
動(dòng)態(tài)規(guī)劃是“算法設(shè)計(jì)與分析”課程的重要算法,抽象、代碼量大,學(xué)生理解困難,下面以動(dòng)態(tài)規(guī)劃第一章為例,進(jìn)行教學(xué)設(shè)計(jì)。
(1)學(xué)情分析:大學(xué)二年級(jí)學(xué)生,已經(jīng)學(xué)習(xí)了枚舉、遞推、遞歸、回溯、貪心等算法,有一定的分析算法能力,能聽(tīng)懂、看懂,但部分不會(huì)編寫(xiě)。
(2)教學(xué)方法:案例法、比較分析法、探究法。
(3)課前:①發(fā)布學(xué)習(xí)指導(dǎo)(預(yù)習(xí)概述、實(shí)施步驟、數(shù)塔問(wèn)題)、視頻(注意開(kāi)課時(shí)不要一次性發(fā)布所有的教學(xué)資源,學(xué)生無(wú)法在短時(shí)間內(nèi)完成發(fā)布的學(xué)習(xí)內(nèi)容,會(huì)讓學(xué)生失去信心);②學(xué)生自學(xué)并收集學(xué)習(xí)到三個(gè)問(wèn)題(第一,如何理解最優(yōu)化原理?第二,動(dòng)態(tài)規(guī)劃只能從底向上求最優(yōu)解嗎?第三,貪心法能求解的問(wèn)題都能用動(dòng)態(tài)規(guī)劃求解嗎)。
(4)課中:①簡(jiǎn)述本次課的教學(xué)內(nèi)容;②用雨課堂發(fā)布兩個(gè)基礎(chǔ)問(wèn)題(下列算法中通常自底向上求解最優(yōu)解的算法是什么?什么問(wèn)題可以使用動(dòng)態(tài)規(guī)劃求解),進(jìn)一步了解學(xué)生的課前預(yù)習(xí)情況,講解;③總結(jié)歸納課程重點(diǎn):最優(yōu)化原理、多階段決策最優(yōu)化問(wèn)題、最優(yōu)子結(jié)構(gòu)特性,以0-1背包問(wèn)題為例解釋約束條件、目標(biāo)函數(shù)、最優(yōu)解、最優(yōu)子結(jié)構(gòu);④將問(wèn)題劃分階段及尋找最優(yōu)解的性質(zhì)是動(dòng)態(tài)規(guī)劃問(wèn)題的難點(diǎn),課程以數(shù)塔問(wèn)題為例進(jìn)行分析,把抽象的問(wèn)題直觀化,找出遞推關(guān)系,填寫(xiě)最優(yōu)決策表;⑤修改求解值要求,指導(dǎo)學(xué)生填寫(xiě)最優(yōu)決策表;⑥問(wèn)題變通:以藍(lán)橋杯題目《數(shù)字三角形》為例,討論分析問(wèn)題解決方法,解答學(xué)生課前第二個(gè)問(wèn)題:從上向下求最優(yōu)解;⑦實(shí)際問(wèn)題:最短路徑問(wèn)題,引出不能使用的動(dòng)態(tài)規(guī)劃問(wèn)題求解的情景;⑧討論解答課前第三個(gè)問(wèn)題:與貪心法進(jìn)行比較分析;⑨小結(jié),布置課后作業(yè)、討論題,推薦相關(guān)學(xué)術(shù)文獻(xiàn)。
(5)課后:①學(xué)生復(fù)習(xí)、作業(yè)、參與討論;②教師課程反思,批改作業(yè),準(zhǔn)備下次課程。
以上是動(dòng)態(tài)規(guī)劃第一次理論課的教學(xué)設(shè)計(jì)。實(shí)驗(yàn)項(xiàng)目設(shè)計(jì)中,在驗(yàn)證性實(shí)驗(yàn)的基礎(chǔ)上,增加了代碼填空、設(shè)計(jì)型、改進(jìn)型、綜合型的實(shí)驗(yàn)。在進(jìn)行教學(xué)設(shè)計(jì)時(shí),我們注重課程知識(shí)、能力和素質(zhì)的有機(jī)結(jié)合,由淺入深,既包含基礎(chǔ)知識(shí),又引入相關(guān)的競(jìng)賽和學(xué)科前沿相關(guān)文獻(xiàn),給不同能力層次的學(xué)生不同的學(xué)習(xí)要求和挑戰(zhàn)。同時(shí),充分利用信息技術(shù)增加課程互動(dòng)性、學(xué)生間的互助討論,讓學(xué)生進(jìn)一步理解“與人合作需要對(duì)人友善”。
“算法設(shè)計(jì)與分析”課程經(jīng)過(guò)近三期混合式教學(xué)實(shí)踐,不斷改革教學(xué)方法,修改教學(xué)內(nèi)容。實(shí)踐結(jié)果表明,混合式教學(xué)有效地解決了傳統(tǒng)教學(xué)中的突出問(wèn)題,學(xué)生評(píng)教逐年提高(91.07、93.62、95.09),表2和圖1為近三期學(xué)生成績(jī)分布。每期教學(xué)結(jié)束,本課程均采用教學(xué)質(zhì)量管理平臺(tái)進(jìn)行問(wèn)卷調(diào)查,如圖2所示,調(diào)查結(jié)果表明,98%的同學(xué)認(rèn)為自己理解并掌握了課程內(nèi)容,近三期指導(dǎo)學(xué)生參加藍(lán)橋杯程序設(shè)計(jì)大賽有5人獲得自治區(qū)級(jí)以上獎(jiǎng)勵(lì)。
圖1 近三期學(xué)生成績(jī)分布
表2 近三期學(xué)生成績(jī)
圖2 學(xué)生評(píng)教
本文針對(duì)傳統(tǒng)的“算法設(shè)計(jì)分析”課程教學(xué)設(shè)計(jì)中暴露的問(wèn)題,提出了混合式教學(xué)設(shè)計(jì)實(shí)施方案,并以動(dòng)態(tài)規(guī)劃第一次課為例,按照“兩性一度”的“金課”要求,給出了具體的實(shí)施實(shí)例。
混合式教學(xué)的順利開(kāi)展需要學(xué)校、教師、學(xué)生三方面的共同努力。學(xué)校要統(tǒng)一挑選購(gòu)買(mǎi)網(wǎng)絡(luò)教學(xué)輔助平臺(tái),在進(jìn)行教學(xué)安排時(shí),需要給學(xué)生留出足夠的自由支配時(shí)間,以便學(xué)生進(jìn)行自主學(xué)習(xí);教師要花更多的時(shí)間準(zhǔn)備素材、錄制視頻、收集學(xué)生問(wèn)題、檢查和督促學(xué)生學(xué)習(xí)情況、分層次進(jìn)行教學(xué)設(shè)計(jì);學(xué)生要提高學(xué)習(xí)自覺(jué)性和控制力。
目前,“算法設(shè)計(jì)與分析”課程線上資源豐富,有視頻、課件、討論等119個(gè),目前仍在不斷更新、擴(kuò)充,滿足了不同層次學(xué)生的學(xué)習(xí)要求。教學(xué)實(shí)踐表明,混合式教學(xué)既發(fā)揮了教師的主導(dǎo)作用,又強(qiáng)調(diào)了學(xué)生是學(xué)習(xí)的主體,能有效提高教學(xué)質(zhì)量,適于進(jìn)一步推廣。