夏軍寶 王玉柱

[摘 要] 課程思政是新時代高校思想政治教育發展的內在要求,“C++程序設計”是計算機科學與技術專業的重要學科基礎課。在分析編程語言類課程思政建設現狀與問題的基礎上,對照專業總體課程思政目標,結合多年的教學積累,不斷探索課程內容與愛國情懷、工匠精神、職業道德、人文精神等課程思政目標的有機結合,挖掘課程思政元素,改進教學設計。經過兩年的建設與教學實踐,課程思政建設取得了良好的應用效果,為實現專業總體課程思政目標做出了貢獻。
[關鍵詞] 課程思政; C++程序設計; 思想政治教育; 教學設計
[基金項目] 2020年度中國地質大學(北京)教學研究與改革重點項目“計算機科學與技術專業課程思政體系研究”(JGZD202003)
[作者簡介] 夏軍寶(1973—),男,安徽巢湖人,博士,中國地質大學(北京)信息工程學院講師,教研室主任(通信作者),主要從事軟件工程研究;王玉柱(1988—),男,河南周口人,博士,中國地質大學(北京)信息工程學院副教授,主要從事高性能計算研究。
[中圖分類號] G642.0 ? [文獻標識碼] A ? [文章編號] 1674-9324(2021)49-0164-04 ? ?[收稿日期] 2021-06-24
一、引言
習近平總書記在全國高校思想政治工作會議上強調,要堅持把立德樹人作為中心環節,把思想政治工作貫穿教育教學全過程,要用好課堂教學這個主渠道,使各類課程與思想政治理論課同向同行,形成協同效應[1]。2020年5月,教育部印發的《高等學校課程思政建設指導綱要》指出[2],工學類專業課程要注重強化學生的工程倫理教育,培養學生精益求精的大國工匠精神,激發學生科技報國的家國情懷和使命擔當。課程思政突出體現以人的發展為根本目的。在人的全面發展中,思想道德素質是核心和靈魂。課程思政改變了思政教育“以學科知識系統為中心”的傳統做法,高校思想政治工作的中心從“重在思政課程建設”向“重在思政教學體系”轉變[3,4]。結合課程特點和專業特性,深入挖掘專業課程的思政內涵,是每位教師應該承擔的責任和使命。“C++程序設計”是計算機科學與技術專業的重要學科基礎課,為后續的“數據結構”“算法設計與分析”“操作系統”等課程奠定必要的編程與算法思維基礎,充分挖掘該門課程中的課程思政元素,對學生專業學習與全面成長具有重要意義。
二、現狀分析
我校“C++程序設計”的培養目標為通過該課程的學習,培養學生掌握C++基礎語法,熟悉標準模板庫(STL)中的常用組件及算法,掌握C++面向過程、面向對象及泛型編程的范式與方法,熟悉Qt、Dev等集成開發環境的使用。同時,通過綜合實踐項目的訓練,提高學生分析和解決實際問題的能力,培養學生利用工具管理項目的能力,并養成良好的編程習慣。這類以編程語言和程序設計方法為主要教學內容的課程,被普遍認為是難以有效開展思政建設的課程之一。通過問卷調查和師生座談會等途徑的調研和分析,開展編程語言類課程的思政建設,主要存在以下幾個方面的困難:(1)該類課程以學習編程技術為主,與思想政治主題存在較大的距離,教學內容難以和思政元素有機融合。部分教師擔心在教學過程中生硬地植入思想政治教育內容會引起學生的逆反心理。(2)該類課程內容凝練內聚,部分教師擔心課程的思政元素較少,以及不同課程之間的重復建設等問題,在具體實施思政建設過程中,無從下手。(3)新一輪培養方案修訂之后,部分課程的學時進行了壓縮。“C++程序設計”從64學時調整到48學時,教師擔心在教學過程中開展思想政治教育會影響正常的教學活動,使有限的學時更加緊張。(4)絕大部分編程課程中所使用的編譯系統和編程語言都源自西方發達國家,國內的技術現狀與其存在較大的差距,教師擔心這些會對學生造成一定的負面影響。(5)從學生的角度出發,學生并不拒絕思想政治教育,但相對于重復、“填鴨式”的灌輸教育與口號式宣傳,學生更愿意接受引導式的自主探索與思考,從而也增加了這類課程的思政建設難度。
三、課程思政目標設計
為有效解決“C++程序設計”課程思政建設較難的問題,本文建立了自頂向下、目標驅動的課程思政建設基本原則與方法。首先,對照計算機科學與技術專業的總體課程思政目標,分析所要建設課程的主要教學活動,根據課程特點,明確該課程能夠支撐的思政目標,而不是盲目地在一門課程中追求所有的思政目標,同時也能有效建立學科體系下多門課程之間的協同;其次,自上而下建立該課程思政目標與教學活動的映射;最后,挖掘教學活動中的具體課程思政元素并完善教學設計,實現思政元素和專業教學內容的深度融合。
對照學校計算機科學與技術專業的總體課程思政目標,綜合考慮教學內容和教學活動,“C++程序設計”課程思政目標應包含[5,6]:(1)激發學生愛國情懷,樹立社會主義核心價值觀;(2)培養精益求精的工匠精神;(3)培養團隊協作與創新意識,樹立職業道德意識;(4)培養探索求真的人文情懷。上述課程思政目標和教學活動的映射關系如表1所示。
四、課程思政元素挖掘與教學設計
針對課程思政目標,分析不同教學活動過程中的知識體系,挖掘其中的思政元素;尋找思政元素與知識體系的結合點,根據思政目標和教學安排不斷優化課程內容建設;通過完善教學課件、教學案例、教學方式、課外作業與實踐任務等方面的教學設計,實現思政元素和知識體系的深度融合。在教學實施過程中,根據教學實施效果和學生反饋等評價機制,持續改進課程教學內容和教學設計。
在對兩輪課程思政實踐總結的基礎上,“C++程序設計”在思政目標的框架下開展課程思政元素挖掘與教學設計并持續改進,具體內容如下。
(一)激發學生愛國情懷
愛國情懷是課程思政建設的內核與引領,是中華民族優秀傳統文化的寶貴精神財富,是實現中華民族偉大復興中國夢的強大精神動力,是落實“培養什么人、怎樣培養人、為誰培養人”的關鍵。教學設計包括兩個方面:在課堂教學過程中,講解祖沖之圓周率等古代中國經典算法的實現原理、實現方法和先進性,該算法所計算圓周率的精度直到一千年以后才被打破,展示了中華文化與智慧,增強了學生的民族自信和文化自信。在課外實踐教學環節,布置課外研究作業,要求學生調研C++集成開發環境和編譯器等方面的現狀,以及C++開源社區的發展趨勢與特點,使學生全面了解我國在這些領域存在的差距及安全隱患,建立自主知識產權的意識,發現彎道超車的機會與發展機遇,激發學生的愛國情懷和學習熱情。
(二)培養精益求精的工匠精神
精益求精、與時俱進、追求極致的工匠精神,是推動計算機與技術專業日新月異迅猛發展的重要動力,教學設計包括三個方面:在課堂教學過程中,以窮舉法求解并優化百錢百雞等經典問題為基礎,首先介紹三重循環求解的基本思路,逐步優化到二重循環求解,最終優化到一重循環求解,通過算法分析與對比,使學生體會逐步優化、提高代碼質量和效率的樂趣,感受并接受精益求精地追求性能極限的工匠精神。通過分析歷史上典型的代碼異常和bug所造成的災難,提升學生對代碼中異常處理和容錯能力的關注。在課內實踐教學環節中,結合異常處理實習任務,引導學生全面分析可能的異常點和處理策略,感受不斷提升代碼可用性、可靠性與容錯糾錯等方面代碼質量的工匠精神。在課外實踐教學環節中,引導學生完成STL中集合容器的模擬開發,循序漸進完成接口設計、內存管理、數據結構與算法實現、泛型容器、通用算法、異常處理等方面的設計開發,理解在實現高可用通用工具開發過程中反復調試、精雕細琢、持續完善的工匠精神。
(三)樹立良好的職業道德意識
職業道德是課程思政建設的重要內容,是培養社會主義建設者和接班人的關鍵,教學設計包括三個方面:在課堂教學過程中,結合標識符命名規則,進一步講解良好編碼風格和編碼規范的重要性,編寫程序不但要追求功能正確,還要追求代碼的質量、可讀性、可維護性,提升學生的職業素養。在課堂教學過程中,結合C++面向對象編程過程中的封裝與接口等知識點,進一步講解類的接口設計原則與基于接口編程的編程規范,使學生體會在工程項目中為每個類封裝復雜的邏輯并向外部提供簡單易用的接口,提升學生遵守職業規范的意識。在課內實踐教學環節中,通過講解多文件、多模塊復雜項目的組織管理,分析多人團隊開發中的協作精神與契約精神,剖析協作過程中的信任與異常檢測之間的平衡,逐步樹立良好的職業道德意識。
(四)培養探索求真的人文情懷
人文情懷是課程思政的基礎支撐,對提升學生綜合素養和全面發展有重要意義,教學設計包括兩個方面:在課外實踐教學環節,引導學生探究STL中代表性容器組件(如Vector)的源碼實現,探根求源理解該容器的實現原理和實現方法,同時感受大師們的良好編程風格,以及在實現這些高可用性及高性能通用組件時所付出的艱辛努力和細致入微的匠人精神。在課外教學實踐環節,通過課外調研任務,研究C++開源社區的運作機制,嘗試使用開源社區的共享組件,感受開源社區的開放、自由、共享、奉獻、尊重的人文精神,形成對過度商業化所造成的壟斷、封閉、獨占的有效制約。
五、實踐效果
通過近兩輪的教學實踐,根據自頂向下、目標驅動的課程思政設計原則,逐步明確“C++程序設計”課程所需要支撐的課程思政目標,不斷挖掘教學活動過程中的思政元素,通過調整教學內容與知識結構、教學素材、實踐作業等方面的教學設計,逐步完成課程知識與思政元素的有機融合,實現了課程所要支撐的愛國情懷、工匠精神、職業道德、人文情懷等方面的思政目標,有效解決了編程語言類課程思政建設困難的問題。“C++程序設計”的課程思政建設主要特點如下:(1)在教學活動過程中未規劃單獨的思政內容講解,在學習和編程實踐過程中提升職業素養,感受、思考、探究思政話題,實現思政元素和教學內容的有機融合,以潛移默化的方式完成思政教育,拓展課程思政內涵的同時不增加學時負擔,具有較好的操作性。(2)以課堂實踐作業和課外實踐作業的形式開展課程思政,促使學生主動探索與思考,避免了被動式、填鴨式教學所帶來的抵觸情緒與逆反心理,學生主動參與研討的積極性和人數明顯增加。(3)根據課程特點和教學活動,基于自頂向下的原則確定課程能夠支撐的思政目標,圍繞思政目標針對性地完成教學設計,而不盲目追求思政目標的全面覆蓋,有效避免了多門課程之間思政元素的重復建設,并形成專業課程體系間的協同效應。(4)在教學過程中避免空洞的說教,要客觀分析問題,不回避我們在相關技術上與西方發達國家的差距,通過課外實踐環節,激勵學生自主調研,發現潛在的優勢和發展機遇,激發學生的學習熱情。
六、結語
通過兩年的課程思政建設,將“C++程序設計”的教學內容與思政目標有機結合,不斷優化課程設計,學生的學習熱情得以提升,樂于接受課程思政建設后的教學內容和教學設計,能夠主動參與相關的話題討論和研究,同時,學生在編碼規范、編程風格、團隊協作和契約精神等方面的職業素養和職業道德意識明顯提升,課程思政建設取得初步成效。
參考文獻
[1]習近平在全國高校思想政治工作會議上強調:把思想政治工作貫穿教育教學全過程 開創我國高等教育事業發展新局面[N].人民日報,2016-12-09(1).
[2]教育部關于印發《高等學校課程思政建設指導綱要》的通知[EB/OL].(2020-05-28)[2020-06-20].http://www.gov.cn/zhengce/zhengceku/2020-06/06/content_5517606.htm.
[3]董勇.論從思政課程到課程思政的價值內涵[J].思想政治教育研究,2018,34(5):90-92.
[4]高德毅,宗愛東.從思政課程到課程思政:從戰略高度構建高校思想政治教育課程體系[J].中國高等教育,2017(1):43-46.
[5]夏小云,李紹燕,朱蓉,等.新工科背景下計算機類課程思政教學研究與實踐[J].計算機教育,2020(8):75-78.
[6]黃復賢,邵麗麗.計算機類專業課程思政的探索與研究[J].菏澤學院學報,2019(3):46-50.
Exploration and Teaching Design of “Curriculum Ideological and Political Education” in the Course of C++ Programming
XIA Jun-bao, WANG Yu-zhu
(School of Information Engineering, China University of Geosciences(Beijing), Beijing 100083, China)
Abstract: “Curriculum ideological and political education” is the internal requirement of the development of ideological and political education in colleges and universities in the new era. C++ Programming is an important basic course of computer science and technology major. Based on the analysis of the current situation and problems of construction of programming language courses, ?compared with the overall goals of ideological and political education goal of “curriculum ideological and political education” of the major, and combined with the authors’ years of teaching experience, this paper explores the organic combination of the course content and the ideological and political contents of the course, such as patriotism, “craftsmanship spirit”, professional ethics and humanistic spirit, excavates the ideological and political elements of the course, and improves the teaching design. Two-years’ teaching practice has witnessed the good application effect of “curriculum ideological and political education” construction, which contributes to the realization of the overall goal of “curriculum ideological and political education” of the ?major.
Key words: “curriculum ideological and political education”; C++ Programming; ideological and political education; teaching design
3535501908232