莊海燕
(鐵道警察學(xué)院,河南 鄭州 450053)
關(guān)鍵字:Python教學(xué);課程內(nèi)容設(shè)計(jì);課程改革
作為目前最流行的語言之一,Python在多個領(lǐng)域都得到了很好的應(yīng)用。在新工科背景下,我國各高校相繼開設(shè)了Python程序設(shè)計(jì)語言課程,公安院校中的工科專業(yè)也緊跟教學(xué)改革步伐,開設(shè)了此類課程。多數(shù)公安院校中,Python 程序設(shè)計(jì)語言是網(wǎng)絡(luò)安全與執(zhí)法專業(yè)的專業(yè)基礎(chǔ)必修課,課程在專業(yè)建設(shè)中有著重要地位。
我國高等院校教育教學(xué)改革如火如荼進(jìn)行著,對課程教學(xué)提出了“兩性一度”的要求。對于Python 程序設(shè)計(jì)語言這門課程,如何達(dá)到“高階性、創(chuàng)新性、挑戰(zhàn)度”的新標(biāo)準(zhǔn),做到以網(wǎng)絡(luò)安全與執(zhí)法專業(yè)人才培養(yǎng)為目標(biāo)前提下,發(fā)揮課程在整個課程體系中的作用,真正為該專業(yè)人才培養(yǎng)起到支撐作用,是公安院校Python教學(xué)研究的熱點(diǎn)問題。
面向網(wǎng)絡(luò)安全與執(zhí)法專業(yè)Python課程改革,既是網(wǎng)絡(luò)安全與執(zhí)法實(shí)戰(zhàn)需要,也是公安教育改革面臨的課題。
公安教育的生命力在于實(shí)戰(zhàn)化,網(wǎng)絡(luò)安全與執(zhí)法實(shí)戰(zhàn)工作發(fā)展對專門人才的編程能力提出進(jìn)一步要求,其實(shí)就是對公安院校的Python 程序設(shè)計(jì)語言課程應(yīng)用水平提出了更高要求。為滿足新工科背景產(chǎn)生的新需求,只有面向網(wǎng)絡(luò)安全與執(zhí)法專業(yè),針對性地進(jìn)行課程內(nèi)容改革,才能有效提高學(xué)生計(jì)算思維和編程能力,提高Python 課程教學(xué)質(zhì)量,提升學(xué)生的就業(yè)水平。
公安教育是以專業(yè)核心能力培養(yǎng)為目標(biāo)的應(yīng)用型本科教育,公安院校各專業(yè)人才培養(yǎng)目標(biāo)明晰,各專業(yè)都需要不同的專業(yè)知識、專業(yè)理論、專業(yè)技能等專業(yè)素質(zhì)。Python 程序設(shè)計(jì)語言課程應(yīng)根據(jù)不同專業(yè)培養(yǎng)目標(biāo),不同專業(yè)的職業(yè)素養(yǎng)培養(yǎng)入手,結(jié)合專業(yè)核心課程對前續(xù)課程提出的需求,進(jìn)行課程內(nèi)容、教學(xué)方法等的設(shè)計(jì),增強(qiáng)專業(yè)課程體系之間粘合度,形成體系化的課程,使學(xué)生無縫地、連貫地完成大綱要求的基礎(chǔ)課程、專業(yè)課程和公安實(shí)踐課程這一系列的階梯型課程。
許多公安院校的Python程序設(shè)計(jì)語言課程是在原本Java程序設(shè)計(jì)語言課程或者VC++程序設(shè)計(jì)語言等課程基礎(chǔ)上改革而成的。作為專業(yè)基礎(chǔ)課,Python程序設(shè)計(jì)語言又是網(wǎng)絡(luò)安全與執(zhí)法專業(yè)的一門核心課程,課程面臨著師資、教學(xué)方法等一系列的問題,面對這些問題,院校同行進(jìn)行了相關(guān)研究。
劉衛(wèi)國的《程序設(shè)計(jì)教學(xué)的NLTK 模塊應(yīng)用案例設(shè)計(jì)Python》[1]研究了依托Python 的第三方庫設(shè)計(jì)應(yīng)用案例,用Python的自然語言處理模塊NLTK作為主要分析工具、以就職演說語料庫以及十九大報(bào)告作為分析素材、介紹文本內(nèi)容抽取的方法并對高頻詞實(shí)現(xiàn)可視化的教學(xué)案例。劉文飛、趙銘偉《面向人文社科類專業(yè)的Python 教學(xué)案例實(shí)踐》[2]一文中,分析人文社科類專業(yè)學(xué)生使用程序設(shè)計(jì)解決專業(yè)領(lǐng)域問題的一般場景,設(shè)計(jì)了以電影數(shù)據(jù)為基礎(chǔ)的Python 教學(xué)案例??梢钥闯觯@類研究僅僅提出適用于該專業(yè)的某個案例或針對Python的某個具體庫進(jìn)行研究,并沒有從課程體系結(jié)構(gòu)及分層課程間的支持與關(guān)聯(lián)角度去考慮課程內(nèi)容的設(shè)計(jì)。左衛(wèi)剛在《基于CDIO模式的Python程序設(shè)計(jì)課程教學(xué)應(yīng)用研究》[3]文中針對目前Python語言課程教學(xué)現(xiàn)狀,在詳細(xì)分析其存在問題的基礎(chǔ)上,提出將CDIO工程教育理念與Python 教學(xué)相結(jié)合,其研究更多將構(gòu)思(Conceive)、設(shè)計(jì)(Design)、實(shí)現(xiàn)(Implement)和運(yùn)作(Operate)工程理念,引入Python 教學(xué),此類研究更多著重于教學(xué)理論研究,未從實(shí)踐上考慮課程內(nèi)容設(shè)計(jì)問題。此外,更多的研究聚焦在教學(xué)方法的研究上,如吳敏等《疫情下線上信息化教學(xué)的探索與實(shí)踐——以
網(wǎng)絡(luò)安全與執(zhí)法專業(yè),在教育部頒布的本科專業(yè)分類目錄中,專業(yè)代碼為083108TK,屬于工科公安技術(shù)類,修業(yè)年限為四年。專業(yè)目標(biāo)是培養(yǎng)具有良好的科學(xué)素質(zhì)、人文素質(zhì)和警察基本素質(zhì),具備扎實(shí)的網(wǎng)絡(luò)保衛(wèi)執(zhí)法的基礎(chǔ)知識、基本技術(shù),經(jīng)過針對軟件開發(fā)技術(shù)、網(wǎng)絡(luò)情報(bào)技術(shù)、計(jì)算機(jī)犯罪偵查取證技術(shù)和網(wǎng)絡(luò)監(jiān)察技術(shù)的專門學(xué)習(xí)與訓(xùn)練,能在公安機(jī)關(guān)網(wǎng)絡(luò)保衛(wèi)執(zhí)法部門及相關(guān)領(lǐng)域從事與預(yù)防網(wǎng)絡(luò)犯罪、控制網(wǎng)絡(luò)犯罪和處置網(wǎng)絡(luò)犯罪相關(guān)的執(zhí)法、教學(xué)及研究工作的應(yīng)用型公安高級專門技術(shù)人才。作為一個包含工學(xué)(計(jì)算機(jī)科學(xué)與信息技術(shù))、法學(xué)、公安學(xué)等多學(xué)科交叉融合的新型公安科技專業(yè),網(wǎng)絡(luò)安全與執(zhí)法專業(yè)的專業(yè)課程體系包括計(jì)算機(jī)網(wǎng)絡(luò)、操作系統(tǒng)、計(jì)算機(jī)犯罪偵查、網(wǎng)絡(luò)信息監(jiān)控技術(shù)、信息等等,同時,作為公安技術(shù)類專業(yè),在四年的學(xué)習(xí)過程中,需要更多的課時去學(xué)習(xí)掌握法學(xué)、警察體能等公安職業(yè)相關(guān)的課程。按照教育部規(guī)定,人才培養(yǎng)方案的制定,課時總量是有一定限制的,這造成一個最大的問題是:即許多技術(shù)類的專業(yè)基礎(chǔ)課程課時量相較于普通院校會有所壓縮。如何在有限課時內(nèi),讓學(xué)生高效掌握必要的知識、能力,最終融匯成專業(yè)素養(yǎng),是Python程序設(shè)計(jì)語言課程教學(xué)面臨的極大挑戰(zhàn)。
Python 程序設(shè)計(jì)語言在網(wǎng)絡(luò)安全與執(zhí)法專業(yè)課程體系中的位置如圖1所示。圍繞網(wǎng)絡(luò)安全與執(zhí)法人才培養(yǎng)目標(biāo),網(wǎng)絡(luò)安全與執(zhí)法專業(yè)課程體系大致分為三層:通識課程,專業(yè)基礎(chǔ)課(含專業(yè)基礎(chǔ)必修課和專業(yè)基礎(chǔ)選修課),專業(yè)課程(含專業(yè)必修課程和專業(yè)選修課程),依次支撐,最終共同形成網(wǎng)絡(luò)安全專業(yè)核心能力培養(yǎng)課程體系,為培養(yǎng)網(wǎng)絡(luò)安全執(zhí)法、網(wǎng)絡(luò)安全保衛(wèi)人才的網(wǎng)絡(luò)犯罪偵查能力、網(wǎng)絡(luò)安全管理能力和網(wǎng)絡(luò)安全預(yù)防能力服務(wù)。其中,Python程序設(shè)計(jì)語言是專業(yè)基礎(chǔ)必修課,對專業(yè)課程起支撐作用,關(guān)系到該專業(yè)所有核心課程的后續(xù)學(xué)習(xí)。
圖1 Python程序設(shè)計(jì)語言在網(wǎng)絡(luò)安全與執(zhí)法專業(yè)課程體系中的位置
Python程序設(shè)計(jì)語言課程的內(nèi)容設(shè)計(jì),一定程度上對學(xué)生的積極性調(diào)動具有決定性的作用?;诠苍盒H瞬排囵B(yǎng)的跨學(xué)科特殊性和課程本身專業(yè)基礎(chǔ)必修的性質(zhì),為避免人才培養(yǎng)方案中的課程課時量受限而影響人才培養(yǎng),為充分體現(xiàn)其對專業(yè)課程的支撐作用,發(fā)揮其對人才能力養(yǎng)成的基礎(chǔ)功能,應(yīng)當(dāng)將課程置于專業(yè)的課程體系之內(nèi),緊密結(jié)合專業(yè)核心課程,形成一體化的課程體系。一方面,從課程體系角度,能夠提高人才培養(yǎng)的效率;另一方面,能夠提高學(xué)生學(xué)習(xí)的積極性,從而提高學(xué)習(xí)效率,最終實(shí)現(xiàn)應(yīng)用型專業(yè)人才培養(yǎng)目標(biāo)。
根據(jù)Python程序設(shè)計(jì)語言特點(diǎn),結(jié)合網(wǎng)絡(luò)安全與執(zhí)法專業(yè)培養(yǎng)目標(biāo),及其后續(xù)課程對編程能力要求,將Python 程序設(shè)計(jì)語言課程內(nèi)容分為四個階段,依次循序漸進(jìn)教與學(xué),如圖2所示。
圖2 面向網(wǎng)絡(luò)安全與執(zhí)法專業(yè)Python程序設(shè)計(jì)語言課程內(nèi)容結(jié)構(gòu)分析與設(shè)計(jì)
第一階段,Python程序設(shè)計(jì)語言入門相關(guān)內(nèi)容。該階段主要考慮引入計(jì)算思維解決實(shí)際問題的基本方法,可以流程圖為工具,進(jìn)行思維訓(xùn)練,主要內(nèi)容包括:
(1)基本編程方法和思路(流程圖);
(2)運(yùn)行環(huán)境及基本環(huán)境配置;
(3)代碼的運(yùn)行。
第二階段,Python基礎(chǔ)語法及簡單代碼編寫。從整體上了解Python 程序基本結(jié)構(gòu),包含的元素,程序的作用。內(nèi)容包含:
(1)基本語法元素(輸入、輸出、基本數(shù)據(jù)結(jié)構(gòu)、流程控制);
(2)基本庫(IO);
(3)基礎(chǔ)應(yīng)用(10行以內(nèi)代碼);
(4)網(wǎng)絡(luò)安全:惡意代碼刪除(文件、目錄操作)。
第三階段,掌握基本語法和基本編程方法后,學(xué)習(xí)復(fù)雜的Python數(shù)據(jù)結(jié)構(gòu),并運(yùn)用Python編寫簡短代碼完成模塊化的功能。內(nèi)容包括:
(1)函數(shù)與代碼復(fù)用;
(2)組合數(shù)據(jù)類型;
(3)文件處理;
(4)面向?qū)ο蟮木幊蹋?/p>
(5)代碼的異常處理。
第四階段,進(jìn)入實(shí)戰(zhàn),按照模塊化思想,針對網(wǎng)絡(luò)安全與執(zhí)法專業(yè)后續(xù)的核心專業(yè)課相關(guān)內(nèi)容,編寫簡單實(shí)用的程序。本階段的內(nèi)容包括:
端口掃描:主要掌握模塊和套接字,實(shí)現(xiàn)端口掃描器。學(xué)習(xí)內(nèi)容涉及實(shí)現(xiàn)端口掃描、使用ms17_010 漏洞來控制Windows7系統(tǒng)、理解端口掃描的原理、實(shí)現(xiàn)端口掃描器基礎(chǔ)功能、實(shí)現(xiàn)網(wǎng)段端口掃描器。支持網(wǎng)絡(luò)安全管理、網(wǎng)絡(luò)犯罪偵查、網(wǎng)絡(luò)攻防技術(shù)、網(wǎng)絡(luò)犯罪現(xiàn)場勘查與取證等后續(xù)課程。
文件操作:通過文件和目錄處理進(jìn)行數(shù)據(jù)分析,刪除惡意代碼等。支撐情報(bào)搜集與分析技術(shù)、網(wǎng)絡(luò)安全管理、網(wǎng)絡(luò)犯罪偵查、網(wǎng)絡(luò)攻防、網(wǎng)絡(luò)犯罪現(xiàn)場勘查與取證等后續(xù)課程。
操作系統(tǒng)判斷滲透測試:用Scapy/Kamene 模塊實(shí)現(xiàn)SYN DDoS 滲透測試。支持網(wǎng)絡(luò)安全管理、網(wǎng)絡(luò)犯罪偵查、網(wǎng)絡(luò)攻防技術(shù)等后續(xù)課程。
網(wǎng)絡(luò)爬蟲:安裝Scrapy模塊、創(chuàng)建Scrapy項(xiàng)目、分析URL和網(wǎng)頁源碼、編寫爬蟲程序爬取數(shù)據(jù)。支持情報(bào)搜集與分析技術(shù)、電子數(shù)據(jù)分析與檢驗(yàn)等后續(xù)課程。
數(shù)據(jù)可視化:利用數(shù)據(jù)可視化進(jìn)行相關(guān)數(shù)據(jù)分析。支撐情報(bào)搜集與分析技術(shù)、電子數(shù)據(jù)分析與檢驗(yàn)、網(wǎng)絡(luò)犯罪現(xiàn)場勘查與取證等后續(xù)課程。
(1)第一至第三階段,主要采用線上結(jié)合線下混合教學(xué)模式
對于第一階段Python 程序設(shè)計(jì)語言入門、第二階段Python 基礎(chǔ)語法及簡單代碼編寫兩個部分的教學(xué)可采用線上線下混合式教學(xué)模式。在基礎(chǔ)前期搜集、整理線上優(yōu)秀教學(xué)資源,課前要求學(xué)生結(jié)合自身接受能力、自身時間安排,利用資源進(jìn)行自主學(xué)習(xí),對預(yù)設(shè)問題進(jìn)行思考,課中可以采用翻轉(zhuǎn)課堂、討論等形式深入學(xué)習(xí)探討,課后繼續(xù)以論壇等形式繼續(xù)問題討論互動。
前三個階段的內(nèi)容,利用線上資源可多次循環(huán)直至掌握。
(2)第四階段,線下授課、注重實(shí)驗(yàn)、善用評價
進(jìn)階到實(shí)戰(zhàn)階段,要求按照模塊化思想針對網(wǎng)絡(luò)安全與執(zhí)法專業(yè)核心專業(yè)課相關(guān)內(nèi)容,編寫簡單實(shí)用的程序。本階段需要進(jìn)行更好的教學(xué)路徑設(shè)計(jì)、形態(tài)規(guī)劃,做到與之前學(xué)習(xí)內(nèi)容呼應(yīng),線上線下呼應(yīng),另外,善用評價、鼓勵團(tuán)隊(duì)幫扶支持。
Python程序涉及語言線上線下緊密銜接的混合式教學(xué),考慮針對網(wǎng)絡(luò)安全與執(zhí)法專業(yè)選擇合適的主題、案例;針對課程內(nèi)容進(jìn)行梳理后構(gòu)建恰當(dāng)?shù)膶W(xué)習(xí)路徑;采用線上和線下充分結(jié)合,并充分利用評價引導(dǎo)學(xué)生學(xué)習(xí);鼓勵團(tuán)隊(duì)作戰(zhàn),老師充分給予靈活支持。通過以上幾個方面,提高教與學(xué)的效率,增強(qiáng)學(xué)習(xí)效果。
針對Python程序設(shè)計(jì)語言課程,面向特定的網(wǎng)絡(luò)安全與執(zhí)法專業(yè),依據(jù)專業(yè)人才培養(yǎng)目標(biāo)與實(shí)戰(zhàn)發(fā)展需求,充分分析課程在專業(yè)課程體系中的作用,在此基礎(chǔ)上,整個專業(yè)課程體系角度考慮并選擇貼近實(shí)戰(zhàn)應(yīng)用,進(jìn)行Python程序設(shè)計(jì)語言課程內(nèi)容設(shè)計(jì),充分發(fā)揮該課程在整個課程體系中對后續(xù)課程以及專業(yè)核心能力培養(yǎng)的支撐作用,不僅能提高Python程序設(shè)計(jì)語言課程學(xué)習(xí)積極性與效果,也增加了專業(yè)培養(yǎng)過程中各課程之間的粘合度,對整個課程體系的人才培養(yǎng)作用具有重要意義。