新工科背景下地理信息系统开发实践类竞赛案例设计
2021-11-28勇谭文安邹自雅管
孙 勇谭文安邹自雅管 月
(1.滁州学院 实景地理安徽省重点实验室,滁州239000;2.上海第二工业大学 计算机与信息学院,上海201209;3.南京航空航天大学 计算机科学与技术学院,南京211106)
0 引言
新一轮人工智能技术革命和产业变革正在加速推进,地理信息行业作为国家战略性生产型服务业和高新技术产业,其科技手段和应用与日俱进[1],因此,面向地理信息科学专业的工程教育的改革创新势在必行。与传统学科相比,近年来,地理信息产业发生天翻地覆的变化,更加紧密地融合了移动互联网、物联网、边缘计算、大数据、人工智能等高新前沿技术[1]。为了更好地适应以新技术、新产业、新业态和新模式为特征的新经济蓬勃发展,必须重新定位地理信息科学专业教学内容,提高实践教学效能,延伸拓展地理信息教学科研领域,培养面向新工科需求的人工智能与地理大数据计算思维创新型人才[3-8]。
新工科是通过继承与创新、交叉与融合、协调与共享的途径,培养未来多元化、复合型、综合性的创新型优秀工程人才[2]。新工科人才应具备整合能力、全球视野、领导能力、实践能力,可将新技术和新经济、社会、管理进行有机融合,在新技术和新产业中起到引领作用[9]。新工科背景下的大学教育模式应适应新时代的工业与科技发展[2],特别需要实现理论与实践的相结合,培养在实践过程中学习理论知识的能力,提高在实践过程中应用理论知识的能力,达到利用现有理论知识体系发现和解决问题的目的[10]。为解决传统人才能力不足的问题以及适应社会实际发展的需要,高校承担着培养多元化、创新型科技人才的重任。大学生学科竞赛作为学生实践创新能力培养的重要抓手,在新工科背景下得到前所未有的迅猛发展[11-12]。
1 新工科地理信息科学专业实践教学体系
为实现面向新工科的高水平地理信息科学应用型人才培养,本文研究了基于学科竞赛驱动的新工科地理信息科学实践教学体系。学科竞赛是一种创新活动,在获取专业知识的基础上,引导学生运用所学知识或技术解决实际应用中的问题,它是提高大学生创新能力和实践能力的重要平台[12]。在培养具备整合能力、全球视野、领导能力、实践能力的复合型、综合性人才的过程中,结合地理信息系统专业相关学科竞赛,将学科竞赛融入到学生的实践教学体系中,基于应用性与创新性的实验教学原则[12],提高地理信息科学专业课程设计性实验的比例,强化学科竞赛,提升学生的专业实践创新能力。将学科竞赛内容合理融入到教学环节中,以丰富教学方式和教学内容,培养大学生解决实际问题的能力,激发大学生对专业课程的学习兴趣。因此,应将学科竞赛纳入到实践教学体系,从而形成面向地理信息科学专业新工科实践的教学体系,如图1所示。
(1)理论教学。为培育面向地理信息科学专业的新工科开发应用人才,第一步需要夯实基础。地理信息科学专业是一门融合信息地理学、计算机科学与技术以及测绘科学等的新型交叉学科。新工科教育对地理信息科学专业的发展提出了更高的要求,即体现出新工科建设的新结构、新概念、新质量、新体系、新模式[12],从而为新工科代表的最新地理信息产业与行业发展提供有力支撑。
与地理信息科学专业程序开发类竞赛密切相关的基础开发课程主要包括《C语言程序设计》《面向对象程序设计》《GIS数据结构与算法》课程,如图2所示。其中《C语言程序设计》与《面向对象程序设计》两门课程作为竞赛开发类课程的基础课程,内容较为枯燥,教师应在课程教学过程中将《数据结构课程》的排序与查找部分内容引入《C语言程序设计》课程中,并设计案例教学,增加趣味性,同时可以促进学生对知识点的理解。为了更好地理解地理信息系统的核心算法设计,学生必须掌握线性表、栈、队列、二叉树、图、查找、排序等数据结构与GIS算法基础内容,因此,《GIS数据结构与算法》课程在地理信息系统竞赛开发类课程中尤为重要。但课程内容中的数据结构模块比较抽象,算法理解困难,针对该问题,教师可在教学过程中采取图解法讲解数据结构与GIS算法,正所谓“一图胜千言”,通过多图逐步分解关键算法的思想,进而降低关键算法理解的难度。同时,区别于重理论思想而忽视代码分析的传统教学方式,在教学过程中,教师可结合数据结构与GIS算法的思想,详细分析算法代码,可以帮助学生更快更清晰地吸收掌握地理信息开发类系统的核心算法。在拓展学习过程中,教师可组织开发方向的兴趣小组学习选修数据结构的难点和重点算法内容。例如:二分图匹配与KNN算法的学习,这两个算法内容与本文探讨的竞赛案例直接相关。另外,在课余时间,教师可为竞赛兴趣小组提供相关的算法讲解视频,让学生们组会讨论难以理解的部分。而且,教师可进一步要求竞赛兴趣小组定期自学相关算法,通过制作PPT为组内成员讲解,学生们可结合算法思想,详细分析代码的实现,在该过程中真正理解核心算法思想和设计方法,进而为地理信息科学开发类竞赛项目打下良好的算法与程序开发基础。
如图2所示,在新工科教学体系中,《地理信息系统原理》《现代地图学》《计算机地图制图》和《专题地图编绘》等课程为学生的地图制图打下基础;《空间分析原理与方法》与《空间数据库工程应用》课程主要讨论地理信息数据分析方法及原理,有利于学生在开发竞赛系统过程中有效地进行空间信息数据存储、分析与检索;《Web程序设计》与《WebGIS开发》等课程对学生参加GIS技能应用开发大赛与中国计算机设计大赛的Web系统开发与Web前后端程序设计有着直接的帮助。同时,地理信息系统相关专业课程的教学应引入地理大数据与人工智能等前沿理论与应用,结合学科竞赛,建立起创新型课程体系,将地理信息系统学科的前沿知识分层次融入到空间信息技术前沿课程中,使学生们更加深刻地了解当前这些新技术与地理信息融合、基于人工智能与空间分析融合的应用前沿,引发学生思考更多可能的应用场景和新技术对人类的生活、社会带来的变革,培养学生创新意识和用智慧思维解决实际问题的能力。
(2)实践教学。实践教学主要分为基础实践、提高实践、拓展学习等3个环节。基础实践环节主要包括相关课程的实训实验、基础地理数据采集、自然地理野外实习以及GIS实践小学期,通过具体的实验操作,强化学生对地理信息系统专业知识点的记忆,使学生初步具备使用地理信息技术解决问题的能力。基础实践环节包括开发类重点课程:《Web程序设计》与《WebGIS开发》,采用基于项目驱动的实践教学模式,要求两门课程结束后,提交Web程序和WebGIS程序的简单项目,为竞赛项目打下程序展示与可视化设计的程序开发基础[10]。提高实践环节包含了毕业实习、毕业设计(论文)、职业技能鉴定以及职业资格(能力)考试,借助基础实验的模块化实验案例,以应用为导向,向学生介绍地理信息系统相关技术,让学生根据自己的特点找到学习与研究的方向,从而进一步培养学生的综合实践动手能力以及科研能力。拓展学习环节把前沿技术与应用实践结合,转化为实验案例作为创新实训,通过学术讲座、社会实践、前沿专题学习等研讨活动以及创新创业训练与实践,使学生全程置身于浓厚的创新氛围,增强其学习主动性,开拓思维。
(3)竞赛辅导。未来的地理信息产业将会更加紧密地融合移动互联网、物联网、云计算、大数据、人工智能等高新前沿技术[1-2],面向新工科地理信息科学专业的教学改革创新势在必行。本文引入基于学科竞赛驱动的新工科地理信息科学实践教学方法,根据学生的专业特点,开展学科竞赛活动,实施相关实践。在竞赛辅导过程中,教师应从以下几个方面对学生进行指导:①巩固学生的程序开发与数学基础,培养开发系统应用能力。学生只有掌握了数学基础才能具备人工智能等前沿技术的学习能力,因为人工智能的大部分内容都涉及到数学内容,并通过专题大作业将程序开发与数学二者有机结合;②引导学生为相关竞赛合理选题,选题是非常重要的,教师可根据竞赛项目的具体内容以及学生的研究方向,向学生讲解最新技术,通过介绍前沿的地理信息系统技术,积极开展竞赛所需新技术知识的讲授,引导学生进行人工智能类的专题学习,从而帮助学生确定有一定创新性和难度的竞赛题目;③引入项目案例驱动的竞赛教学模式,教师可设计一个合理的项目教学案例,并将该项目案例有效地分解成不同实验大作业,让学生们分别完成,碰到难点问题可让学生分组讨论,如果仍存在困难,教师可根据问题进行讲解。然后,让学生将多次实验大作业进行组合,进而完成整个案例项目,以提升学生的综合应用、开发、创新、探索能力;④激发学生的团队合作意识与集体荣誉感,地理信息系统开发实践类竞赛一般是3个人及以上的学生共同完成。作为一个合作团队,成员之间必须齐心合力,根据每个团队成员的特长,合理分工,明确各自的研究重点,在开发竞赛过程中,肯定会碰到各种难题,教师需要善于激发学生的集体荣誉感和责任感,使学生不怕挫折,勇往直前。
2 地理信息系统开发实践类竞赛案例设计
地理信息系统开发实践类竞赛一般应用于环境保护、灾害监测、国防等领域。近几年,随着共享经济的发展,地理信息系统开发实践类竞赛开始涉及移动互联网+空间群智感知新技术领域,因此实践类竞赛案例设计也将围绕移动互联网+空间群智感知,着重培养该领域的新工科人才。本文以面向实时共享出行的网约车智能调度系统来进行竞赛案例分析。
2.1 地理信息专业案例设计原则
在新工科背景下,为满足地理信息系统开发实践类专业人才的社会需求,必须注重培养学生的创新实践能力。实践类竞赛案例设计应具有前沿性、系统性,以科学性、系统性、规范性、主体性、发展性为重要原则,符合地理信息学科的发展规律,兼顾系统性、多学科交叉的有效融合,结合发展应用在地理信息系统开发实践类的前沿技术,顺应社会需求,以学生为主体,教师为主导,鼓励学生独立思考,并不断在实践中进行创新探索。同时为了保证竞赛实践过程数据、结果展示与评价合理规范,在实践类竞赛的设计过程中注重规范,做到痕迹可追溯。
2.2 地理信息系统竞赛案例设计
地理信息系统正在改变人们分析和解决问题的方式,地理信息系统案例设计从启发式教学开始,精选地理信息系统在移动互联网+空间群智感知中的应用案例。通过师生之间多次互动交流和探究性讨论,大家意识到地理信息系统不仅仅是指在计算机硬、软件系统支持下,对整个或部分地球表层空间中的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述的技术系统,更是一种思维方式,能够更深层次地让学生领悟到地理信息系统在不同领域中针对具体问题的解决思路。
教师可启发学生去发现问题,以基于空间群智感知的共享出行应用为例,因其具有更加方便、快捷、舒适的特征被广泛应用,乘客仅通过手机操作便可以享受到足不出户的周到服务。然而,作为一种新兴的出行方式,其出行调度会存在时间成本高、行车路线不确定性、服务质量不稳定等问题。因此,需要引导学生思考如何提高运营效率并尽可能满足乘客出行需求。通过教学启发式讲授,与学生互动交流,引导学生挖掘、探究现实生活中的“痛点”,形成探究式讨论,渐进式引导学生用空间群智感知的算法来解决这些痛点。指导学生把自己的关注点、发现的问题,经过讨论形成方案设计,并通过团队分工协作最终实现方案。在方案的设计与实现过程中,激发学生利用学到的知识解决复杂工程问题的好奇心,培养自主学习能力、工程实践能力和创新思维能力。
移动互联网+空间群智感知模式成为共享经济的一种新型通用计算范式。基于空间群智感知的共享出行是根据大规模用户行程需求整合线下闲置汽车资源提供高效服务的一种新兴交通方式。时空任务分配问题更是共享经济的核心问题之一。经过多次讨论和深入研究后,学生们提出了基于Top-K最近邻搜索的大规模共享出行实时调度智能调度方法作为竞赛项目课题,主要包括两个核心问题:①基于KD-Tree空间索引加速Top-K最近邻搜索,实现面向共享出行的网约车实时调度算法,解决面向城市计算的实时调度难点问题;②基于Top-K最近邻搜索的共享网约车实时调度模型,通过融合强化学习UCB模型智能框架,提出基于Top-K最近邻搜索的共享网约车智能调度算法,从而保证了网约车实时调度的智能性,解决了共享出行平台网约车服务的不稳定性和新近进入平台网约车司机服务质量评价另一个难点问题,高效地解决共享经济实际应用中城市交通难题,具有十分重用的应用价值。
在竞赛教学过程中,教师引导学生根据传统算法缺点和解决思路进行方案的概要设计和详细设计,包括拟采用的技术路线,以及进一步完善的具体方案。教学团队对项目的可行性进行评估并指正,直到学生设计出新颖且实用的竞赛作品。在方案实现过程中,督促学生团队自主完成项目的开发、测试等。学生讨论后挖掘出的共享出行调度传统算法的缺点及解决思路,如表1所示。
本文选取了参赛作品“面向实时共享出行的网约车智能调度系统”作为竞赛案例进行说明。为有效地解决乘客等待司机接单时间过长、网约车运营效率低、成本高等问题,本文竞赛作品采用Jquery、OpenLayers API、LayUI、Java Web等前后端技术,创新性地将KD-Tree、Constraint Minimum Bipartite Matching与UCB模型进行有机结合,实现了共享平台的实时智能调度,主要包括基于KNN模型的共享网约车实时检索、基于KNN-Bi-Matching的共享网约车实时调度、基于KNN-Bi-Match-UCB的智能出行调度3种核心算法,具体总结如下:
(1)基于KNN模型的共享网约车实时检索算法是通过构造KD-Tree技术加快实现网约车的KNN最近邻检索功能,不仅可以提高共享网约车实时检索效率,而且也保证了网约车检索结果的正确性。
(2)KNN-Bi-Matching算法将所有的订单任务都调度给网约车司机,旨在二维空间中找到与一组调度对之间最小总距离的网约车和订单,该算法可以有效地减少检索时间,提高大规模实时调度的效率,从而保证了网约车和订单请求之间配对的最低成本。
(3)在基于Top-K最近邻搜索模型的共享网约车实时调度算法的基础上,通过融合强化学习UCB模型智能框架,提出了基于KNN-Bi-Match-UCB的智能出行调度算法,解决了共享出行平台网约车服务的不稳定性和进入平台新司机服务质量评价另一个难点问题,提升了网约车实时调度的智能性,进而保证了网约车调度的完成质量。
本文竞赛作品采用了OpenStreetMap地图数据作为底图,调用OpenLayers API访问地图服务,采用高斯模型生成系统数据的位置,其标准差决定数据的分布幅度。本作品主要功能包括:调度地图展示模块、模拟展示模块、实时调度检索模块、出行空间分析模块、智能调度分配模块以及智能调度分析模块。以上海市为例,利用高斯分布算法随机生成网约车司机和请求订单数据,通过KD-Tree加速Top-K最近邻搜索,检索离订单位置最近的网约车,进行网约车的实时调度,提高系统调度效率,如图3所示。
图3 KD-Tree检索功能Fig.3 KD-Tree search function
在基于Top-K最近邻搜索模型的实时调度算法基础上,通过融合格网划分算法,将调度区域进行分区,实现子区域内网约车的实时调度,可进一步提高系统总体的调度时间效率,如图4所示。
图4 实时分区调度功能Fig.4 Real-time scheduling function
最后,本作品将Top-K最近邻搜索模型与强化学习UCB模型智能框架进行融合,保证了网约车实时调度的智能性,解决了共享出行平台网约车服务的不稳定性和新进入平台新司机服务质量评价问题,如图5所示。
图5 智能实时调度功能Fig.5 Real-time intelligent scheduling function
3 实施与效果
将学科竞赛纳入到地理信息科学专业的教学与实践环节,构建竞赛与课程结合的教学实践模式,形成了基于学科竞赛的教学与实践综合教学体系。在综合教学体系下设计的实践类竞赛案例能实现教育、学习、实践、创新、应用的统一。通过启发式教学、互动讨论和循序渐进最大程度调动了学生的学习积极性,有效提高了学生的学习效率,潜移默化地培养学生的创新思维和应用实践能力。从竞赛作品的设计到实现,都有教学实践团队的引导,在实验接近尾声时,组织学生集中答辩,并邀请专家对项目进行评价与指导,系统地训练学生的答辩能力,为比赛答辩做好准备。近3年来,笔者所在的教学团队指导了学生多次参加地理信息开发类竞赛,完成了多个竞赛作品,其中包括面向实时共享出行的网约车智能调度系统等,也取得不错的成绩,分别获得了中国计算机设计大赛人工智能应用、软件应用与开发国赛二等奖2项,中国计算机设计大赛省级赛一等奖2项,安徽省大学生GIS应用技能大赛二等奖1项,安徽省大学生GIS应用技能大赛二等奖2项,第五届“互联网+”大学生创新创业大赛二等奖,ESRI杯中国大学生GIS软件开发竞赛优胜奖等。
4 结 语
新工科背景下地理信息系统开发实践类竞赛案例突出了设计性、综合性、创新性和前沿性,注重培养地理信息科学专业学生解决实际问题的能力、创新意识与计算机思维。将学科竞赛纳入到地理信息科学专业的教学体系,提升了实践教学效能,激励了教师引导学生解决难点问题的创新意识。实施效果表明,基于空间群智感知的共享出行案例资源,发挥了地理科学专业学生们的创意思维能力和运用综合实践能力,参加学科竞赛和大创项目,符合新工科人才核心能力培养的需要。