APP下载

面向网络安全与执法专业的Python程序设计语言课程内容改革研究

2021-07-19庄海燕

电脑与电信 2021年5期
关键词:程序设计课程内容网络安全

庄海燕

(铁道警察学院,河南 郑州 450053)

关键字:Python教学;课程内容设计;课程改革

1 问题提出

作为目前最流行的语言之一,Python在多个领域都得到了很好的应用。在新工科背景下,我国各高校相继开设了Python程序设计语言课程,公安院校中的工科专业也紧跟教学改革步伐,开设了此类课程。多数公安院校中,Python 程序设计语言是网络安全与执法专业的专业基础必修课,课程在专业建设中有着重要地位。

我国高等院校教育教学改革如火如荼进行着,对课程教学提出了“两性一度”的要求。对于Python 程序设计语言这门课程,如何达到“高阶性、创新性、挑战度”的新标准,做到以网络安全与执法专业人才培养为目标前提下,发挥课程在整个课程体系中的作用,真正为该专业人才培养起到支撑作用,是公安院校Python教学研究的热点问题。

2 研究意义及研究现状

2.1 研究意义

面向网络安全与执法专业Python课程改革,既是网络安全与执法实战需要,也是公安教育改革面临的课题。

公安教育的生命力在于实战化,网络安全与执法实战工作发展对专门人才的编程能力提出进一步要求,其实就是对公安院校的Python 程序设计语言课程应用水平提出了更高要求。为满足新工科背景产生的新需求,只有面向网络安全与执法专业,针对性地进行课程内容改革,才能有效提高学生计算思维和编程能力,提高Python 课程教学质量,提升学生的就业水平。

公安教育是以专业核心能力培养为目标的应用型本科教育,公安院校各专业人才培养目标明晰,各专业都需要不同的专业知识、专业理论、专业技能等专业素质。Python 程序设计语言课程应根据不同专业培养目标,不同专业的职业素养培养入手,结合专业核心课程对前续课程提出的需求,进行课程内容、教学方法等的设计,增强专业课程体系之间粘合度,形成体系化的课程,使学生无缝地、连贯地完成大纲要求的基础课程、专业课程和公安实践课程这一系列的阶梯型课程。

2.2 面向网络安全与执法专业Python程序设计语言课程改革的研究现状

许多公安院校的Python程序设计语言课程是在原本Java程序设计语言课程或者VC++程序设计语言等课程基础上改革而成的。作为专业基础课,Python程序设计语言又是网络安全与执法专业的一门核心课程,课程面临着师资、教学方法等一系列的问题,面对这些问题,院校同行进行了相关研究。

刘卫国的《程序设计教学的NLTK 模块应用案例设计Python》[1]研究了依托Python 的第三方库设计应用案例,用Python的自然语言处理模块NLTK作为主要分析工具、以就职演说语料库以及十九大报告作为分析素材、介绍文本内容抽取的方法并对高频词实现可视化的教学案例。刘文飞、赵铭伟《面向人文社科类专业的Python 教学案例实践》[2]一文中,分析人文社科类专业学生使用程序设计解决专业领域问题的一般场景,设计了以电影数据为基础的Python 教学案例。可以看出,这类研究仅仅提出适用于该专业的某个案例或针对Python的某个具体库进行研究,并没有从课程体系结构及分层课程间的支持与关联角度去考虑课程内容的设计。左卫刚在《基于CDIO模式的Python程序设计课程教学应用研究》[3]文中针对目前Python语言课程教学现状,在详细分析其存在问题的基础上,提出将CDIO工程教育理念与Python 教学相结合,其研究更多将构思(Conceive)、设计(Design)、实现(Implement)和运作(Operate)工程理念,引入Python 教学,此类研究更多着重于教学理论研究,未从实践上考虑课程内容设计问题。此外,更多的研究聚焦在教学方法的研究上,如吴敏等《疫情下线上信息化教学的探索与实践——以课程为例》[4],杨金荣的《MOOC与云班课混合模式下的Python教学改革》[5],郑凯梅的《基于雨课堂的Python 程序设计混合教学模式改革与实践》[6]等。

3 面向网络安全与执法专业的Python程序设计语言课程内容结构分析与分层设计

网络安全与执法专业,在教育部颁布的本科专业分类目录中,专业代码为083108TK,属于工科公安技术类,修业年限为四年。专业目标是培养具有良好的科学素质、人文素质和警察基本素质,具备扎实的网络保卫执法的基础知识、基本技术,经过针对软件开发技术、网络情报技术、计算机犯罪侦查取证技术和网络监察技术的专门学习与训练,能在公安机关网络保卫执法部门及相关领域从事与预防网络犯罪、控制网络犯罪和处置网络犯罪相关的执法、教学及研究工作的应用型公安高级专门技术人才。作为一个包含工学(计算机科学与信息技术)、法学、公安学等多学科交叉融合的新型公安科技专业,网络安全与执法专业的专业课程体系包括计算机网络、操作系统、计算机犯罪侦查、网络信息监控技术、信息等等,同时,作为公安技术类专业,在四年的学习过程中,需要更多的课时去学习掌握法学、警察体能等公安职业相关的课程。按照教育部规定,人才培养方案的制定,课时总量是有一定限制的,这造成一个最大的问题是:即许多技术类的专业基础课程课时量相较于普通院校会有所压缩。如何在有限课时内,让学生高效掌握必要的知识、能力,最终融汇成专业素养,是Python程序设计语言课程教学面临的极大挑战。

3.1 Python 程序设计语言在网络安全与执法专业课程体系中的位置分析

Python 程序设计语言在网络安全与执法专业课程体系中的位置如图1所示。围绕网络安全与执法人才培养目标,网络安全与执法专业课程体系大致分为三层:通识课程,专业基础课(含专业基础必修课和专业基础选修课),专业课程(含专业必修课程和专业选修课程),依次支撑,最终共同形成网络安全专业核心能力培养课程体系,为培养网络安全执法、网络安全保卫人才的网络犯罪侦查能力、网络安全管理能力和网络安全预防能力服务。其中,Python程序设计语言是专业基础必修课,对专业课程起支撑作用,关系到该专业所有核心课程的后续学习。

图1 Python程序设计语言在网络安全与执法专业课程体系中的位置

3.2 面向网络安全与执法专业Python程序设计语言课程内容结构分析与设计

Python程序设计语言课程的内容设计,一定程度上对学生的积极性调动具有决定性的作用。基于公安院校人才培养的跨学科特殊性和课程本身专业基础必修的性质,为避免人才培养方案中的课程课时量受限而影响人才培养,为充分体现其对专业课程的支撑作用,发挥其对人才能力养成的基础功能,应当将课程置于专业的课程体系之内,紧密结合专业核心课程,形成一体化的课程体系。一方面,从课程体系角度,能够提高人才培养的效率;另一方面,能够提高学生学习的积极性,从而提高学习效率,最终实现应用型专业人才培养目标。

根据Python程序设计语言特点,结合网络安全与执法专业培养目标,及其后续课程对编程能力要求,将Python 程序设计语言课程内容分为四个阶段,依次循序渐进教与学,如图2所示。

图2 面向网络安全与执法专业Python程序设计语言课程内容结构分析与设计

第一阶段,Python程序设计语言入门相关内容。该阶段主要考虑引入计算思维解决实际问题的基本方法,可以流程图为工具,进行思维训练,主要内容包括:

(1)基本编程方法和思路(流程图);

(2)运行环境及基本环境配置;

(3)代码的运行。

第二阶段,Python基础语法及简单代码编写。从整体上了解Python 程序基本结构,包含的元素,程序的作用。内容包含:

(1)基本语法元素(输入、输出、基本数据结构、流程控制);

(2)基本库(IO);

(3)基础应用(10行以内代码);

(4)网络安全:恶意代码删除(文件、目录操作)。

第三阶段,掌握基本语法和基本编程方法后,学习复杂的Python数据结构,并运用Python编写简短代码完成模块化的功能。内容包括:

(1)函数与代码复用;

(2)组合数据类型;

(3)文件处理;

(4)面向对象的编程;

(5)代码的异常处理。

第四阶段,进入实战,按照模块化思想,针对网络安全与执法专业后续的核心专业课相关内容,编写简单实用的程序。本阶段的内容包括:

端口扫描:主要掌握模块和套接字,实现端口扫描器。学习内容涉及实现端口扫描、使用ms17_010 漏洞来控制Windows7系统、理解端口扫描的原理、实现端口扫描器基础功能、实现网段端口扫描器。支持网络安全管理、网络犯罪侦查、网络攻防技术、网络犯罪现场勘查与取证等后续课程。

文件操作:通过文件和目录处理进行数据分析,删除恶意代码等。支撑情报搜集与分析技术、网络安全管理、网络犯罪侦查、网络攻防、网络犯罪现场勘查与取证等后续课程。

操作系统判断渗透测试:用Scapy/Kamene 模块实现SYN DDoS 渗透测试。支持网络安全管理、网络犯罪侦查、网络攻防技术等后续课程。

网络爬虫:安装Scrapy模块、创建Scrapy项目、分析URL和网页源码、编写爬虫程序爬取数据。支持情报搜集与分析技术、电子数据分析与检验等后续课程。

数据可视化:利用数据可视化进行相关数据分析。支撑情报搜集与分析技术、电子数据分析与检验、网络犯罪现场勘查与取证等后续课程。

4 面向网络安全与执法专业Python程序设计语言课程线上线下混合式教学

(1)第一至第三阶段,主要采用线上结合线下混合教学模式

对于第一阶段Python 程序设计语言入门、第二阶段Python 基础语法及简单代码编写两个部分的教学可采用线上线下混合式教学模式。在基础前期搜集、整理线上优秀教学资源,课前要求学生结合自身接受能力、自身时间安排,利用资源进行自主学习,对预设问题进行思考,课中可以采用翻转课堂、讨论等形式深入学习探讨,课后继续以论坛等形式继续问题讨论互动。

前三个阶段的内容,利用线上资源可多次循环直至掌握。

(2)第四阶段,线下授课、注重实验、善用评价

进阶到实战阶段,要求按照模块化思想针对网络安全与执法专业核心专业课相关内容,编写简单实用的程序。本阶段需要进行更好的教学路径设计、形态规划,做到与之前学习内容呼应,线上线下呼应,另外,善用评价、鼓励团队帮扶支持。

Python程序涉及语言线上线下紧密衔接的混合式教学,考虑针对网络安全与执法专业选择合适的主题、案例;针对课程内容进行梳理后构建恰当的学习路径;采用线上和线下充分结合,并充分利用评价引导学生学习;鼓励团队作战,老师充分给予灵活支持。通过以上几个方面,提高教与学的效率,增强学习效果。

5 结语

针对Python程序设计语言课程,面向特定的网络安全与执法专业,依据专业人才培养目标与实战发展需求,充分分析课程在专业课程体系中的作用,在此基础上,整个专业课程体系角度考虑并选择贴近实战应用,进行Python程序设计语言课程内容设计,充分发挥该课程在整个课程体系中对后续课程以及专业核心能力培养的支撑作用,不仅能提高Python程序设计语言课程学习积极性与效果,也增加了专业培养过程中各课程之间的粘合度,对整个课程体系的人才培养作用具有重要意义。

猜你喜欢

程序设计课程内容网络安全
基于“课程内容六要素”的绘本文本解读路径探析
水彩画课程内容与教学体系改革的必要性
基于Visual Studio Code的C语言程序设计实践教学探索
从细节入手,谈PLC程序设计技巧
网络安全
网络安全人才培养应“实战化”
上网时如何注意网络安全?
高职高专院校C语言程序设计教学改革探索
学前教育专业体育课程内容的构建
PLC梯形图程序设计技巧及应用