摘要:為落實立德樹人根本任務,探索將思政融入Python程序設計課程案例式教學過程,研究以愚公移山、政府工作報告詞云分析等實際案例為例,設計了融入思政元素的案例式教學模式。通過問卷調查和教學實踐表明,思政元素融入Python課程取得顯著成效。學生對課程滿意度平均達4.91,不僅增強了學習興趣,還提升了學生的編程能力與思想政治素養,為理工科Python課程開展課程思政提供了可借鑒的教學模式和實踐路徑。
關鍵詞:思政視域;Python;程序設計;案例教學
中圖分類號:G642" " " 文獻標識碼:A
文章編號:1009-3044(2025)18-0133-03
開放科學(資源服務) 標識碼(OSID)
0 引言
2019年,中共中央、國務院印發的《中國教育現代化2035》提出,要更加注重德育優先和全面發展[1]。2020年,教育部發布的《高等學校課程思政建設指導綱要》強調,將課程思政建設作為落實立德樹人根本任務的戰略舉措[2]。隨著課程思政的全面推進,如何在理工科課程中有效融入思政教育,培養學生的價值觀和社會責任感,成為高校教育研究的重要問題。
作為一種新興解釋型語言,Python以“簡單、優雅、明確”的設計哲學迅速崛起,并長期位于TIOBE編程語言排行榜前列[3]。Python程序設計課程不僅聚焦于編程技能和數據處理,還蘊含豐富的思政教育資源,為課程思政的實施提供了廣闊空間。本文基于“思政+案例”的教學模式,探索在該課程中融入思政元素的具體路徑。通過典型案例設計和實踐驗證,分析該模式對提升學生編程能力和思想政治素養的成效,為該課程的課程思政建設提供參考。
1 課程思政教學實施路徑
在Python課程教學中,思政教育的融入不僅有助于提升學生的編程能力,還能培養其社會責任感和價值觀。通過精心設計的教學內容與方法,將思政元素與專業知識有機結合,為學生提供全面的成長路徑。
教學設計強調思政內容與專業知識的緊密結合。每一章節的編程技能教學都與社會責任、歷史使命等思政內容相對應。例如,在《Python語言簡介》中,通過介紹“Python之父”吉多·范羅蘇姆的創新故事,激發學生的創新精神;在“數值類型及基本運算”章節,借用“阿麗亞娜火箭爆炸案例”來探討工程倫理;“選擇程序控制結構”則通過“于敏投身氫彈的故事”喚起學生的家國情懷[4];“循環程序控制結構”章節結合“愚公移山”的寓言,培養學生的人文精神。在“函數與模塊”章節,借助中國天宮空間站工程的案例,展示模塊化、函數化設計思想[5],講解如何通過模塊化分工保證高效協作,增強學生對航天事業的自豪感,并激發他們學習航天精神,特別是能吃苦、敢于挑戰、勇于攻關、無私奉獻的精神。在“科學計算與數據可視化”章節,結合“政府工作報告詞云生成案例”進行數據分析的同時,引導學生思考國家發展和政治認同問題。通過這些案例,學生不僅學習到了編程技巧,還提升了思政素養。每一章節融入的代表性思政元素見表1。
課程教學注重學生的參與和互動。通過“角色扮演”與“情境模擬”的方式增強學生的實踐感。例如,在講解“異常處理”章節時,模擬“塔科馬海峽大橋事故”場景,讓學生扮演工程師等角色,討論如何避免技術失誤,并從中強化倫理思考。在其他章節,也通過小組討論、課堂互動等方式,激發學生的思維,讓他們在參與中提升編程技能并理解社會責任。
2 典型案例設計與實踐
2.1 案例1:愚公移山與循環結構的程序設計
在講解循環結構時,學生通過分析愚公移山的故事,結合編程實現模擬移山過程,進一步理解堅持不懈與團隊協作的重要性。通過此項目,學生不僅能掌握Python中的循環結構和隨機數生成的基本知識,還能從寓言故事中領悟堅持奮斗的精神。
2.1.1 項目設計思路
1) 系統模擬愚公移山的過程,定義山的高度、每日進度以及影響進度的因素(如天氣、志愿者數量、新工具等) 。程序通過循環結構每天更新山的高度,直到山的高度低于設定閾值。程序核心代碼如下所示。
1. mountain_height = 1000" # 大山的高度,單位:米
2. base_daily_progress_percent = 0.001" # 基礎每天移山進度,單位:百分比
3. threshold = 0.01" # 設置閾值,如果山高低于此值就認為山已經被移走
4. while mountain_height gt; threshold:
5." " "days += 1" # 每天工作,天數加一
6." " "volunteers = random.randint(0, 5)" # 每天隨機加入的志愿者數量
7." " "weather_effect_percent = random.choice([-0.002, -0.001, 0, 0.001, 0.002])
8." " "new_tool = random.choice([False, False, False, False, True])" # 出現新工具概率
9." " "daily_progress_percent = base_daily_progress_percent + volunteers * 0.0005 + weather_effect_percent
10." " "if new_tool:
11." " " " "daily_progress_percent += 0.002" # 新工具增加0.002的進度
12." " "daily_progress = mountain_height * daily_progress_percent" "# 當天的移山進度(米)
13." " "if daily_progress lt; 0:
14." " " " "daily_progress = 0
15." " "mountain_height -= daily_progress" " # 更新山的高度
2) 每90天打印一次當前進度,讓學生觀察在不同天氣、志愿者和工具影響下的進展,并通過分析這些因素的變化,強化學生對堅韌不拔精神和團隊協作的理解。程序核心代碼如下所示。
1." " "if days % 90 == 0:" # 每90天打印一次輸出
2." " " " "print(f\"第{days}天:\")
3." " " " "print(f\"剩余山高:{mountain_height:.2f}米,移山進度:{daily_progress:.2f}米\")
4." " " " "print(f\"志愿者:{volunteers}人\")
5." " " " "print(f\"天氣影響:{weather_effect_percent*100:+.2f}%\")
6." " " " "print(f\"新工具:{'有' if new_tool else '無'}\")
7." " "if days % 360 == 0:" " " # 每360天打印輸出時短暫停頓一下,便于觀察
8." " " " "time.sleep(1)
9." " "if mountain_height lt;= threshold:
10." " " " "print(f\"第{days}天,山高已低于閾值,停止移山!\")
11." " " " "break
12. print(\"愚公和他的子孫、鄉鄰們終于移走太行、王屋二山!\")
在項目設計教學過程中,教師引導學生思考“愚公移山”所象征的持之以恒與集體力量,激勵學生在學習和生活中,勇于挑戰,不斷追求自己的目標。程序運行結果如圖1所示。
2.1.2 教學活動
在實施這一案例時,教師首先通過講解“愚公移山”的故事,引導學生討論故事中的堅持與團隊合作精神。隨后,教師結合案例引導學生理解循環結構的使用場景,并通過編程模擬實際問題。教師鼓勵學生自主編寫代碼,并在調試過程中幫助他們理解隨機數的應用及其對結果的影響。
1) 分組討論:學生分組討論愚公移山故事中的關鍵元素,如“持之以恒”和“團隊協作”,并通過編程實現這些元素。在討論過程中,學生分析不同因素對移山進程的影響,并提出如何改進程序設計來更好地反映這些因素。
2) 編碼與調試:學生根據教師的指導,編寫完整的循環結構代碼,模擬愚公移山過程。教師在編程過程中提供幫助,尤其在隨機數應用和邏輯調試方面,確保學生能夠掌握這些基本知識。
3) 結果展示與分析:每組學生展示自己的代碼運行結果,分析程序中的進度變化,并總結不同因素(如志愿者數量、天氣、工具) 對進度的影響。同時,教師引導學生思考如何從程序結果中汲取“堅持不懈”和“團結協作”的精神。
2.1.3 學生反饋
學生普遍反映,通過這一案例,能夠更加深入地理解編程中的循環結構與隨機數的應用,同時也能感受到愚公移山所蘊含的精神價值。很多學生表示,這一案例不僅幫助他們掌握了技術知識,還增強了他們面對挑戰時不輕言放棄的決心。特別是通過模擬不同天氣和工具的影響,學生對如何在實際問題中靈活運用編程技巧有了更深的理解。學生反饋的具體內容如下所示。
“我學會了如何使用循環結構解決實際問題,通過模擬愚公移山,我也更理解了團隊合作的力量。”
“這不僅是一個編程項目,還是一次思維上的啟發。愚公的精神讓我明白了不論面對什么困難,只有堅持才能看到成果。”
通過本項目,學生不僅掌握了Python中的循環結構和隨機數應用,還從愚公移山的故事中汲取動力,理解不屈不撓和協作精神的重要性,為其日后的學習與工作提供精神上的支持。
2.2 案例2:政府工作報告中的詞云分析
在講解文本處理、分詞和詞云生成時,學生可以通過分析2024年政府工作報告中的關鍵詞,進一步理解社會責任和國家發展目標。通過這一項目,學生不僅能夠掌握Python的文本處理、分詞和詞云生成的技能,還能通過分析國家政策,強化社會責任感,理解國家對社會發展的期望和使命。項目設計思路如下:
1) 首先讀取《2024年政府工作報告》的全文,使用分詞工具jieba進行中文分詞,去除停用詞后得到有效的關鍵詞。程序核心代碼如下所示。
1. with open(r\"GovernmentWorkReport2024.txt\", \"r\", encoding=\"utf-8\") as file:
2." " "report_text = file.read()
3. words = jieba.lcut(report_text)" # 使用 jieba 進行中文分詞
4. with open(\"stopwords.txt\", \"r\", encoding=\"utf-8\") as file:
5." " "stopwords = set([line.strip() for line in file])
6. filtered_words = [word for word in words if word not in stopwords and len(word) gt; 1]
7. text = \" \".join(filtered_words)
2) 然后,使用詞云生成技術,將分詞后的文本信息可視化,生成與報告內容相關的詞云圖,幫助學生可視化與社會責任相關的關鍵詞頻率。程序核心代碼如下所示。
1. mask_image = Image.open(\"mask.jpg\")" # 讀取遮罩圖片
2. mask = np.array(mask_image)
3. width, height = mask_image.size
4. wordcloud = WordCloud(
5." " "background_color=\"white\",
6." " "mask=mask,
7." " "font_path='C:/Windows/Fonts/simsun.ttc'," # 設置于常見的中文字體
8." " "max_words=200," " " " " " "# 限制單詞數量
9." " "width=width,
10." " "height=height
11.).generate(text)
12. plt.imshow(wordcloud, interpolation='bilinear')" # 顯示詞云圖片
13. plt.axis(\"off\")
14. plt.show()
3) 在展示過程中,教師引導學生關注報告中頻繁出現的詞匯,如“發展”“創新”“推進”等,這些關鍵詞背后蘊含著國家在推動社會進步、經濟發展中的責任與使命。程序運行結果如圖2所示。
通過本項目的學習,學生不僅掌握了文本處理、中文分詞與可視化生成技術,還能深刻體會到政府工作報告中的社會責任主題與國家發展的緊密聯系。教師可通過引導學生關注報告中的社會發展、改革等關鍵詞,幫助學生樹立服務社會、承擔責任的意識,并鼓勵他們在未來的學習和職業生涯中,積極投身社會進步與科技創新的事業中。
3 教學效果評價
為了解課程思政設計的效果,本文研究者在程序設計基礎(Python語言) 課程中進行了基于問卷的教學效果調查。調查對象為執教的2022級的三個班級,分別為物理教育2211班、物理教育2212班以及物理光電2211班,共計185名學生參與了此次問卷調查。問卷內容主要包括課程思政元素的評價與融入思政的課程滿意度評價。學生根據每個問題給予評分,評分從1分(非常不滿意) 到5分(非常滿意) 。調查結果如表2所示。
從問卷結果中可以看出,思政元素的融入得到了學生的高度評價,平均評分在4.85以上,表明學生普遍認可將思政內容融入編程課程的設計。同時,課程的整體滿意度也處于較高水平,平均評分達4.91,體現了教學內容的實際效果和學生的學習滿意度。
除了問卷調查外,期末學生成績也是評估教學效果的重要依據。在本次教學中,我們對上述三個執教班級所有學生的Python課程期末成績進行了統計與分析。根據成績分布,我們將成績劃分為A(90~100分) 、B(80~90分) 、C(70~80分) 、D(60~70分) 和E(低于60分) 5個等級。表3是期末成績分布與合格率的具體情況。
合格率均達到94%以上,A和B等級學生占大多數,表明學生知識掌握情況良好。物理教育2211班和2212班大多數學生成績在80分以上,表現出良好的學習態度和編程能力。物理光電2211班學生成績分布均衡,合格率略高。
4 結論
本文探討了將思政元素融入Python程序設計課程的教學模式,通過項目式和案例式教學,結合具體案例和角色扮演,較好地將思政教育與課程知識融合,增強了學生的社會責任感、團隊合作意識和創新精神。研究表明,學生對該模式認可度較高,期末考試優秀率和合格率都比較高,表明該教學設計有助于提升學生編程技能和思想政治素養。
參考文獻:
[1] 國務院. 中共中央、國務院印發《中國教育現代化2035》[EB/OL] (2019-02-23) [2024-10-15]. https://www.gov.cn/xinwen/2019-02/23/content_5367987.htm.
[2] 教育部. 教育部關于印發《高等學校課程思政建設指導綱要》的通知[EB/OL].(2020-05-28) [2024-10-15]. https://www.gov.cn/zhengce/zhengceku/2020-06/06/content_5517606.htm.
[3] TIOBE. TIOBE Index for December 2024[EB/OL].(2024-10-20)[2024-10-25]. https://www.tiobe.com/tiobe-index/.
[4] 路龍賓, 王小銀, 許學斌, 等. Python語言程序設計的多角度思政教育教學[J]. 計算機教育, 2022(9):58-62.
[5] 李峰. “Python程序設計”課程與思政教育協同教學模式實踐研究[J]. 教育教學論壇, 2024(31):149-152.
【通聯編輯:王 力】