黃震
(惠州學院計算機科學與工程學院,廣東惠州 516007)
2020 年5 月,教育部印發了《高等學校課程思政建設指導綱要》,綱要指出全面推進課程思政建設是落實立德樹人根本任務的戰略舉措,課程思政建設是全面提高人才培養質量的重要任務,并明確了課程思政建設的目標要求、內容重點以及推進方式[1],“為誰培養人、培養什么人、如何培養人”是高等教育的核心使命,程序設計類課程是智能時代人才培養的重要課程[2]。現有教育只注重知識和能力的培養,缺乏素質和思想的培養,現階段的程序設計類課程除了要培養學生具備分析問題、設計算法、編寫代碼、維護代碼的能力,還需要在教學過程中引導同學們做一個有誠信的大學生,培養學生的工匠精神、科學精神和創新思維,要注重學生的愛國主義教育,鼓勵學生為我國計算機事業貢獻力量。因此,在程序設計類課程中引入思政教育,是對現有教育的補充和支撐。
近年來各高校越來越重視學生的思想教育工作,紛紛出臺課程思政建設的政策和措施,讓課程思政逐漸走進了高校一線教師的專業教學中,也促使學者、教師對課程思政進行了一系列研究和探討[3]。例如,有些學者對家國情懷、專業自豪感、專業責任感、工匠精神等課程思政元素如何融入專業課程進行了闡述[4-7],有些學者探討了程序設計類課程中思政元素融入的途徑和方法[8-10],有些學者給出了課程思政針對程序設計類課程不同知識點的實際案例[11-13]。
本文嘗試探討課程思政教育在程序設計類課程中的應用,在程序設計類課程中挖掘課程思政元素,對課程思政的應用進行教學設計,以循環結構為例進行教學實踐,爭取在培養學生編程知識和能力的同時做一些立德樹人的工作,實現培養學生具有社會主義核心價值觀、職業道德、個人素質的思政育人目標。
本文對程序設計類課程采用融入課程思政元素的線上線下混合式教學設計,教學模式如圖1所示,在教學之前進行課程資源開發,在教學環節中包括課前自主學習、課堂師生互動和課后實踐訓練。學生通過課前自主學習了解程序設計的基本概念、程序設計的思想,通過了解我國計算機發展現狀培養學生的愛國熱情,提高學生的自信心和責任心;通過課堂學習和課后實踐訓練掌握軟件系統的開發方法,設計滿足特定需求的系統并在設計環節中體現團隊合作精神,通過教學過程,不但培養學生的程序設計能力,還需要培養學生的嚴謹求實態度、科學精神和創新能力。

圖1 程序設計類課程的混合式教學模式
程序設計類課程包括語言發展史、數據類型、控制結構、函數、數組等知識點,可以從各知識點切入挖掘思政元素。例如,介紹中國在程序開發方面的現狀,激發學生的愛國主義情懷及為國爭光的熱情;通過講解表達式缺少一個符號可能導致整個程序無法運行,引導學生有嚴謹和精益求精的感悟;利用選擇結構可以把程序引到不同的地方,讓學生明白選擇正確的人生觀、價值觀的重要性;循環結構需要一條語句執行成千上萬次才能得到理想的結果,讓學生明白積少成多、堅持努力、從量變到質變的道理;通過講解可以把不同的數據類型組合在一起構成結構體,從而引出不同的學生組合在一起構成一個整體,進而培養學生的團隊意識和集體榮譽感。
在課堂教學中教師提出相關課堂練習之后,鼓勵學生積極開展主動式學習、調動學生的積極性,讓學生主動參與小組討論,組內同學相互合作完成學習任務,培養學生小組團隊合作的精神。具體可以將每堂課分為以下幾個步驟:
1)了解學生課前自主學習效果,可以讓學生分享課前學習心得;
2)提出本節課重點和難點問題,全體學生分組討論,組間互相提問;
3)教師根據討論結果進行總結和講評;
4)教師布置課堂練習,學生課上完成,教師進行個性化輔導;
5)教師進行練習講評和答疑。
傳統的教學評價一般只將考試成績作為考核標準,融入課程思政的教學評價將分為成績評價和能力評價。對學生的時間管理能力、應用學習輔助手段的能力、團隊協作能力、創新性、學習主動性等進行能力評價,對平時測驗成績、實驗報告成績、競賽成績和期末考試成績等進行成績評價,將實施課程思政教學的班級與傳統教學模式的班級進行綜合對比后,總結出融入課程思政教學與傳統教學的優缺點,對教學設計和具體實施進行相應的改進,形成有效的持續改進閉環,如圖2所示。

圖2 教學評價持續改進閉環
本案例安排的知識點是控制結構中的循環結構,在教學過程中設計循環結構的練習,通過練習講解讓學生掌握循環結構的語法,讓學生參與現場編碼的方式提高解決具體問題的能力,在講解的過程中融入課程思政元素,既讓學生掌握了專業知識又達到立德樹人的目標。
本課堂教學的基本內容、課程思政融入點和預期成效如表1所示。

表1 本案例的課程思政元素
1)課前自主學習
學生通過網絡教學平臺提供的教學課件和教學視頻等課程資料學習循環結構的while 語句和for 語句,通過老師布置的課前練習來檢測知識點的掌握情況,學生以留言的形式把學習心得或者疑難問題提交到在線討論模塊,教師可以在線答疑并及時掌握學生的學習動態。
2)課堂問題,分組討論
在課堂上提出幾個問題,例如讓學生判斷某條循環語句的循環次數,while 語句和for 語句有什么區別等,然后讓同學們分組討論。
3)布置課堂練習
循環結構的難點是如何利用while語句和for語句解決實際問題,課堂布置兩個練習,學生在課堂上完成,訓練學生解決問題的能力。
練習1 :請用級數1+1/1!+1/2!+…+1/n!來近似計算自然常數e,最后一項的誤差不超過10-6。
這道題是典型的累加問題,其中的循環體語句t=t*n++;e+=1/t;需要執行成千上萬次才能得到理想的結果,讓學生明白積少成多、堅持努力、從量變到質變的道理。
練習2:一個數的各位數字如果是左右對稱的,則稱這個數是對稱數,如1221,3443都是對稱數,而1234則不是,請編程求出所有的四位對稱數。
方法1:這道題大部分同學都能想到用循環語句for(n=1000;n<=9999;n++)遍歷所有的四位數,然后判斷每個數是否滿足左右對稱,循環次數是9000次。此時提醒學生一個問題的算法可能不唯一,請大家思考是否有更高效的算法,各小組可以現場討論。
方法2:四位對稱數的特點是千位和個位相同、百位和十位相同,利用這一點可以采用一個雙重For 循環構造出對稱數,核心代碼如下:
方法2 的循環次數是90 次,比方法1 高效很多。通過該練習的講解,讓學生明白解決問題可以嘗試設計出更高效的算法,培養學生的創新精神。
課后對學生的不同能力進行了問卷調查,調查結果如表2所示。

表2 課后教學效果調查
調查結果表明,學生對融入課程思政教學模式是支持的,絕大部分學生都掌握了本課堂的知識點而且小組合作能力有所提高,本堂課達到了預期效果,不過學生的學習的主動性有待提高,之后將針對這一點改進教學設計。
本文將課程思政引入程序設計類課程,探討了課程思政教育在程序設計類課程中的應用,介紹了以循環結構為案例的實踐過程,教學達到了預期效果,為課程的其他知識點開展課程思政提供參考。接下來將對程序設計類課程的其他知識點進行課程思政實踐,加強學生的思想素質教育,逐步提高程序設計類課程的教學質量。