□孫 琳 徐文正
Python語言由于其開發(fā)效率高、第三方庫豐富、應(yīng)用領(lǐng)域廣等優(yōu)點,廣泛在互聯(lián)網(wǎng)包括人工智能、數(shù)據(jù)分析、自動化運維、SDN、智能網(wǎng)絡(luò)等應(yīng)用領(lǐng)域,成為全球最流行的語言。因此絕大多數(shù)高校開設(shè)了“Python語言程序設(shè)計”課程,全國計算機等級考試NCRE也從2018年3月起新增了“Python語言程序設(shè)計”科目。
我國的工程教育認(rèn)證2006年啟動,開展認(rèn)證是工程師制度和教育國際互認(rèn)的基礎(chǔ),也是教育部推動工程教育改革、提高質(zhì)量的重要手段。中國2016年正式加入《華盛頓協(xié)議》,這個協(xié)議也是目前國際上最具影響力的工程教育學(xué)位互認(rèn)協(xié)議之一,通過認(rèn)證協(xié)會認(rèn)證的工程專業(yè),其畢業(yè)生學(xué)位得到《華盛頓協(xié)議》各成員組織的認(rèn)可。截至目前,中國工程教育認(rèn)證結(jié)果和通過認(rèn)證專業(yè)的畢業(yè)生質(zhì)量,已經(jīng)可以在美國、英國、日本、俄羅斯、印度、澳大利亞、加拿大、南非等20個《華盛頓協(xié)議》正式成員內(nèi)認(rèn)可。越來越多的高校根據(jù)工程教育認(rèn)證理念和標(biāo)準(zhǔn)要求,進(jìn)行教學(xué)改革,強化人才培養(yǎng)模式,提高人才培養(yǎng)質(zhì)量。
針對高校開展工程教育認(rèn)證體系的工作,怎樣將Python的企業(yè)應(yīng)用與Python語言程序設(shè)計課程講解的基礎(chǔ)知識點相結(jié)合,培養(yǎng)鍛煉學(xué)生解決復(fù)雜工程問題的能力,是眾多“Python語言程序設(shè)計”授課教師研究的重點。車志毅及段韶鵬等[1~2]引入與Python結(jié)合的數(shù)據(jù)分析、Web開發(fā)等專業(yè)知識將Python應(yīng)用場景實例化,取得了較好的效果,趙震奇[4]將Turtle圖形庫引入教學(xué)環(huán)節(jié),通過圖形化手段深入學(xué)生對于Python應(yīng)用的理解。這些方法從案例角度確實加深了學(xué)生對于Python基礎(chǔ)知識的了解程度,但是案例之間是割裂的,沒有體現(xiàn)解決復(fù)雜工程問題。袁野[3]基于情境構(gòu)建培養(yǎng)解決復(fù)雜工程問題能力,段韶鵬等[2]對于復(fù)雜工程問題的探索研究是基于實訓(xùn)進(jìn)行的。
工程教育專業(yè)認(rèn)證強調(diào)培養(yǎng)學(xué)生解決復(fù)雜工程問題的能力,解決復(fù)雜工程問題包括分析、解決、總結(jié)、合作多種能力。上述研究都是基于解決復(fù)雜工程問題的專業(yè)綜合能力進(jìn)行的,但是對于復(fù)雜工程問題解決能力的總體提升,問題分析能力是第一步也是極為關(guān)鍵的一步,目前沒有研究對問題分析能力培養(yǎng)進(jìn)行探索。因此本文結(jié)合Python程序設(shè)計課程進(jìn)行了問題分析能力培養(yǎng)的探索研究。
復(fù)雜工程問題是教育從面向?qū)W科辦學(xué)轉(zhuǎn)向面向社會需求辦學(xué)的目標(biāo)轉(zhuǎn)變過程中,為適應(yīng)社會需求所提出的。復(fù)雜工程問題能力訓(xùn)練的就是企業(yè)應(yīng)用場景中快速的判斷和決策、解決和協(xié)調(diào)能力,這種能力保證了學(xué)生在企業(yè)中能快速適應(yīng)工作角色,完成工作任務(wù),這也是目前新工科培養(yǎng)的目標(biāo)。
“復(fù)雜工程問題”不僅需要考慮技術(shù)理論與實現(xiàn)的復(fù)雜性,還需要考慮企業(yè)實現(xiàn)中的各種實際問題,最終設(shè)計出合理有效、性價比高、實施性強、可擴展性好的項目方案。在實現(xiàn)過程中,要注意與客戶的溝通交流,滿足客戶需求,降低客戶成本,在實施中與同事合作協(xié)調(diào),最短時間、最高效率完成工程項目。
各方面要求的交叉會導(dǎo)致工程問題本身出現(xiàn)一些錯綜復(fù)雜的局面,甚至產(chǎn)生矛盾,對學(xué)生能力的要求也是很高的。怎樣將復(fù)雜問題劃分為不同的子問題,并針對每一個子問題找到適合解決方案,對于學(xué)生來說是非常重要和必要的能力。因此,問題分析能力的培養(yǎng)至關(guān)重要。
基于Python編程語言的問題分析能力培養(yǎng)模式分為應(yīng)用領(lǐng)域分析、問題解決流程分析、問題解決方案分析三個部分。主要對應(yīng)著問題的what is it、what to do、how to do三個問題,分析出來這三個問題,學(xué)生對于問題所需的領(lǐng)域知識清晰明了,問題的解決方案明確,才能進(jìn)行下一步具體解決問題的階段。
(一)應(yīng)用領(lǐng)域分析。Python語言的應(yīng)用領(lǐng)域較多,包括了爬蟲、數(shù)據(jù)分析、網(wǎng)絡(luò)流量分析、自動化運維、SDN、Web開發(fā)、圖像處理等多個領(lǐng)域,當(dāng)面對復(fù)雜工程問題時,需要先分析清楚問題的應(yīng)用領(lǐng)域,是某個領(lǐng)域的問題,還是若干個領(lǐng)域的問題融合。例如網(wǎng)絡(luò)流量采集與統(tǒng)計分析系統(tǒng)研發(fā)這個網(wǎng)絡(luò)工程專業(yè)的復(fù)雜工程問題,就涉及到爬蟲、數(shù)據(jù)分析、網(wǎng)絡(luò)流量分析、Web系統(tǒng)開發(fā)等多個應(yīng)用領(lǐng)域。
(二)問題解決流程分析。在確定好問題的應(yīng)用領(lǐng)域后,教師需要引導(dǎo)學(xué)生針對不同的應(yīng)用領(lǐng)域,通過查詢資料,分析每個領(lǐng)域解決問題的常見方法,然后采用流程圖對問題進(jìn)行逐層解析,將問題深度和廣度都進(jìn)行細(xì)化,然后根據(jù)問題解決先后順序,確定問題解決流程。
依然以網(wǎng)絡(luò)流量采集與統(tǒng)計分析系統(tǒng)研發(fā)問題為例,詳細(xì)分析如下:一是對于爬蟲領(lǐng)域,需要完成數(shù)據(jù)爬取任務(wù)。二是對于網(wǎng)絡(luò)流量分析領(lǐng)域,需要將流量數(shù)據(jù)制定流量過濾規(guī)則,提取異常流量特征。三是對于數(shù)據(jù)分析領(lǐng)域,根據(jù)流量特征,進(jìn)行數(shù)據(jù)打標(biāo),繼而建立流量檢測模型,實現(xiàn)數(shù)據(jù)分析。四是對于Web系統(tǒng)開發(fā)領(lǐng)域,開發(fā)原型系統(tǒng),分析結(jié)果圖表展示,實現(xiàn)流量統(tǒng)計分析。
通過每個領(lǐng)域的細(xì)分,將問題解決流程設(shè)定為爬取——制定流量過濾規(guī)則,提取異常流量特征——數(shù)據(jù)打標(biāo),建立流量檢測模型——開發(fā)原型系統(tǒng),分析結(jié)果圖表展示,實現(xiàn)流量統(tǒng)計分析等四個過程。
(三)問題解決方案分析。確定好問題的解決流程,教師引導(dǎo)學(xué)生通過問題性質(zhì)和個人技術(shù)擅長選擇合適的技術(shù)解決方案。技術(shù)文檔查詢通常包括互聯(lián)網(wǎng)資料、論文、技術(shù)文檔,查詢途徑常見使用百度、知網(wǎng)、Github以及該領(lǐng)域技術(shù)論壇等。
網(wǎng)絡(luò)流量采集與統(tǒng)計分析系統(tǒng)研發(fā)問題的解決方案如下:一是爬蟲可以采用兩種方法,對于網(wǎng)上有的數(shù)據(jù)包,可以直接使用bs4、lxml等方式爬取下來;也可以使用Wireshark工具直接在網(wǎng)絡(luò)上爬取。二是流量過濾規(guī)則,可以使用Pyshark指定流量規(guī)則,提取異常流量特征;或者人工指定規(guī)則上下限,人工進(jìn)行數(shù)據(jù)清洗和特征提取。三是流量檢測模型,可以選擇合適的機器學(xué)習(xí)或者深度學(xué)習(xí)算法,例如XGBoost或者RNN,實現(xiàn)數(shù)據(jù)分析。四是可以采用django或者flask開發(fā)原型系統(tǒng),使用Echart設(shè)計分析結(jié)果圖表展示,實現(xiàn)流量統(tǒng)計分析。
通過在實訓(xùn)中使用應(yīng)用領(lǐng)域分析、問題解決流程分析、問題解決方案分析三流程進(jìn)行問題分析能力培養(yǎng),高校網(wǎng)絡(luò)工程專業(yè)學(xué)生在面對爬蟲、數(shù)據(jù)分析、網(wǎng)絡(luò)流量分析、自動化運維、SDN、Web開發(fā)、圖像處理等多個領(lǐng)域的復(fù)合問題時,能夠較好進(jìn)行問題分析,并選擇較好的問題解決方案,復(fù)雜工程問題解決能力得到大幅提升。
通過這種模式的訓(xùn)練,學(xué)生的知識架構(gòu)、邏輯思維能力、技術(shù)把控度都得到提升,因此面對企業(yè)復(fù)雜問題時能夠綜合各方面要素,進(jìn)行權(quán)衡并且選擇,設(shè)計最為優(yōu)化的方案,學(xué)生在企業(yè)就業(yè)后表現(xiàn)廣泛得到企業(yè)認(rèn)可,也驗證了該模式的有效性。