張芳芳 姜翠美 肖中俊 萬俊賀 寇磊 劉海林
摘? 要:隨著計算機的普及和人工智能的快速發展,編程語言日益引起重視。程序設計基礎作為一門非計算機專業的基礎編程課,近年來受到廣泛關注。為了讓學生更好地理解程序設計,掌握C和C++語言的基本用法,融入思政元素進行課程建設,對于全面提升教學質量,提高學生學習熱情和創新動力,培養學生正確的世界觀和價值觀,具有非常重要的意義。程序設計的思想是人類智慧的表現,與人類邏輯思維、事物發展內在規律等緊密相關,含有多種多樣的思政元素,適合開展思政課程建設。該文總結程序設計基礎開展思政課程的必要性,給出課程思政建設方案和具體案例,融入方法及學生反饋等,為高等院校思政課程建設提供必要的參考。
關鍵詞:課程思政;C語言;程序設計;教學質量;思維方式
中圖分類號:G641? ? ? ? 文獻標志碼:A? ? ? ? ? 文章編號:2096-000X(2023)19-0189-04
Abstract: With the popularization of computers and the rapid development of artificial intelligence, programming languages have attracted increasing attention. As a basic programming course for non-computer majors, the Programming Fundamentals has received extensive attention in recent years. In order to enable students to understand programming and master the basic usage of C and C++ languages, integrating relevant ideological and political elements into curriculum construction is of great significance to improve teaching quality and develop students' enthusiasm for innovation and cultivate students' correct world outlook and values. The idea of programming is the expression of human wisdom. It is closely related to human logical thinking and the internal development law of things, and contains a variety of ideological and political elements, which is suitable for the construction of ideological and political courses. This paper summarizes the necessity of developing ideological and political courses on the basis of program design, and gives the construction scheme, specific cases, integration methods and students' feedback, etc., which provides necessary reference for ideological and political course construction in colleges and universities.
Keywords: curriculum thought and politics; C language; programming; teaching quality; mode of thinking
2016年,習近平總書記在全國高校思想政治工作會議上指出:“要用好課堂教學這個主渠道……其他各門課都要守好一段渠、種好責任田,使各類課程與思想政治理論課同向同行,形成協同效應。[1]”2020年,《高等學校課程思政建設指導綱要》中明確指出:“全面推進課程思政建設是落實立德樹人根本任務的戰略舉措。[2]”“課程思政”是指將育人格局和思政元素融入各門課程中[3],使課程內容和政治理論課相互融合,通過“課程是思政教育的載體”“將思政元素融入課程教學”的新模式,實現新歷史時期下“立德樹人”的目標。
程序設計基礎是很多非計算機專業的一門專業基礎必修課,主要介紹C語言和C++語言的基本概念、語法規則及程序設計方法,培養學生的編程思維方式及使用C語言編程解決實際問題的能力。程序設計處處蘊含著人類思維的痕跡和智慧,具有豐富的思政元素。本文首先說明了程序設計基礎課程開展課程思政的必要性、給出了課程思政建設方案,包括具體案例、融入方法、課程特色及學生反饋等,對高等院校程序基礎類課程的思政建設提供重要的參考價值和研究意義。
一? 程序設計基礎課程思政建設的必要性
(一)? 借助思政元素講解程序設計基礎思想,易于學生理解,提高教學質量
程序設計基礎課程一般存在教學學時緊缺的問題。一方面,有一些教師為了完成教學任務,根據課程PPT照本宣科甚至滿堂灌,授課方式過于單一和枯燥,很難調動學生學習的積極性和學習熱情。另一方面,學生覺得無聊,在課堂上偷看手機,極大地影響教學質量。
程序設計的思路與人的思路有很多相似性,程序處處表明了人類思維的痕跡,里面蘊含了很多心理學啟示、科學思想和哲學思想。在講解程序指令的時候,教師可以事先搜集與指令或課程相關的經典故事、該領域最新研究動態和典型案例,在講解編程指令時,插入這些經典故事和案例,形成一個生動形象的故事情境,從而引入相關思政元素,采用講故事、舉案例的方式融入課程。這些貼近生活的典型故事與歷史科學上的案例激發學生產生情感共鳴,增強教學的生動性與趣味性,提高學生對編程的興趣和熱情。
(二)? “黑客”低齡化,更有必要融入思政元素
初期的“黑客”大都是編程技術高超的程序員。隨著編程的廣泛化、低齡化,有些年輕人就帶著不良目的,利用非法技術手段破解系統訪問權,入侵遠程系統,并對重要數據造成破壞,已經成為全球網絡世界中的第一大公害。所以,大學教師在講授程序設計基礎課程的同時,更有必要幫助學生們建立正確的思想觀和價值觀。
可見,對程序設計基礎進行課程思政建設,既能夠增強學生對知識的理解和運用能力,又融入了思想品德教育,最終形成一個以知識結構為骨架,以思政元素為靈魂的有血有肉鮮活靈動的課堂。
二? 思政課程建設方案
在程序設計基礎課程中有效融入思政元素,引導學生更好地建立正確積極的價值觀、人生觀和學術觀,力爭實現春風化雨、潤物無聲的效果,從而達到教書育人和立德樹人的目的。這部分詳細論述了課程四大目標、思政元素設計及具體案例。
(一)? 課程四大目標
1)知識目標:使學生掌握程序設計的基礎知識、函數、數組、指針及類和對象的使用方法,深入理解計算機解決問題的基本原理和工作過程,掌握利用程序使用計算機進行科學計算和數據處理的方法。
2)能力目標:幫助學生建立以算法為導向的程序設計理念,培養算法設計能力,編程及程序調試能力,鍛煉邏輯思維能力,為進一步學習與本專業相關的信息處理技術打下基礎。
3)素質目標:使學生初步具有程序員的基本素養,具有算法工程師設計算法的理念。
4)情感目標:本課程采用工科文講,適度適時,自然流暢地引入中華優秀傳統文化、品德思想教育和心理學啟示,有時候還會自然闡述科學家的小故事及其科學精神、科學態度、團隊意識、協作精神等思政內容,力爭做到不牽強、不枯燥,激發學生的興趣,滋養學生的心靈,并引導學生更好地建立正確積極的價值觀、人生觀和學術觀,使其成為一個自由、幸福、獨立而完整的人。
(二)? 思政元素設計
結合程序基礎知識、函數和預處理、數組、指針及類和對象,通過引入實際需要或設定問題的方式,講解相關知識點實現四大目標體系的前三個目標,最后進行德融課堂或思政元素切入,從而實現四大目標的情感目標。思政課堂設計思路如圖1所示。
通過分享身邊小學生都在學編程的現象,引出未來就是編程的時代這一論點來說明編程的重要性,那么如何編程呢?根據這一實際需求講解編程的基本規范,如數據類型、運算符、表達式和程序結構。只要掌握了編程的基本規范,人類才可以和計算機通過程序進行溝通,用指令去操作計算機服務人類。并進一步引申出和類比出人類世界要遵循哪些基本規范。在講解程序結構的時候,比如選擇結構,人類又是如何做出選擇呢?如何為自己的選擇負責任呢?從而自然融入一些價值觀、人生觀的思政教育。
講解函數和預處理時,從函數的基本出發點是為了避免重復編寫這一思想和智慧,引發學生思考每個人都是24個小時為什么人生各不相同呢?從而思考人類如何分工及個人的時間安排問題。
講解數組排序時,從排序引出人的自我定位和認知。
講解指針時,根據指針的含義即變量的地址,拓展到人類的思維方式,如何尋找到一個人,也是人的地址,從而進一步引申出快遞行業和物聯網。
講解類和對象時,也是從人類的思維方式出發,比如學生這一類,某個具體的學生就是對象,引發出做事情要看到具體對象,關注具體對象的特殊性和感受;講解友元函數時,用形象生動易于理解的語言解釋晦澀的專業詞匯,友元函數就類似于某個函數是某類的好朋友,因此該函數可以調用該類的成員,并引申出朋友的含義。
(三)? 具體案例展示
為達到課程四大目標,在進行思政教學時不能刻意融入,而是見縫插針,自然融入,不牽強,不枯燥,具有一定的隨機性。下面給出幾個具體的案例。
1? 選擇結構——為自己的人生負責任
經典語錄:聽我媽媽的安排。
選擇結構,也稱分支結構。我們知道,人類無時無刻不在做出選擇,就像這一刻,你可以選擇認真聽講,也可以選擇交頭接耳。但是,無論你做出什么選擇,你都需要為這個選擇而造成的結果負責任。舉個簡單的例子,你天天選擇吃泡面,后來胃疼了,只能自己受著,自己負責,別人想替你也替不了,這是你的身體,你的人生。
今天的選擇是因,才造成了明天的結果。比如,你們選擇認真聽講,好好學習,才有以后取個好成績的果;同樣,如果你偷懶,以后就可能不及格甚至無法畢業。俗話說:“所有偷過的懶,都會變成打臉的巴掌”。如果不想挨巴掌,就要學會如何做出更好地選擇并為自己的人生負責任。今天我們就來認真學習一下如何告訴計算機我們的選擇呢?這樣自然引出選擇結構的講解。
2? 循環結構——量變引起質變,積累產生奇跡
經典語錄:勿以惡小而為之,勿以善小而不為。
首先,講述《饑漢吃餅》的故事。古時候有一個行路人,肚子餓極了就買了一個燒餅吃,吃后覺得不頂事,又買了一個吃,但肚子還是餓。于是再買再吃,一連吃了6個。感覺還不多飽,又買了一個,當這個燒餅只吃了一半就很飽了。這時他十分懊惱,狠狠地打了自己一個耳光,并自責道:“我是多么不會過日子的人呀!先前6個燒餅都被我白白地浪費啦!早知道這半個燒餅就能吃飽,我為什么要吃那6個呢?”
饑漢由餓到飽是量變和質變的統一。饑漢的變化首先是從量變開始的,經過量的積累而達到質變。饑漢沒有吃了一個又一個的量變,就不會發生吃第七個時的質變。質變是量變的結果??梢?,一切事物的變化發展,首先都是從量變開始的,沒有量變做準備,就不會有質變發生,量變是質變的基本必要條件。量變積累到一定程度時,必然會引起質變。因此,質變是量變的必然發展結果。告誡學生日積月累成長進步,體驗量變引起質變的魅力。那么計算機如何實現量變引起質變呢?就要用到我們今天所講的循環體結構。
3? 多重循環及嵌套——想象力的培養:真實與虛擬
經典語錄:宇宙是一個巨大的程序,人類是計算機模擬出來的程序。
循環嵌套循環,程序嵌套程序,進行講解和引申:很多物理學家,宇宙學家和技術專家們認為,宇宙其實是一個巨大的程序,我們就是計算機模擬程序中的產物,過著虛擬生活,把這當成真實的世界。谷歌的機器智能大師雷·庫茨韋爾也提出類似觀點,我們宇宙也許只是另一個宇宙中的科學實驗而已。這個宇宙就像是一個超級計算機一樣,微觀粒子就是程序中的字節,一個分子就是一個數據組,然后各種各樣的數據組合成了宇宙。這個程序不斷地自我產生作用,慢慢地形成了自己特有的時空,不受實驗的控制,成為了獨特的程序。在程序的自我生成中,還產生了人類這樣的數據等等,以此激發學生的興趣和想象力。
4? 編程計算 1+2+3+……+100——數學家高斯的故事
經典語錄:我的興趣是什么?用生動形象的語言和跌宕起伏的故事情節講解德國著名數學家高斯的故事。
高斯從小家境貧寒,他的父親是一家雜貨鋪里的算賬先生。高斯小時候,父親就經常給他講自己在工作中積累的一些簡便算法。高斯聰明而且用心,對這些算法,不僅僅快速理解,而且還能舉一反三,靈活運用,也從小培養了對數學的濃厚興趣??墒?,在高斯上小學的時候,他的數學老師白爾脫先生總覺得農村小孩都不會學習也不愛學習,自然也不認真講課,還經常無緣無故地訓斥學生。有一天,白爾脫心情不太好,就黑著臉,在黑板上列出題目:1+2+3+……+100=?說:“現在你們自己算這道題,誰算完就回家吃飯,算不完不許回家?!眹樀猛瑢W們趕緊拿出練習本,開始計算。白爾脫人呢?卻坐到一旁,悠閑自在地看起小說。可他兩頁還沒有看完,小高斯就高高地舉起手,說:“老師,我算完了?!?/p>
誰知白爾脫不耐煩地揮揮手,“算完了?這么快能算對嗎?再算算看吧!”
“老師,不會錯的,我都檢查過了,還驗算了一遍?!备咚拐酒饋?,理直氣壯地對老師說。
白爾脫走到高斯座位前,看到他的結果竟然是正確的,不禁大吃一驚,答案確實是“5 050”。高斯講述了一下他的計算過程:1+100=101,2+99=101,……,49+52=101,50+51=101,一共有50對101的數目,所以答案正好是 50×101=5 050。
從這件事情以后,白爾脫一下子改變了對農村學生的偏見,慢慢發現高斯的數學天賦,還經常對高斯進行個別輔導。高斯也不負期望,對數學的興趣越來越濃,造詣越來越深,十七歲時就發現了數論中的二次互反律。
高斯采用了巧妙方法進行了計算。如果用計算機編程實現,就可以使用循環結構。計算機比起人類的優勢,就是不知疲倦,可以反復循環。也正因如此,機器把人類從重復繁瑣的勞動中解放出來。那么如果編程實現這道題,會是怎么樣呢?講解該題的編程思路,并讓學生上機實驗、演示結果及分享編程過程。
5? 數據的排序——自我認知和制定目標
經典語錄:我是個什么樣的人?
排序是編程中常見的一種題型,人類看到幾個數一下子就看出誰大誰小,可是如何把頭腦中排序的思想傳遞給計算機呢?用動畫演示冒泡法和選擇法的排序過程,激發學生對編程的興趣,引申學生的自我認知和定位,合理評價自己,接納自己,引導學生對自己設置高目標。孔子說:“取乎其上,得乎其中;取乎其中,得乎其下;取乎其下,則無所得矣。”
每個人的人生都有無限可能,給自己定一個稍高的目標,趁年輕多吃苦多奮斗多學習多成長,堅持自己的夢想。萬一實現了呢?
三? 思政元素融入方法
人都喜歡聽故事?;谶@一心理特征,將專業知識點和科學家小故事結合起來,將相關思政元素和德育文化自然流暢地融入到專業知識中,采用輕松愉快,形象生動的語言講授出來,采用工科文講,哲學和美學的語言,讓學生聽課變成一種美和愉悅的享受。
結合日常生活,生產實踐科研,當今社會熱點和零零后學生心理特征及人生觀,適度適時自然流暢地引入中華優秀傳統文化和品德教育,從程序設計原理,實際編程案例自然闡述出科學精神、科學態度、團隊意識、協作精神等內容,并注重問題啟發和與學生的互動,采用板書,多媒體教學,網絡視頻,上機互動答疑,分組比賽等教學手段(如圖2所示),力爭做到復雜的問題簡單地講,枯燥的問題幽默地講,難點問題生動化,不牽強,不枯燥,激發學生的興趣,并在價值觀人生觀的建立層次上提高一個臺階,力爭實現春風化雨,潤物無聲的效果,從而達到教書育人,立德樹人的目的。
四? 學生反饋
該課程獲得了程序設計基礎思政課堂好教案的稱號,并在齊魯工業大學(山東省科學院)信息與自動化學院進行了教學實踐。
實踐表明,思政元素的引入,多種教學方法的綜合運用,如采用啟發式教學、上機課演示及課堂分組討論和比賽、分享等以學生為中心的互動方式,充分調動學生的學習積極性和興趣,充分發揮學生的主觀能動性,引發學生主動從內心深處感悟和思考,教師再根據學生的問題、感悟、體會和收獲等進行詳細解答和適當引導,使學生在感情上產生共鳴,思想上得到認同,真正做到“潤物細無聲”。學生紛紛表示很有收獲,思政課堂獲得了學生的一致認可和發自內心的感激。
五? 結束語
本文說明了程序設計基礎開展思政課程的必要性,給出了課程思政建設方案和具體案例,融入方法,學生反饋等,并在齊魯工業大學(山東省科學院)信息與自動化學院進行了教學實踐。實踐表明,該思政課程建設可以有效提高學生學習程序設計語言的熱情,使學生快速具備運用信息技術解決專業領域問題的基本能力,并通過對程序的領悟和理解,加深了對自己的認識和了解,基本實現了課程的四大目標,同時也為高等院校思政課程建設提供必要的參考。
參考文獻:
[1] 把思想政治工作貫穿教育教學全過程,開創我國高等教育事業發展新局面:劉云山講話王岐山張高麗出席[N].人民日報,2016-12-09.
[2] 教育部關于印發《高等學校課程思政建設指導綱要》的通知[EB/OL].https://www.gov.cn/zhengce/zhengceku/2020-06/06/content_5517606.htm.
[3] 那俊,李丹程.課程思政在計算機類課程中的探索與實踐[J].中國大學教學,2021(3):48-51.
基金項目:山東省教學改革面上項目“高校教師教學質量評價機制與體系的探索與實踐”(M2020075);齊魯工業大學(山東省科學院)教學改革項目“人工智能背景下離散數學課程的混合教學模式研究”(kczx202034)
第一作者簡介:張芳芳(1982-),女,漢族,山東菏澤人,博士,副教授。研究方向為程序設計和自動控制的教學與研究。
*通信作者:姜翠美(1979-),女,漢族,山東泰安人,博士,副教授。研究方向為程序設計及數學方面的教學和研究。