歐雨 田小梅 余孝忠
摘要:近年來新工科產業如人工智能、大數據、機器人、云計算飛速發展,對高校程序語言教學帶來了新的挑戰。如何充分調動學生積極性,構建基于新工科背景下的Python程序設計教學內容和方法成為緊迫的需求之一。文章以學生為中心,以產出為導向,制定適合地方院校學生特色的教學內容設計教材與建設課程資源,設計合理的教學目標,提出以“系統”“項目”為指導的動態代碼操作演示的教學方法。從實際需求出發,在精選教學內容的基礎上編撰自主教材,構建貼合新工科背景下的教學評價體系,并進行了相關教學實踐,取得了良好的效果。
關鍵字:新工科;Python 程序設計;教學改革;教學方法
中圖分類號:TP3? ? 文獻標識碼:A
文章編號:1009-3044(2024)08-0156-03
開放科學(資源服務)標識碼(OSID)
0 引言
Python是一個免費開源的跨平臺高級動態編程語言,易于擴展且易讀簡潔,逐漸成為新興產業如人工智能、大數據、云計算等領域的首選程序設計語言。2018年3月起,教育部將Python列入全國計算機等級考試,“Python語言程序設計”成為計算機二級考試科目的一個項。2021年至今,Python力壓C、Java等傳統編譯型語言成為TIOBE編程語言排行榜最受歡迎語言。目前,Python在網站開發[1]、金融分析[2]、大數據挖掘[3]、網絡爬蟲[4]等多個領域應用非常廣泛。新工科背景下Python語言市場下對人才的需求正處于供不應求的狀態,Python程序設計課程不僅可以為非計算機專業的學生提供后續專業領域數據分析工具的支撐,也能為計算機專業后續學習機器學習[5]、深度學習[6]等新技術奠定基礎。高校在計算機專業教育改革中要高度重視Python課程創新建設實踐,科學引導計算機專業學生學習利用好Python輔助工具,在學習和生活中解決各類實際復雜問題[7]。
作為地方師范類高校,學院在Python程序設計課程教學上仍有不足。首先,在Python語言教學實踐中,教師普遍認為Python語言作為一種簡單的腳本解釋性語言,缺乏深入開發設計工作經驗,對于Python課程的學習主要是集中于教學課堂范圍內,沿用傳統的灌輸式教學方法,單方面按照自身的教學節奏向學生講解課程專業理論和知識,缺少與學生線上的互動交流,難以及時掌握了解到學生的實際學習情況和學習需求以及指導學生的課外實踐學習等。其次,Python課程教學目標不夠明確,學生不僅僅是學習掌握一門編程語言,還需要促使他們能夠靈活運用所學的Python課程知識,將其實踐應用在專業問題解決上,提高學生的綜合能力和職業素養。因此,高校Python課程建設的重點需要將對學生普適性課程設計能力的培養科學有效地轉換為培養他們解決專業問題的能力,提升他們的職業競爭力。最后,課程教學目標不夠明確,學生不僅僅是學習掌握一門編程語言,還需要促使他們能夠靈活運用所學的Python 課程知識,將其實踐應用在專業問題解決上,提高學生的綜合能力和職業素養。因此,高校Python課程建設的重點需要將對學生普適性課程設計能力的培養科學有效地轉換為培養他們解決專業問題的能力,提升他們的職業競爭力。
針對這些問題,本文結合地方院校特點,提出新工科背景下Python程序設計教學改革,研究如何基于成果導向循序漸進展開教學、定位教學目標,最終選擇出適合學生學習的教學內容,實現對教學模式的有效改革。
1)完善Python課程教學內容,結合學生專業性質和實際學習需求特點,合理完善該項課程教學內容,調動起專業學生的學習積極性,實現多元化教學目標。
2)創新教學模式與教學考核方式,結合不同階段的教學目標,綜合應用不同的教學方式,以此來保障課堂實踐教學效果,促使學生循序漸進地提升自我創新實踐能力和綜合素養。
本文以“新工科”建設為指導,“課程思政”為引領,以學生為中心,以產出為導向,從課程目標、內容、資源、教學方法、教學模式、考核評價等方面對Python課程教學進行改革,總體培養目標為提升教學即賦能教育。利用信息化教學平臺,合理分配各教學環節及要素,探索以“知識型+能力型+項目型”的教學模式。
1 Python 程序設計教學改革
本文在教學改革主要包括三個方面:1) 結合線上線下混合式教學模式制訂教學目標與教學計劃;2) 根據課程教學目標和我校計算機相關專業特色,選擇教學內容自編教材,建設信息化教學資源;3) 改革課程考核評價方式,融入線上線下、過程性、終結性考核。
1.1 教學目標
以培養學生的抽象建模、問題分析和創新思維能力入手,結合線上線下混合式教學模式,以實踐教學目標的長遠性、特色性的建議與要求為指導思想,制訂教學目標如表1所示。
1.2 教學內容
根據課程教學目標和體現我校計算機相關專業特色,本項目采取自編教材的方式,選取實際項目為案例,貼合工業需求。根據課程培養目標,教材總體框架包含兩個階段:基礎篇與進階篇,其中第一階段以Python基礎教學為主,重點介紹Python數據基礎及數據結構、基本語法及Python面向對象編程基礎;第二階段以Python科學計算領域應用為主,介紹Numpy庫及Matplotlib庫的基本使用。另外,根據學生的興趣與特長,學習相關高級應用方向,如擅長Web方向的學生,引導其向網絡運維和信息采集方向學習;善于多媒體方向的學生,引導其學習圖形圖像處理及Python圖形界面方向擴展。由于課時限制及不同專業授課對象的差異性,教學內容應注重緊密聯系學生所學專業的側重點,根據專業特色及背景制定符合學生的教學計劃和實踐項目,通過模塊化學習引導學生參與相關課題,提高學生實踐學習能力與質量,總體的教學內容設計如圖1所示。
圍繞不同專業課程設計在線試題、實驗項目任務,方便學生利用閑余時間進行在線學習,了解自我學習情況和改進不足之處。線下為學生提供課堂教學、實驗、項目等教學實踐活動,并結合互聯網+、CTF、藍橋杯等計算機類競賽,全面提升學生的專業技能,鍛煉團隊協作和分析問題解決問題的能力,同時也拓展學生視野,為職業規劃打下堅實基礎。線上則為學生提供課程每章的知識點視頻、課后習題、PPT、教案、作業、考試等課程資源,如圖2所示。
1.3 教學評價
通過改革課程考核評價方式,分成過程性考核和終結性考核,同時融入線上線下的教學。線上過程性考核主要對授課學生通過線上案例的學習對Python語法知識的掌握度。線下終結性考核一方面對學生所學知識進行閉卷測試,另一方面以開放式、非標準化的考題形式評價學生對Python的掌握程度。最后,整體上考察學生運用Python編程語言解決問題的能力,對于參與科研課題、程序設計競賽、獲得軟件著作權的學生適當提高綜合成績等級。考核環節具體包括:1)基礎理論知識考核,包括課前預習復習測試、課后習題測試;2)對于知識的終結性考核,包括選擇、填空、程序改錯、程序填空、程序設計;3)過程性考核,包括課堂表現、課程設計等,如圖3所示。
圖中的課程目標一與課程目標二均根據總體教學目標和具體的畢業要求所設定,具體設置如下。
課程目標一:了解Python語言程序設計的基本知識,掌握程序設計的基本方法,掌握程序設計的基本理論、方法和應用,掌握高級程序設計國家標準的有關基本規定,會查閱有關國家標準和手冊,養成嚴格遵守和執行有關國家標準的各項規定的良好習慣。
課程目標二:通過課程學習,使學生具備能夠較正確而熟練地使用Python進行程序的設計;能夠識讀和編寫較復雜的程序;能夠使用Python解決實際應用問題;具備一定的知識探究和反思能力及創新意識;具備自主學習能力和團隊協作意識。
2 教學效果與分析
在教學效果上,本文以2020級軟件工程1班與2班為實驗對象,對教學過程與課程目標達成度進行統計和分析,其中教學過程數據來源于學習通平臺中八個章節(緒論、基本語法、數據類型、流程控制、函數、面向對象、高級特性、文件)的統計數據,而達成度分析數據為綜合期末考試、作業和課堂表現情況。
2.1 教學過程分析
本節統計兩個班學生的平均到課情況、平均參與互動程度、平均作業用時以及平均準確率。以此分析學生對每一個章節的課程內容感興趣程度與掌握程度,以便于隨時調整課程設計與知識點的難度。其中互動程度由學習通的簽到、搶答和討論活動情況統計而來;對每一章節的掌程度則由課堂搶答、隨堂作業與課后作業的正確率給出;此外還對學生在學習通上每個章節自學用時進行了統計,其結果如圖4所示。
由學習過程數據分析可以得出兩個班的學生在總體參上表現較好。在掌握程度上,由于Python課程開設時間為大二第一學期,此時學生已完成C語言的學習,具有一定的程序語言基礎,因此在Python的學習上對基本語法、函數等接受程度和掌握程度都較好。然而對于數據類型、流程控制、Python高級特性等與C語言有較大差異的章節,學生的掌握程度相較其他有明顯的差距。因此,在后續的教學實踐中,應持續優化相關章節的知識點教學,加強學生實踐練習,保障學生更好地掌握每一個知識點。從學習通的平均用時可以看出,學生在高級特性上用時較少,這是對該章節掌握程度相對較低的原因之一。并且,在流程控制上用時較少,掌握程度也相對偏低。因此,要合理安排作業的難易程度,使學生能充分利用課后時間完成對知識點的充分理解和掌握。
2.2 目標達成度分析
Python程序設計教學改革在2020年軟件工程1班和2020級軟件工程2班進行,兩個班人數均為47人,共94人,教學效果評價指標為課程目標達成度,計算方式如公式1所示,課程目標的各考核環節的總分值和權重如表2所示。
對2020級軟件工程1班及2班的考核情況如圖5所示。
課程目標一主要為終結性考核,單選、填空和判斷主要考查主要是學生對Python基礎語法掌握能力,程序填空題考查學生對Python語言的綜合運用能力。從各考核環節學生平均得分情況來看,分數都較高,說明學生對該課程的基本知識和原理掌握很扎實,對Python基礎語法體系掌握較好。兩個班的課程目標達成度均為0.85,超過期望值0.6,這表明目前該課程的教學內容、教學方式方法、考核內容和方式是較合理的。
課程目標二主要為過程考核主要考查學生運用Python語言解決實際編程問題的能力。從各考核環節學生平均得分情況來看,分數正常,說明學生基本掌握了運用Python知識并解決實際問題的能力。兩個班的課程目標達成度為0.78和0.79,均超過期望值0.6,說明學生具有一定的編程能力。總體來說,目前該課程的教學方法取得了較好的效果,在后續課程教學中,還需進一步結合學生專業特點探索更優的教學模式。
3 結束語
本文堅持“學生中心、成果導向、持續改進”,探索“知識傳授、能力培養、價值塑造”三位一體的課程建設新模式。鼓勵學生參與各類教學競賽,并以此為契機,提高教師現代信息技術與教育教學深度融合的能力,持續開展課堂教學改革與創新,不斷提高人才培養質量。讓學生對自己的學習目標更為直觀,提升學生的成就感。經過一屆學生的實踐,課程教學目標達成度有顯著提高。但在教學內容尤其是案例上仍需不斷豐富和更新,使其更加貼近崗位需求,依據課程目標達成度,后續會對課程教學進行持續改進。
參考文獻:
[1] 韋立梅,蘇兵.Django框架下Python網站開發過程綜述[J].電腦與電信,2019(10):54-56.
[2] Yves Hilpisch.Python金融大數據分析[M].北京:人民郵電出版社,2015.
[3] 聶晶.Python在大數據挖掘和分析中的應用優勢[J].廣西民族大學學報(自然科學版),2018,24(1):76-79.
[4] 花君林.基于Selenium的Python網絡爬蟲的實現[J].電腦編程技巧與維護,2017(15):30-31,36.
[5] 胡曉輝,吳嘉昕,陳勇,等.機器學習教學中的SPOC+TBL混合模式探索[J].教育現代化,2019,6(9):137-139.
[6] 朱曉敬,袁滿,趙婭,等.數據驅動的深度學習教學模式構建與實施[J].微型電腦應用,2021,37(8):14-17.
[7] 聶轟.“新工科” 背景下構建OBE理念的Python程序設計教學研究與實踐[J].電腦知識與技術,2021,17(24):208-209.
【通聯編輯:朱寶貴】