?

計算機程序設計類課程的思政教學探索與實踐

2023-01-06 06:57周海平黃龍軍胡珂立
紹興文理學院學報(教育版) 2022年2期
關鍵詞:爬蟲程序設計工匠

周海平 黃龍軍 胡珂立

(紹興文理學院 機械與電氣工程學院,浙江 紹興 312000)

課程思政是指將三全育人的理念融入各類專業課程,使專業課程與思想政治理論課同向同行,形成協同效應,真正實現高等教育“立德樹人”的根本目標。習近平總書記在全國高校思想政治工作會議上指出,高校要把“立德樹人”作為中心環節,把思想政治工作貫穿教學全過程,實現全程育人、全方位育人,努力開創我國高等教育事業發展的新局面[1]。教育部頒布的《高等學校課程思政建設指導綱要》明確要求高校結合專業及課程特點分類推進課程思政建設。計算機程序設計是高校理工科專業學生必須掌握的基本技能,我國高校理工科專業的學生占高校學生總人數的70%,因此,高校修讀計算機程序設計類課程的學生非常多,在該類課程中開展課程思政教育十分必要。

一、計算機程序設計類課程中進行思政教育的現狀和難點

計算機程序設計是邏輯性、技巧性和實踐性非常強的一門課程,而傳統的思政課程是理論性和說教性較強的課程,兩者之間在教學內容、教學方法及思維模式上都存在顯著的差別[2]。從教學內容上看,兩者之間的關聯性很弱,如果在程序設計課程中突然插入與之無關的思政內容,學生會覺得很突兀,這對教師來說是一個很大的挑戰,需要把握好嵌入思政內容的時機,否則,不僅達不到思政教育的目的,反而會影響程序設計課程的教學效果,甚至會引起學生的反感和抵制。從教學方法上看,程序設計課程的教學重點在于邏輯分析過程的講解及編程技巧的練習,而思政課程的教學更注重理論知識的講授和道德理念的闡述。對于一個非思政專業的教師來說,很難一下子掌握思政課程的教學方法。在思維模式上,程序設計課程訓練的是邏輯思維和計算思維,而思政課程傳播的是人生觀、世界觀、價值觀。這兩種課程的思維方式完全不同,如果在程序設計課程中突然插入思政內容,可能會打亂學生的思維。此外,當今00后大學生是在思想多元化的網絡時代成長起來的,其思想受到網絡中各種觀念的影響,這些觀念對傳統的思想教育產生了很大的沖擊。綜上,程序設計課程中的課程思政教育面臨著巨大挑戰。

近年來,在國家和教育部的號召下,國內高校對課程思政的建設非常重視,紛紛加入課程思政的建設洪流,并且產生了一批豐富的理論研究成果和應用實踐案例。文獻[3-4]對課程思政的本質內涵與實現路徑進行了討論,指出課程思政既是一種教育理念,又是一種教育方法,同時還是一個系統工程,需要從理論和實踐上研究其運行機理。文獻[5]對“課程思政”和“思政課程”之間的關系進行了闡述,總結了當前課程思政教育取得的成果及存在的不足,并指出了未來高校課程思政教育著力的方向。文獻[6-7]針對Python程序設計語言的課程思政教學進行了研究,挖掘了程序設計課程中的思政元素,分享了思政教育的典型案例。文獻[8]提出了基于OBE理念的課程思政改革方案,并以程序設計課程為例闡述了以產出為導向的課程思政教學改革方法。盡管課程思政已經引起了國內諸多高校的重視,并且產生了一批課程思政的理論研究成果,但是從實踐的角度來看,目前積累的行之有效的經驗并不多,特別是對程序設計類課程來說,還需進一步挖掘合適的思政元素,探索有效的實施方案。紹興文理學院2017年對全校所有專業啟動了課程思政的教學改革,并取得了較好的成效,新華網等國內多家主流媒體曾經對紹興文理學院課程思政教育取得的成效進行了專題報道[9]。本文就紹興文理學院近年來在程序設計類課程開展思政教學的路徑及案例進行總結與分享,以供其他高校理工類專業的教師參考與借鑒。

二、計算機程序設計課程思政育人目標

課程思政與思政課程不同,思政課程的育人目標相對單純,不需要考慮專業能力的培養,而課程思政在育人過程中既要關注專業能力的培養,又要考慮思政目標的實現,在實施課程思政教學過程中不能讓兩者獨立進行,而要使兩者產生關聯,要在專業教學的過程中很自然地嵌入思政元素,從而達到理想的育人效果。因此,課程思政要針對每一門課程選擇與其匹配的育人元素,而不能指望在一門課程中堆砌所有的育人元素。在程序設計類課程中,本課題組經過商討,設定了以下思政育人元素。

(一)人文精神和社會責任感培養

人文精神主要體現在對人的關懷方面,在網絡時代,計算機軟件使用十分廣泛,離開了軟件幾乎寸步難行,當前我國人口眾多,文化水平參差不齊,很多人對軟件的使用存在恐懼心理,因此,對程序開發者來說,需要對這部分人多加關懷,在編寫軟件的時候需要考慮軟件的易用性,盡量讓人們能夠方便使用。此外,在萬物互聯時代,科技對社會的影響越來越大,作為一名計算機專業的學生,需要具備較強的社會責任感與時代擔當精神,勵志利用技術改造世界,使社會向更加高效、節能、綠色、生態、和諧的方向發展。

(二)團隊合作和集體意識的培養

團隊合作和集體意識是現代社會不可缺少的一種精神。當今世界,人類正面臨著環境、生態、發展的問題,如果沒有合作精神,很難克服這些挑戰。對計算機專業的學生來說,在項目開發過程中經常會遇到各種技術上的困難,需要通過團隊成員緊密合作才能克服挑戰,按時按質完成任務。在團隊合作過程中,能培養學生的溝通表達能力、責任感、敬業精神及寬容的心態。

(三)工匠精神與創新意識的培養

我國要實現從中國制造向中國創造的全面跨越,必須建設一支高素質的產業工人隊伍,而高素質主要體現在工匠精神與創新意識兩個方面,對高校理工科專業的學生來說,工匠精神與創新意識的培養尤為重要。對計算機專業的學生來說,在編寫程序解決問題時,有多種方法可以選擇,每種方法實現的效果也不一樣,可以讓學生們多思考,多嘗試,找出更好的算法,這個過程很適合培養學生的工匠精神與創新意識。

(四)法律觀念與職業道德的培養

公民的法律觀念和道德水平是衡量一個國家文明程度的主要因素。當前我國對信息技術的應用總體持開放態度,信息技術應用十分廣泛,由此帶來的犯罪活動也層出不窮。對于計算機專業的學生來說,利用黑客和網絡爬蟲等技術從事犯罪活動非常容易,如果學生不了解哪些行為是犯罪行為,很可能不知不覺就走向了犯罪的道路,從而產生嚴重后果。因此,在程序設計類課程中培養學生的法律觀念和職業道德十分重要。

三、教學環節

計算機程序設計類課程包括理論教學、實踐練習及小組討論等多個環節,每個環節都有其自身的特點,在實施課程思政教學的過程中,通過多種環節共同作用,可以起到鞏固和加深印象的作用,實現更好的育人效果。

(一)理論教學

理論教學是實施課程思政教學的主要方式,在教學過程中主要以教師講授為主,做法比較靈活,形式也更加多樣化。例如,在培養學生的工匠精神與創新意識時,教師可以事先準備典型的事例和素材,在上課時不經意間拿出來分享,如將《大國工匠》節目中的例子拿出來講述,并分享自己的體會,啟發學生做事情要勇于創新、精益求精。除此之外,教師也可以在講解編程題時融入工匠精神與創新意識等思政元素,例如,在講解“百錢買百雞”問題時,可以由淺入深不斷優化算法,使程序的執行效率不斷提高,以此鼓勵學生們勇于創新、精益求精。

(二)實踐教學

如果說理論教學的作用是讓學生理解并接受思政元素,那么,實踐教學的作用則是讓學生通過動腦思考和動手操作鞏固并加深對思政元素的感受,通過不斷練習,使學生將思政元素的素養轉化為自身內在的品質。例如,在培養學生的工匠精神和創新意識方面,課題組開發了一個在線判題系統,并在系統中部署了四百余道編程題,每道題都是由課程組教師精心挑選的,這些題在運行結果和時間上都設置了嚴格的要求,學生一方面需要不斷優化算法,才能避免程序運行超時,另一方面還需要保證運行結果的格式與要求的格式完全一致,否則無法通過判題。學生通過不斷練習,從而提升工匠精神和創新意識。

(三)分組學習和討論

小組討論是程序設計類課程非常有效的一個教學環節。在具體實踐中,可以在一門課程剛開始的時候把一個班分成一些小組,平均5~6人一組。在課程運行過程中,布置一些小型項目,小組以團隊的形式完成項目,最后通過小組答辯的方式評價每個組的完成情況。通過分組學習和討論,一方面可以培養學生的團隊合作和集體意識,另一方面也可以提高學生的學習效率和解決問題的能力。此外,對一些有爭議的問題,可以組織辯論活動,讓學生在小組內部進行討論,形成小組意見,然后在意見不同的小組之間開展辯論活動。例如,對于是否可以使用爬蟲技術獲取非公開數據這一問題,不同的小組常常會有不同的意見,可以針對該類問題組織辯論,最后通過教師的點評和總結形成一致意見。通過這種方式,既能培養學生的法律觀念和職業道德,又能鍛煉學生的思維和表達能力。

四、典型案例

案例1:“水手一號”航天探測器發生事故,說明發揚工匠精神的重要性。

案例描述:1962年,發往金星的水手一號探測器在發射293秒后偏離了預定軌道。經調查,導致事故的原因有兩個,一個是探測器制導天線的硬件故障,另一個是制導系統的軟件故障。由于制導天線并沒有達到應有的設計標準,無法完全發揮其制導功能,因此,探測器只能依靠制導系統來完成制導任務。遺憾的是,在制導系統的開發過程中,某個程序員在編寫代碼時將公式寫錯,漏了一個下標。這個下標原本是半徑R的第N次平滑時間導數值。由于缺少數據光滑化處理功能,制導系統錯誤地把正常速度當成異常處理,并造成了不當修正,最終探測器偏離航向。此次事故造成了1 900萬美元的損失,并使原定的探測任務推遲了5周。我們通過這個例子,教育引導學生在編寫程序時要發揚工匠精神,做到精益求精,盡量減少錯誤。

案例2:對比求完數的不同方法,說明創新的重要性。

案例描述:尋找100 000以內的所有完數。完數是一個正整數,該數恰好等于其所有不同真因子之和。例如,6、28是完數(6=1+2+3,28=1+2+4+7+14),24不是完數(24≠1+2+3+4+6+8+12)。

圖1 兩種方法的代碼和耗時情況對比

案例3:對爬蟲技術濫用現象進行討論,樹立法治觀念。

案例描述:爬蟲技術是當今比較流行的數據收集方法,目前爬蟲技術使用十分廣泛,濫用爬蟲技術的現象也經常出現,請學生們針對以下現象發表自己的觀點:(1)使用爬蟲技術收集網絡公開數據;(2)使用爬蟲技術收集非公開信息,但不進行謀利;(3)使用爬蟲技術收集并出售非公開信息。

觀點1:可以使用爬蟲技術收集任何信息,只要不損害他人利益就行。

觀點2:對于公開信息,可以隨意爬取,并可以隨意使用。

觀點3:不論信息是否公開,都必須在國家的法律框架內進行操作,對于法律沒有明確規定的行為,也必須遵守道德規范,不能損害他人權益。

在討論過程中,學生們對觀點3普遍持一致的肯定態度,但對觀點1和觀點2的態度出現了分歧。最后,通過教師的講解,讓學生們知道了爬蟲技術的使用規范,必須在國家法律和行業規范的規定下使用爬蟲技術。

五、課程效果

為了解學生的學習效果及學習感受,我們要求每位學生在“高級語言”課程學期結束時提交一篇不少于600字的學習體會。我們把所有學生的學習體會匯成一個文檔,然后制作了一個詞云圖,見圖2。根據詞云圖分析學生的學習狀況。從詞云圖中我們發現正面詞匯占據了主體地位,而且出現了一定頻率的“工匠精神”“團結”“合作”“職業道德”等詞語,說明學生經過一個學期的學習整體上反映出一種積極向上的精神面貌,基本達到了課程思政的育人目標。

圖2 學生課程體會詞云圖

六、總結

課程思政既是一種教育理念,也是將育人理念融入專業課程的方法實踐,需要在實踐中不斷總結和探索。通過在程序設計課程中設置人文精神、社會責任、工匠精神、創新意識、團隊合作、集體意識、法律觀念、職業道德等思政元素的育人目標,并通過理論教學、實踐教學、分組討論等環節來實現思政育人元素的培養,使學生樹立正確的人生觀、價值觀,提升了學生的綜合素養。

猜你喜歡
爬蟲程序設計工匠
利用網絡爬蟲技術驗證房地產灰犀牛之說
90后大工匠
工匠風采
基于Python的網絡爬蟲和反爬蟲技術研究
醫學專業“Python程序設計”課程教學改革總結與思考
基于Visual Studio Code的C語言程序設計實踐教學探索
工匠神形
從細節入手,談PLC程序設計技巧
大數據背景下校園輿情的爬蟲應用研究
大數據環境下基于python的網絡爬蟲技術
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合