李祥琴
(荊楚理工學院計算機工程學院,湖北 荊門 448000)
2020 年5 月教育部發布《高等學校課程思政建設指導綱要》,指出要深入梳理專業課教學內容,結合不同課程特點、思維方法和價值理念,深入挖掘課程思政元素,有機融入課程教學,達到潤物無聲的育人效果。[1]
面向對象程序設計課程既是計算機專業的核心課程,也是非計算機專業的通識教育課程。在人才培養方案的知識目標框架中,課程要求學生深刻理解和領會面向對象的基本思想和基本特征,掌握面向對象程序設計語言C++的基本概念、基本語法以及面向對象程序設計的基本方法,同時為數據結構、軟件工程、Java 程序設計等后續課程的學習及新工科相關專業如云計算、大數據、機器學習、人工智能等研究打下堅實的基礎。在人才培養方案的能力目標框架中,用于培養學生面向對象的編程思維和解決實際問題的程序設計能力,增加“大國工匠”的經典案例,以真人真事感召學生學好自己的專業,對待編程就應該像工匠在自己所從事的領域中,不斷追求技藝上的進步,日復一日,年復一年,始終專注一件事,達到精益求精。
面向對象程序設計課程是一門專業基礎課,也是眾多編程類課程中的一種,因此,面向對象程序設計課程思政研究具有重要的實際意義。
大學本科階段,編程類課程有C 語言、Java 程序設計、Python 程序設計、匯編語言、面向對象程序設計語言(C++)、C#程序設計,編程類課程之間有許多相似之處,面向對象程序設計課程的研究方法和手段可以為其他編程類課程進行“課程思政”提供指引,也可以為其他專業課的“課程思政”教學改革提供借鑒。
大學生在校期間需要學習一部分通識教育課程,但最主要還是學習專業課程,這時單純只靠思想政治課程對學生進行思想政治教育和價值引導,已凸顯不足,而且大學生多數時間又與自己的專業課教師打交道,其價值觀更容易受專業課教師的影響,因此,從專業課中挖掘育人資源,能更好地補充和豐富思政教育,同時也能提高學生的學習積極性。
教師在課程教學中融入思政元素,創新課堂教學模式,不僅可以提高自身的思政素養,從而提高工作效率,而且還增強了學生的文化自信與人文素養,明確了人生規劃,激發學習興趣,進而提高實踐和創新能力。
習近平總書記提出,要堅持立德樹人,把培育和踐行社會主義核心價值觀融入教書育人全過程。基于面向對象程序設計課程,其思政目標定位為:培養學生的愛國精神;強化工程倫理教育,培養學生精益求精的工匠精神,激發學生科技報國的家國情懷和使命擔當;繼承和弘揚優秀傳統文化;樹立正確的價值觀;提高學生正確認識、分析和解決問題的能力;培養學生團隊協作精神。[1-3]
在課程思政中,素材的選取是非常重要的,好的素材不僅可以對學生進行德育教育,還能激發學生的學習興趣。思政素材的選取,一是可從我國五千年歷史文化中進行提煉,沉淀的歷史精華,經典的勵志故事,特別是我們的百年黨史,一個個可歌可泣的人物故事,都是生動的思政素材。二是可以選取專業素材,比如計算機類課程可從軟件行業真實案例中發掘思政元素。此外,還可以從熟知的新聞或網絡中提煉有價值的思政元素,素材盡量貼近學生的生活或學習,力求多樣化,富有情感,與課程知識目標貼近。
面向對象程序設計課程按教學內容,可分為“C++概述”“C到C++的擴充”“類和對象”“派生和繼承”“多態性和虛函數”“運算符重載”“模板與異常”及“C++流類庫與輸入輸出”八個模塊。挖掘其思政元素如表1 所示。

表1 思政元素
(1)“面向對象程序設計概述”模塊知識目標:熟悉面向對象程序設計的基本概念和思想,能編輯、編譯、鏈接和運行C++程序。
(2)“C到C++的擴充”模塊知識目標:了解注釋與繼續行、作用域標志域,理解const 定義常變量、函數原型聲明、帶缺省參數的函數,掌握變量的引用、內聯函數、函數重載、函數模板,掌握new 與delete、C++的基本輸入輸出。
(3)“類和對象”模塊知識目標:了解結構的定義與初始化、this指針,理解類和對象的概念、靜態成員;掌握構造函數和析構函數、友員及對象的生存期。
(4)“派生和繼承”模塊知識目標:理解繼承與派生的概念、類成員的訪問控制,掌握多繼承、虛基類、派生類的構造函數和析構函數以及對象的賦值兼容。
(5)“多態性和虛函數”模塊知識目標:理解多態性、虛函數的概念,掌握運行時多態的實現方法;理解抽象類和純虛函數的概念;掌握純虛函數的定義及其使用。
(6)“運算符重載”模塊知識目標:理解運算符重載的意義,掌握運算符重載的兩種形式,熟悉幾種常用運算符重載,掌握類類型與系統預定義類型間的轉換。
(7)“模板與異常”模塊知識目標:理解模板的概念;熟悉函數模板與類模板的定義與使用;了解異常處理的基本思想;掌握C++異常處理的實現和異常處理中的構造與析構。
(8)“C++流類庫與輸入輸出”模塊知識目標:了解C++的流的概念,掌握C++的標準輸入輸出流的使用,熟悉C++的文件的輸入輸出。
(1)理論授課環節導入。理論教學中,采用設疑法,先引起學生的好奇和關注,然后介紹整個事件的始末,引發學生思考和討論,進而對學生進行思政教育。
(2)教學課件制作環節嵌入。對于程序設計類課程,教師在制作電子課件時,可將思政內容植入到程序代碼中,教師在給學生講述程序代碼時,思政內容直接被讀出或顯示在屏幕中,讓學生不知不覺地學到或記住,真正做到育人潤無聲。
(3)實驗指導環節導入。在上機操作環節,教師布置上機任務后,學生將完成編碼和調試工作。比如,學生在編碼時發生語法錯誤,不愿主動探究時,教師可適當進行鼓勵,告訴他們要有耐心,不能一遇到問題就向老師或同學請教,要學會獨立思考,自己發現、糾正代碼錯誤,收獲自信和成就感,而且在編寫代碼時要非常仔細,不要小看一個字符,一個不易檢查到的小錯誤有可能會在一個項目開發中花幾個小時甚至更多時間去解決,編碼是一個不斷修改、不斷測試的過程,要有一絲不茍、精益求精的精神。
(4)課程設計環節導入。課程設計分為選題、需求分析、類和對象與關鍵算法實現、系統測試與優化、撰寫報告、答辯與報告驗收幾個階段。課程設計要求學生以小組為單位,小組成員分工合作完成設計任務。選題階段,教師可以加入一部分思政內容的選題,比如百年黨史就是一部生動的教科書,讓學生開發一個黨史考試系統,他們在開發過程中需要查閱相關黨史知識,而在驗收環節,一個組向其他組展示時,其他組也受到了教育。
基于課程特點、學生情況,面向對象程序設計課程采用線上-線下混合式教學模式。在整個教學過程中,通過線下課中融入、線上主題活動導入方式嵌入思政元素,使用分組法、討論法,培養學生的團隊協作和溝通能力。線上-線下混合式教學模式中進行課程思政如圖1 所示。

圖1 線上-線下混合教學模式中嵌入思政元素
(1)線上預習。在課前,教師在學習通中向學生發放預習任務,一是布置章節知識點的視頻學習任務,要求學生完成線上視頻和預習作業,二是發布思政主題活動,要求學生觀看融入了課程思政元素的主題活動視頻、網頁或文檔,查找相關資料并討論。通過預習、參與主題活動,培養學生自主學習能力,激發學生科技報國的家國情懷和使命擔當。思政主題活動設計如表2 所示。

表2 主題活動設計
(2)線下教學。在講授教學內容時,找到切入點,通過展示圖片或事件等引入身邊的生活實例,再對實例進行升華,潤物細無聲地引出思政知識。通過課堂教學,培養學生愛國精神、精益求精的軟件工匠精神,繼承和弘揚中華優秀傳統文化。
(3)線上鞏固。課堂教學結束后,及時匯總分析學生的課堂表現情況以及線上學習情況,布置線上作業,培養學生分析問題、解決問題的能力。
課程思政研究是目前高校關注的一個熱點課題,同時也是一個較新的課題,本文緊密結合面向對象程序設計課程特點,依托課堂內外,采取線上線下混合式教學模式,在“教、學、練、習”方面融入課程思政元素,能夠有效地激勵學生產生學習內動力,促進學生對課程知識的理解、掌握及拓展。