王璐鑫
(淮北理工學院 電子與信息工程學院,安徽淮北 235000)
2017 年以來,國家不斷深化產教融合,提出促進教育鏈、人才鏈與產業鏈、創新鏈的有機銜接,滿足培養應用型人才的要求。近年來,隨著云計算、大數據、物聯網的發展,Python 語言逐漸成為高校工科專業培養應用型人才最適合的課程,也成為繼《C 語言程序設計》課程之后高校開設的又一主流計算機編程語言課程。
Python 語言是易學易用的解釋型腳本語言,著重培養學生使用Python 語言解決實際問題的能力。傳統的教學方法以講解知識點為主線,教材內的示例程序僅僅是知識點的驗證,既不能將知識點運用于實際的項目開發,也不能在實際應用中解決具體問題。針對傳統教學方法的不足,本文探究了項目化教學在該課程中的實踐應用思路與教學設計。
應用型高校開設Python 程序設計課程的目的是使學生通過計算機解決實際問題,并且具備一定的技術創新和應用創新能力。但是,該課程在教學過程中普遍存在以下幾個方面的問題。
學生在大一已經學習過C 語言程序設計,對編程語言中的常量、變量、輸入輸出、數據類型、流程控制、函數等有學習基礎,教師無需照本宣科地將Pyhton 程序設計課程的教學知識點再講一遍,學生積極性不高。如果在教學過程中不能科學安排這些教學內容,則會使得教學效果大打折扣,無法實現人才培養方案中培養應用型人才的目的[1]。
高校的Python 實驗課根據教學要求實現課程內知識點的驗證,通常是經過C 語言編寫的算法思想,再用Python 語言實現一遍,理論與實際脫節,即便是通過遞歸算法實現斐波那契數列,學生也無用武之地。
課程教學大綱及教材內容與企業崗位的技能要求匹配,教材內容大多是基礎,而教材中對文件的操作、數據庫的增刪改查、Web 應用開發以及第三方庫的使用等內容卻很少涉及,或者在教學中由于課時原因設置為選修內容。教材的編寫者多數是在學校一直從事科研工作的人,教材部分內容過時,與企業實際應用脫節。
項目化教學是師生共同為完成項目工作而進行的教學活動,在教學中將理論和實踐有機結合起來,重點是以企業項目開發流程為主線,以實現具體的功能為目的,讓學生在實踐中掌握課程的知識點,不僅僅要學習書本上的理論知識,也要將知識點進行應用。教師要善于根據學生情況、學習路線圖將大項目劃分成一個個小項目,在小項目中融入知識點,讓學生循序漸進地在項目中邊學邊做,總結思考。項目化教學要遵循“以學生為中心、以成果為導向”的培養原則,讓學生可以在實際工作中靈活運用課堂上學到的知識[2]。
對比以教師講授為主的傳統教學,項目驅動教學中教師以問題分析為主,借助 Python 語言類庫豐富、功能強大的特點,引導學生從實際問題出發,以企業或社會實際需求為切入點,構建需求模型,完成功能設計,通過程序的編寫與調試,達到解決問題的目的。項目引導教學模式其主旨更符合高校應用型人才培養的思想,有利于提高學生運用計算機解決實際問題的能力[3]。
在開展項目驅動教學過程中,要根據學生的實際情況進行漸進式項目學習,由易到難,如果開始就以綜合應用類項目驅動,效果往往適得其反,不僅沒有提高學生的學習興趣,反而使學生產生畏難情緒,影響教學效果。
在整個教學過程中根據學生的專業、特點、興趣,選擇適合學生的項目,將項目分為基礎類、進階類和綜合應用類。
(1)基礎類:案例式,主要目的是激發學生的學習興趣,與辦公日常應用結合,讓人從繁瑣、機械的勞動中解放出來,讓學生打消學習無用的念頭。
(2)進階類:小項目,從具體任務出發,通過編程實現任務要求,讓學生在小項目中獲得成就感,激發學生自學的興趣。
(3)綜合應用類:大型項目,結合企業的生產需求和軟件工程思想,包括需求變更、系統測試、版本管理等,使學生的能力在項目團隊中獲得認可,增強其集體榮譽感。
Python 漸進式教學中的經典項目舉例及用到的第三方庫、完成項目需了解的其他知識見表1。

表1 Python漸進式教學項目舉例
教學內容設計是教學設計的重要環節,教學內容的設計是探討項目式教學的重點,選擇的項目要緊扣教學大綱和教學內容。此外,項目的選取還要考慮學生自身的情況,不同專業的學生要選擇不同的項目,同類項目也要有不同難度的任務要求。
因此,項目選取在接近企業真實項目的同時,還需要涵蓋教學知識點,并注意難度適當。本文以數據科學中的經典應用項目XX 數據分析系統為例,詳細介紹數據項目化教學的流程。通過該系統實現各網站電影數據的獲取、儲存,通過數據清洗、分析,最終在Web 頁面中展示,具體的項目分工和分組見表2。

表2 班級各小組的任務分工
因為綜合應用類項目涵蓋的內容較多,教師需要帶領學生分析該項目的需求與設計工作,完成任務分組,各小組通過版本管理工具Git 共同開發,對于一些難以實現的任務,需要有項目經驗的教師集中解析,一些較為簡單的任務可以交給學生自主研討。開發過程中會產生階段性成果,如爬取的數據保存到數據庫、通過Flask 后端生成JSON 數據格式、實現數據分析可視化圖表等,而學生的考核評價則是以階段性成果為依據。
混合式教學是傳統教學和網絡學習總結反思后的融合式教學,是將傳統的線下教學和新興的線上教學有機融合形成優勢互補,把學習者的學習由廣度學習引向深度學習,實現進一步優化教學的目標[4]。
多數高校Python 教學一般安排32 學時或48 學時,包含16 學時或24 學時實驗課,為緩解課時不足問題,線上運用“自主學習+研究學習+小組協同”相結合的模式,線下運用“集中講授+翻轉課堂+團隊討論”相結合的模式,將學習知識點與項目任務相融合,依據知識遷移理論,建立了逐層遞進、逐級深化的學習體系。
在項目式教學過程中,教師成為項目的主導者,目的是引導學生從項目要解決的問題出發,將大問題分解成小問題,讓學生通過自我學習和創新思維解決問題,不斷提高學生的學習興趣,提升學生的學習成就感,激發學生學習的主觀能動性。
項目教學完成后,還需要進行總結回顧。首先,要進行系統測試,完善功能,調優性能,讓學生明白Python 語言學習并非僅僅是編碼,還有其他各方面知識的綜合,如項目部署、服務器高并發、高可靠測試等;其次,對學生在項目中的考核與評價要有量化的標準和依據;最后,學生將來從學校走向工作崗位,技術僅僅只是學習的一個方面,更重要的是遵紀守法,樹立良好的職業道德才是學習的根基。
云計算、大數據、人工智能等技術的興起使Python語言成為高校培養應用型人才最適合的課程。本文提出將項目化教學應用于Python 課程進行教學設計,選取了數據分析與展示系統作為項目化教學的教學項目,在教學中讓學生成為學習的主導者,提高學生的自學能力和創新能力,為高校應用型人才培養提供思路。