李 蕓 陳榮平 陳建文
(湖南工商大學(xué)理學(xué)院 湖南·長沙 410008)
《新時代全國高等學(xué)校本科教育工作會議》[1]指出,要培養(yǎng)能擔(dān)當(dāng)起民族復(fù)興大任的社會主義接班人,必須加快建設(shè)高水平本科教育、全面提高人才培養(yǎng)能力。人才培養(yǎng)是大學(xué)的本質(zhì)職能,在高等教育中是具有戰(zhàn)略地位的教育。人才培養(yǎng)質(zhì)量和效果是檢驗(yàn)一切工作的根本標(biāo)準(zhǔn)。推動辦學(xué)理念創(chuàng)新、組織創(chuàng)新、管理創(chuàng)新和制度創(chuàng)新;用知識體系教、價值體系育、創(chuàng)新體系做,傾心培養(yǎng)建設(shè)者和接班人;提升學(xué)業(yè)挑戰(zhàn)度、激發(fā)學(xué)習(xí)動力和專業(yè)志趣,使學(xué)生求真學(xué)問、練真本領(lǐng)是每一個心懷天下的知識分子(教師)的教育強(qiáng)國夢。高質(zhì)量人才的培養(yǎng)離不開“學(xué)生”和“教師”兩個主體,而課程是聯(lián)結(jié)“教師”和“學(xué)生”的主要橋梁。專業(yè)建設(shè)水平和課程教學(xué)質(zhì)量是影響學(xué)生成才的兩個主要的方面。重塑教育教學(xué)形態(tài),思想創(chuàng)新、理念創(chuàng)新、方法技術(shù)創(chuàng)新和模式創(chuàng)新,推進(jìn)課程內(nèi)容更新,推動課堂革命是當(dāng)前人才培養(yǎng)任務(wù)的緊迫任務(wù)。
根據(jù)《習(xí)近平總書記關(guān)于教育的重要論述》[2]、“全國教育大會”[3]和《中國教育現(xiàn)代化2035》[4]精神,實(shí)現(xiàn)中華民族偉大復(fù)興的根本任務(wù)是培養(yǎng)全面發(fā)展的社會主義接班人。知識的傳授、能力的培養(yǎng)必須建立在正確的世界觀、人生觀和價值觀之上,這樣才可能培養(yǎng)出能擔(dān)負(fù)起民族復(fù)興和國家崛起大任的后繼者。如何建設(shè)高等學(xué)校課程思政,發(fā)揮課程育人作用,實(shí)現(xiàn)專業(yè)課程作為課程思政建設(shè)基本載體的功能,深入挖掘?qū)I(yè)課程思政元素,增加課程除知識性外的人文性、時代性和開放性,是當(dāng)前亟須解決的問題。
計算技術(shù)在大數(shù)據(jù)和人工智能時代的重要性不言自喻,以算法為核心的信息處理是其亙古不變的主題。算法在很多領(lǐng)域都有非?;钴S的應(yīng)用,如人類基因工程、互聯(lián)網(wǎng)信息檢索、電子商務(wù)安全問題中的數(shù)字簽名、稀有資源分配等。如何高效地設(shè)計算法對各個應(yīng)用領(lǐng)域來說都是非常重要的事情。因此,我們選擇了《算法導(dǎo)論》這門專業(yè)核心課程開展了課程思政建設(shè)和教學(xué)創(chuàng)新研究與實(shí)踐。
《算法導(dǎo)論》課程主要介紹可計算問題的數(shù)學(xué)建模。我們把課程內(nèi)容分成了常用算法、算法設(shè)計范式、算法分析方法、數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)以及高級智能算法/機(jī)器學(xué)習(xí)算法五大模塊。本課程的先修課程為高等數(shù)學(xué)、線性代數(shù)、概率論與數(shù)理統(tǒng)計以及離散數(shù)學(xué),并要求熟悉一種編程語言。根據(jù)不同的專業(yè)需求,課程學(xué)分設(shè)置從2學(xué)分到4學(xué)分不等。我們建設(shè)了《算法導(dǎo)論》課程教學(xué)團(tuán)隊(duì),團(tuán)隊(duì)成員均為具有豐富教學(xué)經(jīng)驗(yàn)、善于學(xué)習(xí)和樂于奉獻(xiàn)的優(yōu)秀教師。
秉承“以學(xué)生為中心,全面發(fā)展學(xué)生能力”的理念,培養(yǎng)學(xué)生分析問題、解決問題的能力和實(shí)踐應(yīng)用的能力。學(xué)習(xí)算法設(shè)計和分析的理想的狀態(tài)是學(xué)習(xí)實(shí)際工作中需要的各類算法理論,并能用數(shù)學(xué)方法對其進(jìn)行分析,同時還能采用一種編程語言將思想或偽代碼變成實(shí)際可用的程序。探索算法的過程就是我們認(rèn)知世界的方法,從最簡單的想法開始,通過“實(shí)驗(yàn)”“失敗”“再實(shí)驗(yàn)”循環(huán)錘煉,用數(shù)學(xué)的方法去嚴(yán)謹(jǐn)?shù)耐茖?dǎo)與證明,用數(shù)據(jù)和案例去驗(yàn)證,用代碼和程序去實(shí)踐,以數(shù)學(xué)為基石,以編程為工具,去分析去解決實(shí)際應(yīng)用問題,達(dá)到理論與實(shí)踐的完美統(tǒng)一。
《算法導(dǎo)論》課程培養(yǎng)面向企事業(yè)需求的應(yīng)用型人才,需要學(xué)生具備開放性思維,能夠在面對新問題時提出自己的思路和獨(dú)到的見解,或面對舊問題能獨(dú)辟蹊徑,采用更為高效的求解方法。具體教學(xué)目標(biāo)分為四個階段,第一階段為算法基礎(chǔ),目的是使學(xué)生(1)掌握最基本的算法,如排序算法、圖算法等;(2)學(xué)會選擇合適的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)算法,掌握從算法到程序的實(shí)踐過程。第二階段為設(shè)計范式,目的是使學(xué)生掌握分治策略、動態(tài)規(guī)劃、貪心算法和隨機(jī)算法等強(qiáng)大的算法設(shè)計范式。第三階段為算法分析,目的是使學(xué)生通過直觀理解和嚴(yán)謹(jǐn)數(shù)學(xué)推導(dǎo)證明方法相結(jié)合,打牢算法分析基本功,學(xué)會分析算法時間、空間復(fù)雜度。第四階段為算法進(jìn)階,通過對智能算法如遺傳算法和機(jī)器學(xué)習(xí)算法如神經(jīng)網(wǎng)絡(luò)等算法的學(xué)習(xí),激發(fā)學(xué)生對高級算法的進(jìn)一步探索。
學(xué)習(xí)解決實(shí)際應(yīng)用問題所需要的各類算法范式和方法,學(xué)會用數(shù)學(xué)方法對算法進(jìn)行理論分析,采用一種編程語言將思想或偽代碼變成實(shí)際可用的程序。本課程選擇Python語言編寫程序,有利于學(xué)生快速理解算法精髓,提高算法應(yīng)用能力。
培養(yǎng)什么人、怎樣培養(yǎng)人、為誰培養(yǎng)人是教育的根本問題。立德樹人有道,勵學(xué)敦行無聲。本課程將課程思政與價值塑造、專業(yè)知識傳授和能力培養(yǎng)有機(jī)結(jié)合,將課程思政元素加入算法案例中,培養(yǎng)學(xué)生民族自豪感,培養(yǎng)學(xué)生家國責(zé)任感,培養(yǎng)學(xué)生探索未知的使命感。
課程教學(xué)內(nèi)容反映學(xué)科前沿研究動態(tài)。動態(tài)規(guī)劃、貪心算法、分治策略是學(xué)科前沿文獻(xiàn)中解決疑難問題的常見啟發(fā)式方法。粒子群、遺傳算法、模擬退火等智能算法一般用來解決實(shí)際應(yīng)用中的最優(yōu)化問題,粒子群算法模擬了鳥群捕食、遺傳算法模擬了生物種群進(jìn)化。智能優(yōu)化算法一定程度上解決了大空間、非線性、全局尋優(yōu)、組合優(yōu)化等復(fù)雜問題。在實(shí)際應(yīng)用中得到了廣泛的研究與使用。
為培養(yǎng)學(xué)生知行合一的能力,以賽促學(xué),我們組織學(xué)生參加全國大學(xué)生數(shù)學(xué)建模競賽、ACM國際大學(xué)生程序設(shè)計競賽、Kaggle機(jī)器學(xué)習(xí)競賽等并取得了一定的成績。
基于算法的實(shí)用性特點(diǎn),教學(xué)過程中應(yīng)理論與實(shí)踐并重。理論教學(xué)包含課堂講授和專家講座。應(yīng)做到基礎(chǔ)理論、算法設(shè)計、案例教學(xué)、輔助軟件相結(jié)合。實(shí)踐教學(xué)包含課堂實(shí)踐、課后個人實(shí)踐、團(tuán)體實(shí)踐三個方面。激發(fā)學(xué)生的思考和探索,培養(yǎng)學(xué)生分析和解決實(shí)際問題的能力。教學(xué)模式創(chuàng)新如下,課堂引入案例、動畫、PPT講授算法原理,并利用Jupyternotebook的交互式編程功能向?qū)W生演示示例代碼。精心設(shè)計理論與實(shí)驗(yàn)作業(yè),打造頭歌Educoder平臺同步實(shí)訓(xùn)課程(算法導(dǎo)論P(yáng)ython語言實(shí)現(xiàn)),發(fā)布實(shí)訓(xùn)作業(yè)。
《算法導(dǎo)論》課程理論與實(shí)踐并重教學(xué)新模式、新方法可以推廣至《離散數(shù)學(xué)》《數(shù)據(jù)挖掘基礎(chǔ)》《金融大數(shù)據(jù)分析》《Python編程基礎(chǔ)》《運(yùn)籌學(xué)》《數(shù)學(xué)建?!贰稊?shù)值優(yōu)化》等核心專業(yè)課程的教學(xué)中,實(shí)現(xiàn)了專業(yè)課程的無縫銜接和層級推進(jìn),對培養(yǎng)應(yīng)用型創(chuàng)新性人才具有較好的價值。