
[摘 要] 為全面貫徹黨的教育方針,落實立德樹人根本任務,全面推進各類課程與思想政治理論課同向同行,實現協同育人教育理念,作為長期在高等學校從事計算機基礎教育的教學工作者,應深刻地認識到課程思政不僅是課程思想觀念的改變,更是一種教育理念的更新。在“計算機與程序設計基礎(C++)”課程中,從教學大綱、教學目標著手,積極探索將思政元素有機融入課程教學過程的方法和手段,重構教學設計,挖掘若干有思想政治意義的教學實例,對學生進行潛移默化、潤物無聲的思想政治教育,將傳統計算機基礎課程轉變成融入思想政治教育的綜合課程,達到將知識傳授、能力培養與價值塑造融為一體,全面推進課程思政建設的教育目標。
[關鍵詞] 課程思政;思政元素;思想政治目標;教學設計;教育目標
[基金項目] 2019年度教育部產學合作協同育人項目“‘計算機與程序設計基礎(C++)’示范課程建設”(201902100021);2023年度華中科技大學校教改項目“以科學思維為核心的‘計算機與程序設計基礎’課程思政探索”
[作者簡介] 江 敏(1972—),女,湖北武漢人,碩士,華中科技大學網絡與計算中心計算機基礎教研室講師,主要從事計算機基礎教學和相關研究;黃曉濤(1966—),女,湖北武漢人,博士,華中科技大學網絡與計算中心計算機基礎教研室教授,主要從事計算機基礎教學和相關研究。
[中圖分類號] G648.1 [文獻標識碼] A [文章編號] 1674-9324(2024)32-0001-05 [收稿日期] 2023-07-10
引言
2020年6月,教育部印發《高等學校課程思政建設指導綱要》,為每一位教育工作者指明了方向:把思想政治教育貫穿人才培養體系,全面推進高校課程思政建設,發揮好每門課程的育人作用,提高高校人才培養質量[1]。
傳統課堂上,教師只關注課程專業內的知識內容和體系,很少關注學生的思想動態,更不會注意學生思想政治覺悟方面的問題。而現在強調的課程思政則要求教師從教學目標、教學大綱、教學內容、教學設計等多個維度融入思政元素,將傳統單純的專業課或基礎課轉變為融入思想政治教育的綜合課程,因此課程思政不僅意味著課程思想觀念的改變,更意味著教育理念的更新。從教育理念來看,課程思政試圖扭轉所謂“知識至上”和“價值中立”的教育理念,打破以往把學生的思想政治教育僅僅當作是思想政治課程的教學目標和思想政治理論課教師的責任的錯誤認識。強調高校所有教師在其所有課堂上不僅要承擔起教書的任務,還要承擔起育人的責任,必須深入挖掘蘊含在專業知識中的思想教育資源,將思政元素有機融入專業課程的教學過程,對學生進行潛移默化、潤物無聲的思想政治教育,將知識傳授、能力培養與價值塑造融為一體,使專業知識傳授與思想政治教育相統一[2]。
一、“計算機與程序設計基礎(C++)”課程概述
華中科技大學的“計算機與程序設計基礎(C++)”是面向所有非IT專業理工科學生開設的一門計算機類的基礎課程,在大一上學期進行。教學內容包括計算機基礎概論和C++程序設計,且以C++程序設計內容為主,教材是電子工業出版社出版的自編教材,其中計算機基礎概論內容所占篇幅為一章,內容包括計算機的發展史、馮·諾依曼計算機工作原理、計算機的信息存儲和計算機程序設計算法基礎。C++程序設計內容分8章介紹,包括C++程序設計的基本語法體系和程序設計的基本方法論。
(一)課程教學的知識目標
1.在了解計算機自動執行的本質和程序設計重要性的基礎上,掌握計算機的信息存儲和工作原理。
2.在了解C++程序設計語言基本語法結構的基礎上,掌握程序設計思路和基本方法。
(二)課程教學的能力目標
1.讓學生掌握編程等計算工具,初步具備用抽象/算法等思維方式分析、重構、歸納和解決問題的能力。
2.訓練學生利用計算機解決生活、學習、專業領域中實際問題的意識與能力。
(三)課程教學的素質目標
1.培養學生嚴謹求實的科學素養和精益求精的職業精神。
2.培養學生的大國工匠精神,激發學生的愛國主義情懷和民族自信心。
通過以上“三位一體”的課程教學目標,希望在“計算機與程序設計基礎(C++)”課堂中創新課程思政教學模式,將思政元素和教學內容完全融合,使課堂不僅是傳播知識的主戰場,也是弘揚主旋律、正能量的主陣地。
二、“計算機與程序設計基礎(C++)”課程思政目標及設計
計算機技術是人工智能、5G時代人才不可或缺的基本技能,是學生未來職業技能的關鍵保障。在教學過程中深入挖掘“計算機與程序設計基礎(C++)”課程的思政元素,以習近平新時代中國特色社會主義思想為指導,堅持知識傳授和價值引領相結合,在教學中融入社會主義核心價值觀,引導學生樹立正確的世界觀、人生觀、價值觀,提高學生明辨是非的能力,養成嚴謹的科學素養。
“程序設計”是一門實踐性很強的課程,程序編寫貫穿其始終,所以程序設計過程中所蘊含的“大道至簡、嚴謹求實”的科學素養和“無規矩不成方圓”的做人原則也貫穿課程始終,可以真正做到潛移默化、潤物無聲。教學過程中將生活中的真實案例引入課堂,貼近學生生活,使學生通過課堂所學知識解決案例問題更能引起共鳴,然后以此為契機引導學生思考問題,挖掘人文內涵,培養學生的家國情懷、個人品格和科學觀,學會做人做事的道理,達到既掌握課堂知識又及時消化知識并用于解決實際問題的目的。學生獲得成就感的同時獲得感悟并對照日常生活,從而達到思政育人和課程知識的互融互通。表1是“計算機與程序設計基礎(C++)”課程中思政教育內容與專業知識點的對應關系。
三、“計算機與程序設計基礎(C++)”課程思政的實施過程
(一)制訂教學計劃,全方面開展課程思政
“計算機與程序設計基礎(C++)”課程是培養學生計算思維和課程思政育人的載體。該課程已成功申報國家一流線下本科課程,且在中國大學MOOC上已上線6期,已經建成了比較成熟完備的線上線下教學資源。在此基礎上課程教學團隊重新梳理教學內容,積極挖掘思政元素,豐富教學內容,在課程教學內容的設計、教學模式和方法等方面進行了全方位的探討和革新,重新設計了包含課程思政內容的教學大綱,在中國大學MOOC的線上資源中增加了課程思政教學案例,綜合運用案例教學、啟發式教學、情景教學、小組討論、小組合作完成項目等教學手段和方法,促進網絡信息技術與專業教學的深度融合,開發并完善課程思政資源,實現線上互動和線下課程相結合的育人模式。注重教材、教師和教學三大要素,定期在教學團隊中開展培訓和教學研究活動,積極探討課程思政教學方法和教學思路,共建共享課程思政教學資源。
在課堂教學中,集團隊之合力深入挖掘蘊含在課程知識點中的思政元素,處理好在教學中引入課程思政的時機和方式、教學活動的組織等,真正做到潛移默化、潤物無聲。實際授課過程中經常采用問題創設、案例導入、故事導入等方式引導學生思考、討論,靈活組織課程思政教學活動,提升思政融入深度和教學效果。通過線上學習平臺,課前可以預先將學習資料和相關問題展現給學生,為學生預留出充足的思考時間和空間;課堂上進行有效討論,形成終結性的、正確的、有意義的結論,在很多時候這里所說的正確的、有意義的結論往往就是代表正確價值引領的思政元素,課程思政目標同時達成[3]。
(二)課程思政教學實例
1.知識點1:計算機中信息數據的存儲。計算機是一種能夠存儲數據并自動計算的信息處理設備。生活中的數據大都是用十進制表示的,那么計算中如何表示數據呢?在開始學習課程時,這是必須弄清楚的首要問題。
問題導入教學方式:課前在SPOC教學平臺發布預習思考問題。(1)計算機處理的數據類型有哪些?為什么要分類存儲和表示?(2)將十進制數13.3125和13.313轉換為二進制數,思考計算機中要存儲這樣的數值數據必須解決哪些問題?具體是如何處理的?對后續的程序設計有什么影響?(3)同類型的數據為什么必須指定固定長度的存儲空間來存儲,是不是有浪費存儲空間的嫌疑?這種處理方式帶來的弊端是什么?(4)原碼可以存儲數值數據,為什么還要引入補碼?
通過討論得出的一致結論是需要解決如下問題:小數點的存儲;正負號的處理;實現存/取的一致性;在考慮數據存儲的同時,還要考慮數據計算的便捷性和可實現性。在此基礎上,數據溢出問題帶來的計算機處理數據的局限性、計算機中浮點數是不精確的和計算機中定點數是以補碼形式存儲的等關鍵問題也就不難理解了,而且可以入心入腦,留下深刻印象,為后續的程序設計做好鋪墊。
故事導入:(1)課程中引用了一個非常著名的案例,1991年海灣戰爭中,美軍Dhahran營地的“愛國者”導彈未能有效攔截“飛毛腿”導彈。(2)計算機中因數據溢出而導致的嚴重問題案例:美國阿麗亞娜5型火箭因溢出問題升空37秒后發生爆炸。
課后提供資源鏈接讓學生詳細閱讀相關內容,學生也可以自行上網搜索更多相關信息,加強對知識點“計算機中數據存儲”的認識和理解,為后續進行程序設計處理數據時了解需要注意的問題做鋪墊。
知識點1蘊含的思政內容:(1)科學容不得半點馬虎,培養學生“精益求精,嚴謹細致”的科學素養。(2)事情可能存在兩面性,是把雙刃劍,解決一個問題的同時可能會引出新問題,所以未來要依靠大家在此基礎上繼續研究,創新發展。(3)考慮問題要全面,要著眼全局,眼光長遠。生活中我們不能只顧眼前,要用發展的眼光看問題。
2.知識點2:循環結構。程序設計就是根據算法使用某種程序設計語言編寫程序的過程。算法是解決問題的方法步驟,是有流程的。任何復雜的算法都是由順序結構、選擇結構和循環結構組成的。其中,循環結構是解決復雜問題的核心步驟,它可以將復雜問題簡單化。
情景教學方式:用視頻的形式為學生展現社會上和校園里存在的各種不同名目的詐騙、“套路貸”等現象,然后聚焦具體的“套路貸”事件,如無抵押貸款10 000元,貸款期限1年,年息是5%(即每天只需支付1.37元的利息),附加條款是1年后如果逾期沒有還款,利息翻番。
實踐教學方法:用所學知識解決生活中的實際問題。請編寫程序計算半年到期后一次性應償還本金和利息共多少錢。如果1年后未能如期償還本息,那么結果如何呢?該程序在設計過程中并沒有難度,大部分學生可以很快寫出相應的代碼并運行。面對程序的運行結果,絕大部分學生不敢相信,引導學生分析討論該案例的套路點在哪兒?通過課程資源平臺表達各自的感想。
知識點2所蘊含的思政內容:(1)引導學生意識到“套路貸”的危害性,不能觸碰。看待事物不能被表面現象迷惑,要養成勤思考的習慣,透過現象看本質。(3)引導學生發揚中華民族勤儉節約的優良傳統,培養“學問勤中得,富裕儉中來”的傳統美德。
3.知識點3:函數。使用函數是為了使程序的邏輯更加清晰,將相對獨立的功能代碼寫成函數,可以增加程序的可讀性,有益于代碼的維護。結構化的程序設計方法就是利用函數將復雜的問題從上到下逐步分解,直到每個問題都變成容易解決的小問題為止,如果每個小問題都解決了,那么整個大的復雜問題也就得以解決。因此,函數在“程序設計”課程中具有舉足輕重的地位,是學習程序設計者必須掌握的內容。
啟發式教學:在選擇結構部分,學生已經掌握了如何用選擇結構編寫程序實現求解一元二次方程根的數學問題;在《數組》一章又進一步學習了如何用程序設計方法求解多個一元二次方程根的問題。那么有沒有比數組更好的方法來求解多個一元二次方程根的問題呢?通過討論得出的結論是:求解一元二次方程根的問題是一個相對獨立的功能,可以編寫一個函數完成該功能,然后只要反復調用該函數就可以得到不同方程的根。下面以函數fun1( )和fun2( )為例講解函數調用過程中入棧和出棧的過程。
每次函數調用,操作系統都會在棧中創建一個棧幀(stack frame)。正在執行的函數參數、局部變量、申請的內存地址等都在當前棧幀中,也就是堆棧的頂部棧幀中。
當fun1函數執行時,fun1( )函數就在棧頂,棧幀中存儲著fun1( )函數的局部變量x,輸入參數等。當fun1( )函數調用fun2( )函數,當前執行函數就變成fun2( )函數,操作系統會為fun2( )函數創建一個棧幀并放置在棧頂。當fun2( )函數調用結束,程序返回fun1( )函數,fun2( )函數對應的棧幀出棧,頂部棧幀又變為fun1( )函數,繼續執行fun1( )函數的代碼,也就是說,真正執行的函數永遠都在棧頂,而且因為棧幀是隔離的,所以不同函數可以定義相同的變量且不會發生混亂。
正確理解函數調用過程中的入棧和出棧過程,對于函數部分的相關知識點:變量的作用域和生命周期、內聯函數、函數參數傳遞順序、函數的返回值等順理成章,容易理解。
問題導入:入棧、出棧過程由誰完成?
討論結果:操作系統協助完成。在此可以聯系概論部分講述的操作系統作用,引出有關操作系統作用和功能的大討論。
知識點3所蘊含的思政內容:(1)自頂向下的結構化程序設計方法將復雜問題不斷分解為簡單的易于解決的小問題。引導學生善于化繁為簡,領悟“大道至簡”的科學哲理。(2)函數調用時系統默默協助完成了很多工作,從代碼層面看不到,引導學生明白“歲月靜好是有人替我們負重前行”。
結語
(一)教師思想認識的提高
教育者要先接受教育。關于課程思政,首先要解決的是教師的思想認識問題。通過課程教學實踐,每位教師從內心深處認識到“計算機與程序設計基礎(C++)”課程蘊含豐富的思想政治教育資源,承擔著引導學生思想政治素質教育的使命和責任。如果保證學生在學習過程中是“信而學”,學生就會有動力,而且往往是真信真學,愈信愈學,愈學愈信。學生在“信而學”的狀態下,無論是思政課程還是課程思政,學起來都會得心應手、出現成效。從這個角度來說,教師要注重在學生面前的一言一行,作為教師一旦站在講臺上,其行為舉止的規范性本身就是一種思政教育,每位教師都要樹立“我站在課堂上授課就是思政”的理念。
(二)學生課程思政效果的體現
課程思政是將正確的政治思想、正確的價值觀和科學素養、家國情懷等正能量的情感融入專業課程,以培養又紅又專、德才兼備、全面發展的社會主義建設者和接班人。因此,課程思政既具有一般專業課程關于專業知識傳授與應用的教學目標,又具有德育的過程目標,兩者之間雖然是融會貫通的,但傳統的評價專業知識傳授與應用的教學目標是否達成的評價方式,顯然不適合評價德育目標是否達成[4]。課程思政的立德樹人目標具有遠期效應、潛在性、綜合性和發展性,難以在短期內做出準確、合理、定性的評價。這也表明課程思政的評價需要更多地關注教學過程性評價,從教師的教學理念、教學目標去判斷衡量[5]。目前主要通過采取課堂討論互動環節、實驗報告總結環節與線上交流等方式反饋課程思政的授課效果。從兩個學期的教學結果來看,不管是課堂互動還是實驗報告總結,針對教學過程中設計的每一個教學案例,最后從學生反饋的信息可以看出,課程設計的思政點都能達到預先設計的教學要求和目的。
教師的教學和學生的學習其實是一個教學相長的過程,在“計算機與程序設計基礎(C++)”課程教學過程中融入思政教育,與思想政治理論課同向同行,將師生的教與學都帶入一個新的領域。教師通過以德立身、以德立學、以德施教促進學生的德行成長,讓他們用新視角、新理念、新方法思考和學習,使專業知識傳授和思想政治教育達到雙贏,同時在此過程中教師身體力行,不斷完善提升自己。當然,在今后的教學中還要積極探索課程思政教學效果的量化指標,獲取更豐富的價值信息,與學校教務處的管理政策和評價方式更好的融合,獲取更長效的學生信息,提高課程思政的教學效果。
參考文獻
[1]教育部.關于印發《高等學校課程思政建設指導綱要》的通知:教高〔2020〕3號[A/OL].(2020-06-05)[2023-06-10].http://www.moe.gov.cn/srcsite/A08/s7056/202006/t20200603_462437.html.
[2]習近平在全國高校思想政治工作會議上強調 把思想政治工作貫穿教育教學全過程 開創我國高等教育事業發展新局面[N].人民日報,2016-12-09(1).
[3]董尚文,楊海斌.深刻認識課程思政建設的重大意義深化課程思政教育供給側結構性改革[J].課程思政教學研究,2021,1(00):3-18.
[4]楊東,劉永斌.新工科背景下高校機械專業課程教學與課程思政同向同行研究[J].科教文匯(中旬刊),2021(2):50-51+86.
[5]石書臣.正確把握“課程思政”與思政課程的關系[J].思想理論教育,2018(11):57-61.
Curriculum Ideology and Politics Practice of Computer and Programming Foundation (C++)
JIANG Min, HUANG Xiao-tao
(Network and Computing Center, Huazhong University of Science and Technology, Wuhan, Hubei
430074, China)
Abstract: Building morality and cultivating talents is the top priority of higher education in China, and comprehensively promoting the Curriculum Ideology and Politics construction is a must. Under the background, as a long-time teaching worker engaged in basic computer education in institutions of higher learning, I deeply realize that" curriculum ideology and politics not only means the change of course ideology but also means the renewal of a kind of educational idea. In the Computer and Programming (c++) course, starting from the teaching goal and teaching content, this paper explores the means to integrate the ideological and political elements into the teaching process, reconstructs the teaching design, explores teaching cases and makes the basic course into comprehesive course integrated with ideological and political education to achieve the goal of integrating knowledge impartation, ability training and value shaping, and comprehensively promoting the Curriculum Ideology and Politics construction.
Key words: curriculum ideology and politics; ideological and political elements; the ideological goal; teaching design; educational objective