摘" 要" 立德樹人是教育的初心和使命,是我國教育事業(yè)的根本任務(wù)。新時代教育事業(yè)服從和服務(wù)于建設(shè)中國特色社會主義偉大事業(yè)和實(shí)現(xiàn)中華民族偉大復(fù)興的宏偉目標(biāo),必然要求不斷提升課程思政的針對性、時效性、生動性。開展了算法設(shè)計與分析課程的思政教學(xué)研究,從哲學(xué)和方法論的角度來理解各類算法設(shè)計與分析的本質(zhì)內(nèi)涵,將思政元素“潤物細(xì)無聲”地和專業(yè)知識點(diǎn)相結(jié)合,在講授專業(yè)知識的同時加強(qiáng)思想政治教育,促進(jìn)學(xué)生的全面發(fā)展。
關(guān)鍵詞" 課程思政;算法設(shè)計與分析;思政元素
中圖分類號:G642.0" " 文獻(xiàn)標(biāo)識碼:B
文章編號:1671-489X(2024)03-0076-03
0" 引言
自從黨的十八大提出“把立德樹人作為教育的根本任務(wù)”以來[1],課程思政的內(nèi)容不斷擴(kuò)展、內(nèi)涵不斷豐富。課程思政絕非狹義的思想政治教育,而是實(shí)現(xiàn)人的全面發(fā)展、培養(yǎng)社會主義建設(shè)者和接班人的必由之路[2]。
理工類課程的作用是讓學(xué)生明天理、悟人道、促進(jìn)步,與思想政治教育樹立學(xué)生正確的世界觀、人生觀和價值觀的作用是互為表里、異曲同工[3-7]。
算法設(shè)計與分析主要講授典型計算機(jī)算法設(shè)計方法和算法復(fù)雜性概念及分析方法相關(guān)的知識[8],培養(yǎng)學(xué)生分析問題和解決計算機(jī)領(lǐng)域相關(guān)算法問題的能力,使學(xué)生掌握算法設(shè)計的基本方法,熟悉算法分析的基本技術(shù),并能熟練運(yùn)用一些常用算法,為后續(xù)課程學(xué)習(xí)打下基礎(chǔ)。其目標(biāo)為:1)掌握算法設(shè)計與分析的基本概念和知識,學(xué)會分析算法、評價算法的方法,掌握典型類型算法的時間復(fù)雜性分析方法。2)通過對分治法、回溯法、分支限界法、貪心法、動態(tài)規(guī)劃等五類經(jīng)典算法設(shè)計方法的學(xué)習(xí),理解算法設(shè)計的常用方法,掌握針對不同問題的算法設(shè)計方法基本思路、程序設(shè)計框架和復(fù)雜度情況。3)培養(yǎng)學(xué)生運(yùn)用所需方法獨(dú)立地設(shè)計解決計算機(jī)應(yīng)用中的實(shí)際問題的能力和算法程序開發(fā)實(shí)現(xiàn)的能力,了解新興信息技術(shù)領(lǐng)域的一些主要算法。
1" 算法設(shè)計與分析課程思政特點(diǎn)分析
課程思政應(yīng)當(dāng)是對專業(yè)課程知識點(diǎn)的深層次思考,進(jìn)行高度凝練和總結(jié),然后在課程知識點(diǎn)講解過程中自然而然地引申出思政內(nèi)容[9-11],并從多視角、多層面選取思政元素,對學(xué)生進(jìn)行有效引導(dǎo),水到渠成地讓學(xué)生接受思政內(nèi)容。為“思政”而“思政”、突兀地拋出觀點(diǎn)、生搬硬套進(jìn)行講解是課程思政的大忌,適得其反,很難達(dá)到預(yù)期的目標(biāo)。
算法設(shè)計與分析課程思政教學(xué)應(yīng)把握以下特點(diǎn)。
針對性。把握算法設(shè)計與分析專業(yè)知識點(diǎn)與思政元素之間的關(guān)系,兩者應(yīng)當(dāng)相互促進(jìn)、正向循環(huán)。通過將自然科學(xué)的客觀規(guī)律進(jìn)行凝練和總結(jié),并應(yīng)用于社會科學(xué),啟發(fā)人生感悟、哲學(xué)思考、思想升華,從哲學(xué)和方法論的高度進(jìn)一步加深對專業(yè)知識點(diǎn)的認(rèn)識、理解、應(yīng)用。
時效性。注重思政教育理念、內(nèi)容及形式的守正創(chuàng)新,及時追蹤國際發(fā)展格局和專業(yè)領(lǐng)域技術(shù)前沿趨勢,充分運(yùn)用大數(shù)據(jù)等技術(shù)手段,不斷發(fā)現(xiàn)、分析、挖掘各類思政元素。同時,課程思政的開展應(yīng)當(dāng)根據(jù)學(xué)生的學(xué)習(xí)狀態(tài)、學(xué)習(xí)能力等順勢而為、依情而定。
生動性。把握學(xué)生的認(rèn)知特點(diǎn),尊重他們的知識需求和心理需求,引發(fā)強(qiáng)烈共鳴。綜合運(yùn)用案例式、體驗(yàn)式、互動式等教學(xué)方式,堅持把課堂教學(xué)與現(xiàn)實(shí)緊密結(jié)合,用“小故事”講述“大道理”,用“身邊人”講述“身邊事”,提升思政教育的感染力和召喚力。
2" 算法設(shè)計與分析課程思政元素挖掘
算法設(shè)計與分析作為計算機(jī)類的核心專業(yè)課程,是發(fā)現(xiàn)問題、分析問題、解決問題的系統(tǒng)性訓(xùn)練,蘊(yùn)含著認(rèn)識世界的深刻內(nèi)涵,有著豐富的思政元素可供挖掘。在把握課程特點(diǎn)規(guī)律的基礎(chǔ)上,可以從哲學(xué)和方法論的高度展開課程思政。
首先,算法設(shè)計遵循實(shí)事求是的原則,具體問題具體分析,其目標(biāo)是在保證正確性的基礎(chǔ)上盡可能提高效率。對于常用的五種方法:分治法、回溯法、分枝界限法、貪心法、動態(tài)規(guī)劃,其思政元素各有特色。
分治法:體現(xiàn)了分而治之的哲學(xué)思想,把一個復(fù)雜的大問題分解為兩個或多個小規(guī)模的獨(dú)立子問題逐個解決,然后把各子問題的解組合成整個問題的解。好比蓋樓房,先搭好框架,然后集中精力處理細(xì)節(jié),一層一層、一步一步向前推進(jìn)。青年學(xué)生應(yīng)當(dāng)樹立大局意識,從宏觀上把握事物發(fā)展趨勢和方向。
回溯法:體現(xiàn)了“摸著石頭過河”的方法論,是人們對未知客觀規(guī)律的認(rèn)識過程,符合事物從量變到質(zhì)變的辯證法。“摸”河里石頭的過程,是人們“認(rèn)識”河流的過程。“過河”是人們征服了擋住人們前行的河流的結(jié)果。鼓勵學(xué)生不懼怕失敗,認(rèn)識到失敗是成功的必經(jīng)之路。
分枝界限法:體現(xiàn)了“不忘初心”的精神境界,關(guān)鍵在于“分”之后的目標(biāo)管理和評價機(jī)制,旨在評價完成目標(biāo)的合理性;“分”的最終目的不是“分”,而是作為一個整體,始終朝著既定目標(biāo)前進(jìn)。青年學(xué)生應(yīng)不忘初心、砥礪前行,堅定不移地沿著中國特色社會主義道路不斷奮進(jìn)。
貪心法:體現(xiàn)了局部與全局、個人與集體的對立統(tǒng)一。只有滿足最優(yōu)子結(jié)構(gòu)和貪心選擇性質(zhì)才能解決局部的貪心選擇與全局的優(yōu)化之間的關(guān)系,使個人利益與集體利益相一致。事實(shí)上,更多的問題是不能通過貪心法得到最優(yōu)解的,只能從全局優(yōu)化的角度尋求最優(yōu)解。
動態(tài)規(guī)劃:體現(xiàn)了“知行合一”的唯物辯證法,滿足最優(yōu)子結(jié)構(gòu)和重疊子問題的性質(zhì)是“知”,自底向上求解各階段子問題的最優(yōu)值是“行”。其證明過程涉及數(shù)學(xué)歸納法、反證法等,不能割裂“知”和“行”之間的聯(lián)系。
其次,算法分析通常用時間和空間來衡量算法的性能,這是矛盾的兩個主要方面,需要做適當(dāng)?shù)娜∩幔脮r間換空間或者用空間換時間,說明在某些情況下矛盾是可以相互轉(zhuǎn)換的。時間和空間的復(fù)雜度常用主定理進(jìn)行分析。對于形如T(n)=aT(n/b)+f(n)的遞歸方程,其中a≥1,b≥1且為常數(shù),n為非負(fù)整數(shù),f(n)為一個函數(shù),則應(yīng)用主定理計算復(fù)雜度T(n)如下:
若對某些常數(shù)εgt;0,有,則;
若,則;
若對某些常數(shù)εgt;0,有且對常數(shù)clt;1與所有足夠大的n,有af(n/b )≤cf(n),則T(n)=O(f(n));
即該算法的復(fù)雜度T(n)由aT(n/b)和f(n)兩個因素決定,其中情況1為aT(n/b)的復(fù)雜度遠(yuǎn)遠(yuǎn)大于f(n),是決定算法復(fù)雜度的主要因素;情況2為aT(n/b)的復(fù)雜度與f(n)大致相當(dāng),因此由這兩項(xiàng)共同決定算法復(fù)雜度;情況3為f(n)的復(fù)雜度遠(yuǎn)遠(yuǎn)大于aT(n/b),是決定算法復(fù)雜度的主要因素。
主定理其本質(zhì)就是體現(xiàn)了抓住事物的主要矛盾,即處于支配地位、起決定性作用的因素。大學(xué)生應(yīng)正確認(rèn)識學(xué)習(xí)、娛樂、交往、工作等各類活動之間的關(guān)系,具體問題具體分析,抓住主要矛盾,牢牢把握決定性關(guān)鍵因素來統(tǒng)籌安排。
3" 算法設(shè)計與分析課程思政的案例設(shè)計
以分治策略計算矩陣乘法的Strassen算法為例,矩陣運(yùn)算是科學(xué)計算、機(jī)器學(xué)習(xí)等諸多領(lǐng)域中的常用運(yùn)算。如果能針對這些運(yùn)算進(jìn)行優(yōu)化,可以大幅提高計算性能。
若A為m×p的矩陣,B為p×n的矩陣,那么稱m×n的矩陣C為矩陣A與B的乘積,記作C=AB,稱為矩陣乘積。其中矩陣C中的第i行第j列元素可以表示為:
若矩陣A和矩陣B為同階的方陣,m=p=n=N,則計算矩陣C的一個元素總共進(jìn)行N次乘法運(yùn)算,因此,矩陣乘法的算法復(fù)雜度為O(n3)。
Volker Strassen基于分治策略提出了第一個算法時間復(fù)雜度低于O(n3)的矩陣乘法算法。假設(shè)矩陣A和矩陣B為同階的方陣N=2n,則用矩陣乘積用分塊矩陣表示為:
其中,
。
矩陣C可以通過下列公式求出:
由此可知,計算1次N×N矩陣的乘積需要進(jìn)行8次矩陣的乘積以及4次加法。若T(n)表示n×n矩陣乘法的時間復(fù)雜度,那么根據(jù)上面的分解可以得到遞推公式:,其中表示8次矩陣乘法的算法復(fù)雜度,O(n2)表示4次矩陣加法以及合并矩陣的時間復(fù)雜度。運(yùn)用主定理可知,,因此改進(jìn)算法性能的關(guān)鍵在于減少矩陣乘法的次數(shù),即決定算法復(fù)雜度的主要因素。
為此,創(chuàng)建如下10個矩陣S1,S2,…,S10;
然后,遞歸地計算如下7個矩陣乘積P1,P2,…,P7;
最后,使用以下方法計算矩陣C,此步驟算法復(fù)雜度為O(n2) 。
綜合可得遞歸式,進(jìn)而推導(dǎo)出時間復(fù)雜度為T(n)=O(nlog27) )=O(n2.807 4)。
矩陣操作支撐著眾多的工業(yè)軟件生態(tài)。學(xué)術(shù)界自20世紀(jì)60年代起對矩陣乘法進(jìn)行了持續(xù)的研究,1969年提出了Strassen算法,2014年提出了Coppersmith-Winograd算法,其復(fù)雜度降低為O(n2.372 9),此外還可使用“資源換時間”的策略利用大規(guī)模并行計算的方法大幅減少計算時間。
2021年6月,哈爾濱工業(yè)大學(xué)、哈爾濱工程大學(xué)因被列入美國商務(wù)部實(shí)體名單,被禁用數(shù)學(xué)基礎(chǔ)軟件Matlab;2022年8月,美國商務(wù)部禁止美國企業(yè)向中國出口14 nm制程EDA(Electronic Design Automation,電子設(shè)計自動化)軟件及生產(chǎn)設(shè)備。Matlab是一款被廣泛應(yīng)用于教學(xué)、科研、工業(yè)領(lǐng)域的基礎(chǔ)軟件,而EDA軟件是集成電路設(shè)計和制造過程中必需的軟件工具,都是我國工業(yè)軟件中的空白。以Matlab為例,從第一個版本到現(xiàn)在已經(jīng)有40年,通過不斷積累,成為某個細(xì)分領(lǐng)域的隱形冠軍。
上述案例啟示我們,面對西方國家 “軟件封鎖”和“科技對抗”的霸權(quán)主義行為,青年學(xué)生應(yīng)當(dāng)樹立“科技報國”的愛國情懷、“孜孜以求”的科研態(tài)度和“精益求精”的工匠精神,早日實(shí)現(xiàn)從“工業(yè)大國”全面升級到“工業(yè)強(qiáng)國”。
4" 結(jié)束語
高校課程思政作為一種創(chuàng)新育人模式,使各類專業(yè)課程與思想政治理論同向同行,是把好思想“總開關(guān)”,打牢專業(yè)“基本功”,培養(yǎng)合格“接班人”的重要環(huán)節(jié)。算法設(shè)計與分析作為計算機(jī)類的核心專業(yè)課程,是發(fā)現(xiàn)問題、分析問題、解決問題的系統(tǒng)性訓(xùn)練,在哲學(xué)和方法論的高度有著豐富的思政元素可供挖掘。
本文著重研究如何在算法設(shè)計與分析課堂中有機(jī)融入思政元素,有效把握針對性、時效性和生動性,在講授專業(yè)知識的同時加強(qiáng)思想政治教育,不僅可加深學(xué)生對專業(yè)知識的理解,還可引導(dǎo)學(xué)生樹立正確的世界觀、人生觀和價值觀,促進(jìn)學(xué)生的全面發(fā)展。
5" 參考文獻(xiàn)
[1] 習(xí)近平.把思想政治工作貫穿教育教學(xué)全過程開創(chuàng)我國高等教育事業(yè)發(fā)展新局面[N].光明日報2016-12-09(1).
[2] 教育部.抓準(zhǔn)抓實(shí)全面推進(jìn)高校課程思政建設(shè)取得實(shí)效[N].中國教育報,2020-06-10(1).
[3] 姜大志,熊智,杜支強(qiáng).計算機(jī)類專業(yè)課程思政實(shí)施方略研究[J].計算機(jī)教育,2021,19(3):85-89,94.
[4] 黃晨,倪雯雯,劉燕,等.課程思政在實(shí)踐教學(xué)中的探索[J].科教文匯,2021,18(12):110-111.
[5] 王賽嬌.“課程思政+實(shí)踐創(chuàng)新”的計算機(jī)專業(yè)課程教學(xué)改革研究[J].計算機(jī)教育,2021,19(5):91-95.
[6] 楊柳,牛小燕,鄭雪峰,等.線上線下混合式教學(xué)中課""程思政改革的探索與實(shí)踐[J].當(dāng)代教育家,2020,"9(6):30-33.
[7] 董國鋼.基于“三全育人”的IT類課程教學(xué)改革研究[J].軟件導(dǎo)刊,2021,20(5):188-191.
[8] 李春葆.算法設(shè)計與分析[M].2版.北京:清華大學(xué)出版社,2018.
[9] 徐琳琳.算法設(shè)計與分析課程教學(xué)改革探索[J].計算機(jī)教育,2022(5):161-165.
[10] 劉偉,胡為,李小智,等.算法分析與設(shè)計課程思政"教學(xué)研究與實(shí)踐[J].計算機(jī)教育,2020(8):70-74.
[11] 李曲,王春平,程振波,等.算法設(shè)計與分析課程思"政研究與實(shí)踐[J].計算機(jī)教育,2020(5):78-81.