胡學(xué)鋒
(山西農(nóng)業(yè)大學(xué)信息學(xué)院 山西省晉中市 030800)
當(dāng)前諸多企業(yè)在本地辦公廳發(fā)布的要求意見下針對(duì)Python 程序設(shè)計(jì)的教學(xué)正在進(jìn)行轉(zhuǎn)型變革,同樣軟件工程類專業(yè)或其他編程語(yǔ)言專業(yè)的程序設(shè)計(jì)教學(xué)也應(yīng)當(dāng)適時(shí)作出改變,樹立起培養(yǎng)高質(zhì)量應(yīng)用型人才的目標(biāo)。軟件工程的核心是編程語(yǔ)言類課程,其對(duì)于企業(yè)員工的實(shí)踐應(yīng)用能力與實(shí)際操作能力有著一定的要求,對(duì)于當(dāng)前企業(yè)實(shí)現(xiàn)有效轉(zhuǎn)型與變革也具有較大的影響。Python 作為較為前沿的編程語(yǔ)言,正在慢慢地受到諸多企業(yè)以及社會(huì)各界的重視與關(guān)注。在面向企業(yè)項(xiàng)目教學(xué)法下,對(duì)“Python 程序設(shè)計(jì)教學(xué)”進(jìn)行研究,可以鞏固學(xué)者的理論知識(shí),提高他們的實(shí)踐水平,從而推動(dòng)高質(zhì)量應(yīng)用型創(chuàng)新性人才培養(yǎng)的進(jìn)程。
Python 具有較長(zhǎng)的歷史,在近幾年來Python 已經(jīng)逐漸成為各個(gè)大型企業(yè)的主要應(yīng)用語(yǔ)言,具有較高的生命力。對(duì)比近幾年P(guān)ython 與其他編程語(yǔ)言的使用情況,發(fā)現(xiàn)Python 應(yīng)用的頻率與范圍不斷得以上升。這不僅體現(xiàn)在各大企業(yè)中,在諸個(gè)國(guó)內(nèi)外高校Python 的應(yīng)用范圍也不斷得以拓寬。在美國(guó)排名前一百的高校中,超過三分之二的高校已經(jīng)建立了Python 編程語(yǔ)言課程。在我國(guó),從2015年開始,各大高校也逐步建立起Python 編程語(yǔ)言課程的構(gòu)建體系。因此,有關(guān)學(xué)者在從事Python 的開發(fā)時(shí),不僅可以使他們擁有更多自由的空間和權(quán)利去選擇工作內(nèi)容、工作崗位,而且在推動(dòng)企業(yè)進(jìn)步、企業(yè)科研項(xiàng)目發(fā)展方面也有著較大的發(fā)展空間。但從目前來看,有關(guān)Python 的程序設(shè)計(jì)教學(xué)和企業(yè)仍然沒有實(shí)現(xiàn)一個(gè)有效的融合,企業(yè)面向教學(xué)法還沒有得到理想化的普及與應(yīng)用。
Python 編程語(yǔ)言具有一定的核心作用,如何實(shí)現(xiàn)Python 語(yǔ)言理論知識(shí)與實(shí)踐應(yīng)用能力的有效轉(zhuǎn)變,使程序設(shè)計(jì)教學(xué)與企業(yè)職業(yè)崗位標(biāo)準(zhǔn)實(shí)現(xiàn)有效融合,是目前落實(shí)高質(zhì)量人才培養(yǎng)的關(guān)鍵因素。以上種種針對(duì)于那些要在社會(huì)中摸爬滾打的工作人員,都會(huì)一定程度上提高他們的競(jìng)爭(zhēng)力,從而更好更快地融入新的學(xué)習(xí)與工作環(huán)境。
Python 編程語(yǔ)言相較于其他編程類語(yǔ)言如C++、Java、C 等,在關(guān)鍵字、結(jié)構(gòu)、數(shù)據(jù)類型等方面涉及的類型不多。并且Python的語(yǔ)法內(nèi)容類型較為簡(jiǎn)單,與其他的主流編程語(yǔ)言可以說是相一致的[1]。所以,在運(yùn)用企業(yè)項(xiàng)目教學(xué)法進(jìn)行Python 程序設(shè)計(jì)教學(xué)時(shí),針對(duì)于Python 語(yǔ)言的語(yǔ)法內(nèi)容,可以花費(fèi)較少的精力進(jìn)行強(qiáng)調(diào)和講解,尤其是如果開發(fā)人員具有一定的編程語(yǔ)言基礎(chǔ),如果在這個(gè)部分花費(fèi)較多的時(shí)間,不僅不會(huì)對(duì)開發(fā)人員Python 語(yǔ)言的良好掌握起到助推作用,還可能達(dá)到適得其反的效果。根據(jù)企業(yè)多年來編程語(yǔ)言類的教學(xué)與實(shí)踐經(jīng)驗(yàn)來看,大多數(shù)開發(fā)人員對(duì)于編程語(yǔ)言中的語(yǔ)法結(jié)構(gòu)并沒有表現(xiàn)出足夠的熱情與積極性,他們往往對(duì)于那些可以動(dòng)手實(shí)踐的內(nèi)容有較大的興趣。
主要表現(xiàn)在當(dāng)Python 被運(yùn)行時(shí),可以在其中引入新的函數(shù),在構(gòu)造過程中執(zhí)行新的代碼。Python 中的一些可以引用的變量都可作為對(duì)象,在實(shí)際運(yùn)行過程中再?zèng)Q定這些對(duì)象的值與類型[2]。Python 編程語(yǔ)言的編程方法富有較高的靈活性,也能與其他編程類語(yǔ)言通過合作的形式來對(duì)項(xiàng)目進(jìn)行混合編程。這些特征凸顯出Python 編程語(yǔ)言具有的思想和技巧較為高超,然而也是由于這類特征,開發(fā)人員在企業(yè)內(nèi)部進(jìn)行學(xué)習(xí)實(shí)踐時(shí),不容易通過簡(jiǎn)單的項(xiàng)目教學(xué)法對(duì)一個(gè)個(gè)細(xì)致的知識(shí)點(diǎn)做到融會(huì)貫通。
基于以上Python 具有的特點(diǎn)來看,Python 語(yǔ)言反映更多的是優(yōu)秀的編程方法與編程思想,其具有較高的簡(jiǎn)練性特征,應(yīng)用范圍、應(yīng)用領(lǐng)域、應(yīng)用形式非常廣泛,所以若要實(shí)現(xiàn)有關(guān)開發(fā)人員能夠快速良好地掌握Python語(yǔ)言,最佳路徑是運(yùn)用一些實(shí)際項(xiàng)目進(jìn)行演練。利用面向企業(yè)的項(xiàng)目教學(xué)法,并將其貫徹落實(shí)到實(shí)際操作中的多個(gè)環(huán)節(jié)如項(xiàng)目實(shí)操、開發(fā)演練等,也可以幫助開發(fā)人員能夠更快更好地對(duì)Python 語(yǔ)言做到熟悉理解與掌握,他們也會(huì)對(duì)項(xiàng)目實(shí)踐的各個(gè)流程與環(huán)節(jié)有一個(gè)充分的認(rèn)識(shí)與了解,逐漸掌握這種以項(xiàng)目為核心的編寫與學(xué)習(xí)習(xí)慣。
面向企業(yè)項(xiàng)目教學(xué)法的Python 程序設(shè)計(jì)主要集中在實(shí)驗(yàn)與實(shí)踐這兩個(gè)部分,在規(guī)劃出合理的分配時(shí)間后,引導(dǎo)企業(yè)內(nèi)部有關(guān)工作人員可以利用Python 編程語(yǔ)言來進(jìn)行實(shí)際操作,逐步編寫出具有良好應(yīng)用推廣價(jià)值的項(xiàng)目,實(shí)現(xiàn)高質(zhì)量、創(chuàng)新型、應(yīng)用型的人才培養(yǎng)目標(biāo),增強(qiáng)他們的科研水平與創(chuàng)新能力。
表1:以“數(shù)獨(dú)”項(xiàng)目程序?yàn)槔?,闡釋基本項(xiàng)目和知識(shí)點(diǎn)的關(guān)系
“Python 程序設(shè)計(jì)”的實(shí)驗(yàn)環(huán)節(jié)可以給開發(fā)人員劃分為56 個(gè)小節(jié),以4 個(gè)小節(jié)為一個(gè)周期來進(jìn)行Python 程序主題設(shè)計(jì),最終一共設(shè)計(jì)出14 個(gè)程序設(shè)計(jì)主題供開發(fā)人員實(shí)驗(yàn)[3]。這14 個(gè)主題主要是:簡(jiǎn)介安裝、基礎(chǔ)知識(shí)的學(xué)習(xí)及應(yīng)用、序列中的元組及列表、序列中的集合和字典、Python 語(yǔ)言的選擇及循環(huán)、Python 語(yǔ)言的字符串、函數(shù)和應(yīng)用、正則表達(dá)式對(duì)于模式析出的應(yīng)用、Python 語(yǔ)言面向?qū)ο蟮姆庋b、Python 語(yǔ)言面向?qū)ο蟮睦^承、異常處理、操作、調(diào)試、綜合應(yīng)用[3-4]。這些個(gè)主題之間在設(shè)計(jì)時(shí)具有一定的邏輯性,有關(guān)人員必須按照以上主題逐層進(jìn)行開展。其中每一個(gè)主題都包含理論知識(shí)、實(shí)際編程測(cè)試題、具體案例的分析與分解這三個(gè)基本步驟,Python 程序設(shè)計(jì)語(yǔ)言基礎(chǔ)知識(shí)掌握不牢固的開發(fā)人員應(yīng)當(dāng)對(duì)程序設(shè)計(jì)基本內(nèi)容有一個(gè)充分的預(yù)習(xí)與了解,及時(shí)根據(jù)程序設(shè)計(jì)環(huán)節(jié)與基本內(nèi)容提前進(jìn)行自主實(shí)驗(yàn)。開發(fā)人員在學(xué)習(xí)完一個(gè)程序設(shè)計(jì)主題后,必須要進(jìn)行及時(shí)的總結(jié)歸納,在實(shí)驗(yàn)環(huán)節(jié)介紹后,再進(jìn)行有意義的實(shí)際演練,自主編寫一個(gè)應(yīng)用價(jià)值良好的小型案例。
“Python 程序設(shè)計(jì)”的實(shí)踐環(huán)節(jié)可以劃分為16 個(gè)程序設(shè)計(jì)主題,在企業(yè)能夠獲得網(wǎng)絡(luò)輿情的背景下引導(dǎo)開發(fā)人員開展項(xiàng)目實(shí)戰(zhàn)。項(xiàng)目的核心技術(shù)主要是網(wǎng)絡(luò)爬蟲技術(shù),利用Python 技術(shù)來爬取靜態(tài)與動(dòng)態(tài)網(wǎng)頁(yè)。教學(xué)實(shí)踐環(huán)節(jié)也要相應(yīng)劃分出程序設(shè)計(jì)學(xué)習(xí)主題如網(wǎng)絡(luò)爬蟲技術(shù)的簡(jiǎn)介與初步學(xué)習(xí)、動(dòng)態(tài)網(wǎng)頁(yè)爬取技術(shù)之Charles、靜態(tài)網(wǎng)頁(yè)爬取技術(shù)之request 模塊、數(shù)據(jù)的清洗和項(xiàng)目的最后整合及測(cè)試。網(wǎng)絡(luò)爬蟲項(xiàng)目根據(jù)企業(yè)的具體現(xiàn)實(shí)需求可對(duì)其進(jìn)行靈活定制和調(diào)整,與以往傳統(tǒng)的實(shí)際項(xiàng)目演練相比,在開發(fā)人員完成項(xiàng)目開發(fā)后,他們的成就感、開發(fā)興趣、創(chuàng)新水平會(huì)得到進(jìn)一步增強(qiáng)。在項(xiàng)目初始階段,必須要確立一個(gè)清楚的項(xiàng)目計(jì)劃,并根據(jù)自己的開發(fā)進(jìn)度每周向企業(yè)相應(yīng)人員進(jìn)行進(jìn)度匯報(bào),在項(xiàng)目收尾階段,要按照企業(yè)的具體要求結(jié)項(xiàng),除了提交有關(guān)編程代碼外,還要上交有關(guān)演練項(xiàng)目的文檔。
根據(jù)后期Python 程序設(shè)計(jì)取得的反饋來看,在面向企業(yè)項(xiàng)目教學(xué)法下,有關(guān)實(shí)踐人員的認(rèn)同度已經(jīng)有了大幅度的提升,他們認(rèn)為這種模式極大程度上調(diào)動(dòng)了他們的實(shí)踐熱情與求知欲望,提高了解決實(shí)際問題的能力,這種沉浸化的模式激發(fā)了他們有效的編程思維,使他們可以在各類企業(yè)編程競(jìng)賽、企業(yè)開發(fā)項(xiàng)目中取得理想成績(jī)。今后有關(guān)學(xué)者可以針對(duì)企業(yè)項(xiàng)目教學(xué)法的特點(diǎn),作出一些有效改變,比如創(chuàng)建Python 程序設(shè)計(jì)的網(wǎng)站或平臺(tái),根據(jù)采納收集的意見,保證有關(guān)開發(fā)人員在豐富的資源下最大化發(fā)揮面向企業(yè)項(xiàng)目教學(xué)法的優(yōu)勢(shì)。
根據(jù)實(shí)踐人員在多個(gè)編程語(yǔ)言開發(fā)項(xiàng)目方面取得的最終成績(jī)來看,如圖1 所示,在Python 編程語(yǔ)言方面,有關(guān)開發(fā)人員基本可以獨(dú)立完成項(xiàng)目,達(dá)到了企業(yè)項(xiàng)目開發(fā)人員招聘的要求。Python 在數(shù)據(jù)挖掘、數(shù)據(jù)分析、人工智能都有著較大的優(yōu)勢(shì),有關(guān)崗位人才也越來越稀缺。在面向企業(yè)項(xiàng)目教學(xué)法下進(jìn)行Python 程序設(shè)計(jì),無(wú)疑是提高開發(fā)人員實(shí)踐水平、發(fā)揮編程語(yǔ)言優(yōu)勢(shì)的重要保障。
圖1:編程語(yǔ)言成果對(duì)比
面向企業(yè)項(xiàng)目教學(xué)法下的Python 程序設(shè)計(jì)對(duì)于開發(fā)實(shí)踐人員不僅可以增強(qiáng)他們的理論知識(shí)水平,對(duì)于他們實(shí)際應(yīng)用能力與創(chuàng)新思維的發(fā)展也都具有一定的助推作用。面向企業(yè)項(xiàng)目的教學(xué)方法對(duì)于其他不同類型的程序設(shè)計(jì)類語(yǔ)言也可以起到同樣的作用,其值得相關(guān)人員去進(jìn)行應(yīng)用和推廣。企業(yè)招聘編程開發(fā)類人才時(shí),最終目標(biāo)是將企業(yè)內(nèi)部員工打造成高質(zhì)量、應(yīng)用型的綜合人才,面向企業(yè)的項(xiàng)目教學(xué)法對(duì)于目標(biāo)的實(shí)現(xiàn)有著重要的作用,符合Python 程序設(shè)計(jì)語(yǔ)言的特征,具有一定的實(shí)踐價(jià)值,是當(dāng)前企業(yè)實(shí)現(xiàn)有效變革與可持續(xù)發(fā)展的重要因素。