公务员期刊网 论文中心 正文

学生解决工程问题能力培养方式探究

学生解决工程问题能力培养方式探究

摘要:为了提高网络工程专业学生对于复杂工程问题的解决能力,本文提出了将爬虫技术融合进企业场景的复杂工程问题的实训方案。实践的效果显示,学生在基于企业场景的复杂工程问题解决过程中,培养了分析、检索、解决、总结和合作的综合能力。

关键词:复杂工程问题;爬虫;网络工程

1引言

近年来,为了提高高等学校毕业生的职业能力,国家大力推进工程认证工作。工程认证着重于能力的培养,其教学目的是使得毕业生达到一定的能力要求。这种以学生为中心的教育理念,教学内容的设计务必要聚焦学生能力的培养。网络爬虫是基于一定的规则,包括正则、xpath、字符串函数等方式,从互联网的网页中抽取信息,包括文字、数据、图片、视频、音频等。目前网络爬虫多数是用python语言实现。对于网络工程专业的学生,爬虫项目完成的过程涉及python语言的所有基础知识点,进一步应用则涵盖诸多复杂工程问题领域。本文总结了在python程序设计课程中,通过爬虫项目与后续网络工程专业课程结合,依据企业场景设计相关的复杂工程问题。在复杂工程问题的逐步解决过程中,学生的分析、检索、解决、总结及合作的能力得到了提高[1]。

2问题的重要性和必要性

2.1重要性

网络工程专业毕业生需要面对网络实施建设、运维巡检过程中复杂多变的情况。随着互联网技术的发展,虚拟化、云计算、SDN、信息安全等相关技术的大量出现,面对的工程问题越来越复杂,表现在技术和需求、成本和代价多个指标上的衡量,需要毕业生能快速梳理出解决的思路,找到最合适实施的方案。面对复杂问题,能够快速判断和决策是一种能力。复杂工程问题解决能力提供的就是这种能力。复杂工程问题解决能力大纲中对于系统思维角度有这样的描述:(1)识别系统整体相关的全部因素。(2)识别整体系统中的驱动/关键因素或主要矛盾。(3)解释为解决关键问题所进行的资源分配。(4)发现系统中的紧张关系并应用妥协折中的方法寻找解决问题的途径。以上描述指出了培养这种评估决策能力的大概方向,因此复杂工程问题解决能力的培养极为重要。

2.2必要性

网络工程中的复杂工程问题除了技术理论与实现的复杂性,还需要考虑企业实现中的需求、成本、实时性、健壮性、可扩展性等各种实际问题,务求最终的项目方案能够满足企业需求,性价比高,可扩展性和健壮性、实时性较好,保证系统可靠性和容错性。因此在复杂工程问题解决上,也要教给学生使用上述工程评估准则。基于上述理念,工程教育认证强调课程教学和实践内容必须包含相应领域的工程原理。课程教授要达到一定的专业深度。这就意味着,教学内容要包含基本的理论和知识点,还需要将工程实践中的思想和方法融入教学实践中,尤其是企业所需与实践结合的可行性、高效率等思想和方法[2]。要培养学生以最小代价最好地完成企业工程设计目标。因此,教学不是只注重学生知识的培养,而是有必要培养学生对复杂工程问题的解决能力[3]。

3复杂工程问题场景

Python课程分为八个基本知识模块,包括环境安装、运算符、表达式与内置对象、Python序列结构、程序控制结构、函数、面向对象程序设计、字符串、文件与文件夹操作。根据网络工程专业学生就业的SDN、网络自动化运维、WEB开发、智能网络等方向,基于python基础知识,设计基于企业应用的复杂工程项目。在解决项目中复杂工程问题的完成过程中,培养学生的知识、能力、素养,实现工程能力的提升。在SDN、网络自动化运维、WEB开发、智能网络等方向,使用python语言的各种扩展包可完成以下应用场景:(1)爬虫通过re、bs4、lxml、scrapy等技术实现数据的采集;(2)数据分析与智能网络使用numpy、pandas、matplotlib、keras等技术实现数据分析和网络负载均衡、拥塞的智能预测;(3)网络流量分析使用pyshark、scapy等技术实现网络流量的分析和异常流量的识别;(4)自动化运维使用ansible、paramiko等技术实现网络的自动化运维管理;(5)SDN使用pox、Ryu等技术开发应用层功能,实现网络的动态管理;(6)pythonweb开发使用django、flask等技术实现web系统开发。上述应用中的若干场景的交叉融合,都可以设计为复杂工程问题。在这些场景教学过程中,指导学生利用较小代价提炼问题的本质,并找到适合的解决办法。在问题的解决过程中,资料查阅能力、问题解决的评价机制的判断能力、团队的协调沟通能力、自我表达能力、书面撰写能力也能得到有效锻炼。

4爬虫在能力培养中的作用

学生在基于爬虫的python程序设计课程项目实施中,最常见三个应用场景为:(1)应用爬取的数据开发一个web系统,完成系统的各种增删改查功能,通过爬虫定时器自动更新数据,同时完成web后台和前端app多种应用;(2)将爬取的数据通过数据分析的各种机器学习或者深度学习模型,进行分类、聚类、回归等综合分析,并通过图表进行展示;(3)将爬取的网络流量信息,进行网络负载、网络漏洞等功能分析,并使用flask等web框架进行展示。通过将爬虫与其他不同应用场景复杂工程问题相融合,在问题解决过程中可以培养学生以下几个方面的综合能力:(1)发现问题和提出问题的能力,将复杂工程问题的场景进行总结并概述;(2)获取信息和搜集资料的能力,根据总结和提出的问题通过教材或互联网搜集相关解决方案;(3)对研究对象及其相关资料和信息进行分析与思考的能力,即对搜集到的资料进行分析并通过思考提出自己的见解,包括比较各种方法的优缺点、可行性、成本与效率等;(4)提出新思想、新方法和新结果的能力。通过不同方法的比较,结合工程实际,对多种方法融合提出新的适合工程的解决方案;(5)对研究成果进行转化的能力。这一步就是实施,按照选择的方案解决工程的技术问题。这是重点也是难点,很多学生选择了适合的方法后,在实施时遇到问题难以解决,需要教师予以指导;(6)对科研活动的过程与结果进行表达的能力。这是对工程各个步骤的总结与提升,也是企业中必需的能力之一[4]。使用爬虫与企业应用场景相融合,学生解决复杂问题的能力得到提升。比较优秀的学生案例包括Reader小说阅读器、动漫电影查询系统、“后疫情时代”舆情演变分析、辅助人脸识别机器学习的图片爬虫等。以动漫电影查询系统的完成来分析学生能力提升过程。这是爬取动漫电影并开发web端系统,可以在系统中按名字、评分进行查询。学生经过分析,认为可以完成一个动漫爬取网站,做成web端系统。第一步发现问题,包括:数据库的选择、选择Web开发框架、如何爬取、如何定时自动获取新的动漫信息等问题。第二步搜集资料,使用baidu、github、知网搜集各种资料。第三步对资料进行分析,比较不同的数据库mysql、sqllite、sqlserver,不同的开发框架flask、django,不同的动漫网站的爬取难度以及定时器的不同使用方案。第四步最终选取sqllite这个轻量级数据库;考虑到开发难度和任务时间,选择flask的pythonweb开发框架;由于内容比较丰富且爬取难度低,选择使用网站进行动漫爬取;选择多线程定时器定期调用爬取新动漫并存储。第五步实施过程。小组分工负责爬虫、定时器、web开发、数据库设计、ppt制作及答辩等任务,合作完成任务。第六步最终合作完成任务报告,包括任务概述及各部分开发说明文档。通过上述分析,可以明确看出,通过爬虫与web开发结合的方式,学生解决了一个复杂工程问题,锻炼了查询、分析、解决、合作、总结的能力。2018年至今,在山东科技大学网络工程专业4届共500多名学生中进行爬虫与企业场景融合的实训方案。与之前未进行该方式的学生相比,采用了爬虫融合企业场景的实训方案的学生在科创比赛、就业创业中取得的成绩优于未实施该方案的学生,具体数据如表2所示。可以看出采用了爬虫融合企业场景的实训方案后,学生的解决复杂问题的能力有所提升,从而带动了学生的科创获奖数量和就业率的提升,因此这种方法是有效的。

5结束语

本文以python爬虫融合多种应用场景培养学生复杂工程问题解决能力的研究,通过实践使学生认识到理论知识与生产实践的密切关系,从而提高应用基本观点和方法分析和解决实际问题的能力。学生面向爬虫融合企业场景的课题,面对能够反映工作和生产中可能出现的各种实际情况时,通过发现并提出问题、搜集资料、分析资料、提出新方法、实施、总结等环节,最终解决问题完成工程[5]。通过复杂工程问题的解决,学生在团队合作、分析、技术实施、总结等多方面的综合能力得到提升。通过实践证明,通过python爬虫融合多种应用场景进行复杂工程问题解决能力的培养思路是切实可行并且有效的。

作者:孙琳 徐文正 武莹莹 单位:山东科技大学智能装备学院