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

表1 Python漸進(jìn)式教學(xué)項(xiàng)目舉例
教學(xué)內(nèi)容設(shè)計(jì)是教學(xué)設(shè)計(jì)的重要環(huán)節(jié),教學(xué)內(nèi)容的設(shè)計(jì)是探討項(xiàng)目式教學(xué)的重點(diǎn),選擇的項(xiàng)目要緊扣教學(xué)大綱和教學(xué)內(nèi)容。此外,項(xiàng)目的選取還要考慮學(xué)生自身的情況,不同專業(yè)的學(xué)生要選擇不同的項(xiàng)目,同類項(xiàng)目也要有不同難度的任務(wù)要求。
因此,項(xiàng)目選取在接近企業(yè)真實(shí)項(xiàng)目的同時(shí),還需要涵蓋教學(xué)知識(shí)點(diǎn),并注意難度適當(dāng)。本文以數(shù)據(jù)科學(xué)中的經(jīng)典應(yīng)用項(xiàng)目XX 數(shù)據(jù)分析系統(tǒng)為例,詳細(xì)介紹數(shù)據(jù)項(xiàng)目化教學(xué)的流程。通過(guò)該系統(tǒng)實(shí)現(xiàn)各網(wǎng)站電影數(shù)據(jù)的獲取、儲(chǔ)存,通過(guò)數(shù)據(jù)清洗、分析,最終在Web 頁(yè)面中展示,具體的項(xiàng)目分工和分組見(jiàn)表2。

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