面向毕业生实践能力培养的WebGIS课程建设

2019-11-26 07:29范俊甫张大富孙广伟王殷行韩留生
实验室研究与探索 2019年10期
关键词:编程设置课程

范俊甫, 张大富, 孙广伟, 王殷行, 韩留生

(山东理工大学 建筑工程学院, 山东 淄博 255049)

0 引 言

网络地理信息系统(Web geographic information system, WebGIS),是地理信息系统技术在互联网领域的延伸和发展,不仅涉及到基础的地理信息系统理论,还与众多的Web开发技术密切集成,是地理信息系统技术研究与发展的热点领域之一[1]。随着互联网技术的发展与互联网应用的日益普及,WebGIS技术在社会经济各行各业中的应用越来越广泛[2-3],对面向WebGIS开发的专门技术人才的需求也日益增加,国内相关高校也越来越重视毕业生WebGIS应用开发能力的培养,许多高校已将WebGIS课程(或类似课程)设置为地理信息科学本科专业的必修或选修课程[4]。

虽然目前已有较多出版面世的WebGIS课程教材,但与其他课程相比较仍旧偏少,有的教材侧重于理论原理的讲解,有的教材侧重于某个软件的使用,两方面难以兼顾,且面向不同层次的学生和不同行业的用人需求,尚未形成完善的教学模式[4]。WebGIS课程通常与前沿的Web编程技术密切相关,各种开发语言、应用程序编程接口、开发框架的更新换代非常快,生产部门和应用部门也对人才的能力提出了越来越高的要求。地方普通本科高校的WebGIS课程教学过程中通常会遇到学生Web编程基础薄弱、实践锻炼不足等问题。因此,为更好地适应社会人才需求,提高地方普通高校GIS本科专业人才培养质量,有必要对WebGIS课程的建设模式进行探索和讨论。

本文在分析WebGIS课程特点的基础上,结合人才培养目标,对WebGIS课程的教学内容、实践环节、教学方法和考核方法进行了较为深入的分析,面向地方高校理信息科学专业本科生实践能力培养与提升对WebGIS的课程教学模式进行了初步的探索和总结。

1 WebGIS课程特点分析

随着计算机技术的进步及移动互联网的发展和日益普及,WebGIS的相关理论与技术也已出现了较大的变化,逐渐从早期的通用网关接口(Common Gateway Interface, CGI)模式、插件(Plug-in、ActiveX)模式、Java小程序模式等向服务器端编程接口模式统一和过渡。在技术进步的前提下,WebGIS课程也体现出了技术架构和知识体系复杂、技术更新快和学习难度大等一系列特点。

1.1 技术架构和知识体系复杂

WebGIS是地理信息系统技术与Internet技术的结合,是互联网或局域网环境下一种传输、存储、分析、显示与应用空间地理信息的计算机系统[5]。一个功能完善的WebGIS系统,可能会涉及到空间信息在网络环境下进行处理的各个环节,涵盖网络应用的前端、传输和后台多个应用场景,每个环节和场景又可能会依赖于特定的关键技术与软件平台,因此,WebGIS课程本身具有相当复杂的技术架构和知识体系,如图1所示。

由图1可见,常规的WebGIS系统的技术架构由3个层次构成:数据层、中间件层和浏览器层。其中,数据层包含地图文件、空间数据库和业务数据库3个部分,分别对应系统底图和专题图应用、矢量与栅格数据查询应用、业务数据查询应用,对应的WebGIS课程教学内容可能包括网页地图专题图制作、切片缓存管理与访问、空间数据查询与编码、关系数据库查询与数据编码传输等。中间件层由地图服务器和业务逻辑服务器两部分构成,分别对应WebGIS系统地图及功能应用、业务逻辑功能应用,涉及到的WebGIS课程教学内容可能包括各类地图服务平台软件应用编程接口的使用方法、Web服务开发方法、前端框架与服务器端的交互与数据传输方法、网站的发布与管理方法等。浏览器层包含各种地图API的应用与展示、前端编程技术、前端框架的使用方法、基于浏览器的Web程序调试方法等一系列内容。因此,完整的WebGIS技术体系不仅包含传统的地理信息系统基础理论、程序设计语言的熟练应用和数据库存储与访问技术,还包含服务器端与客户端的异步数据传输技术和前端编程,后者对于初接触Web编程的地理信息科学专业本科生来说往往是掌握的难点。

图1 WebGIS的常规技术架构与知识体系

1.2 技术更新快

Web编程技术的发展日新月异,功能强大的前端框架、后台服务器支撑软件层出不穷[6-7]。早期的静态页面时代,网页由HTML代码和文本、图片等静态内容构成,页面缺乏交互性,主要满足内容展示类的功能需求。该阶段要求Web开发人员掌握基本的HTML语法以及内容组织技能,网站性能有限。Web开发技术进入CGI阶段后,真正意义上的WebGIS系统才开始出现和应用。CGI是采用Perl或C语言编写的与Web服务器间进行进程间输入输出通信的服务器端程序,用以控制页面输出的内容。该阶段的网页实现了一定程度的交互,要求开发者掌握更多的服务器端编程语言和技术。以JSP、ASP和PHP为代表的脚本解释开发技术促使脚本语言成为前端开发的主流语言,促使更多的开发者去学习和掌握更多的前端页面编程技术。而ASP.NET和J2EE技术的出现,促使C#语言和Java语言在Web开发领域的应用,在降低后端服务器程序的开发门槛的同时,提升了Web程序的跨平台和数据库访问性能,该阶段出现了大量的成熟可用的WebGIS平台软件,如ArcIMS、GeoServer、MapServer等。随后Web服务器程序开发领域出现了上百种框架平台,同时MVC(Model-View-Controller,模型-视图-控制器)的设计模式逐渐流行,对象关系映射式的数据访问方式也逐渐替代直接的SQL访问,上述技术的进步要求开发者除了掌握基本的编程方法,还需掌握特定的编程框架,如Spring、Rails、Django等。至此,Web开发的重点已经从HTTP/HTML/URL这样的Web基础架构转向各种框架和组件技术,对一些特定技术和编程风格的改造和应用也至关重要,最为典型的是REST(Representational State Transfer,表述性状态转移)和Ajax(Asynchronous Javascript And XML,异步JavaScript和XML)技术的应用。近年来,Web前端和后端的分工越来越清晰,MVC模式的应用也不再局限于后台服务器程序,Web前端也逐渐出现了一些诸如Angular和Backbone的优秀MVC框架来组织前端代码,而JavaScript语言在服务器端的应用也逐渐流行,同时出现了诸如Node.js的优秀框架。回顾Web开发技术短暂的发展历史,其总是以更高的抽象层次屏蔽更低层的复杂性,从而提高开发效率,这对Web开发人员技术能力的要求也是一个逐渐提高的过程,同时为WebGIS课程的培养模式带来了一定的困难和挑战,需要结合学生能力、技术现状、人才需求等多个方面设计适用的课程教学方案。

1.3 学情分析

目前,各行业用人单位对WebGIS开发人员的需求越来越多,对人才的能力要求也越来越高,这对高校人才培养工作的改进提出了更高、更有针对性、更明确的要求。Web开发技术本身更新迭代迅速的特点,使得课程的学习难度较大。但是,目前地方普通本科院校WebGIS教学过程中面对的现状却是基本的Web编程能力欠缺、学生缺乏兴趣、畏惧心理严重,这些更是放大了课程的学习难度,也增加了课程的教学难度。同时,不容忽视的是非计算机专业的教师对基础的编程语言、编程方法以及框架平台无法做到逻辑清晰的熟练讲解,这对WebGIS课程上学生兴趣与能力的培养和激发带来了一定的困难。因此,在调动学生学习积极性的同时,必须注意现有教师专业能力的提升培养与新师资力量的引进。

2 地理信息科学专业课程设置调研分析

2.1 典型高校WebGIS课程设置情况

国内典型高校的地理信息科学专业的WebGIS类课程设置如表1所示[8-15]。

表1 典型高校地理信息科学本科WebGIS相关课程设置情况

由表1可知,大部分开设了地理信息科学本科专业的高校都开设了WebGIS或类似的课程,但结合不同培养目标,各高校的WebGIS类课程的教学设置各不相同,体现了本课程在各高校专业培养目标体系中的教学地位的差异。8所高校中,5所高校设置为必修课程,1所高校设置为专业优先选择课程,1所设置为方向限选课程,1所设置为任意选修课程。开课学期集中在大三学年的5~6学期,但武汉大学和滁州学院将该课程设置在第7学期。各高校的学时安排差异较大,但是共同的特点是,学时数较多的高校均安排了较多的实验或上机学时,总学时数较少的高校偏重理论教学,一般仅安排了非常少甚至未安排实验学时。WebGIS课程本身是对学生动手能力要求非常强的课程之一,实验学时的缺乏可能难以真正达到锻炼学生实践能力的目的,这也体现了各高校培养目标间的差异。各高校WebGIS课程的前导课程设置差异较大,其中华东师范大学的前导课程包括计算机语言、数据库原理与应用、计算机网络(选修)等课程[8];浙江大学设置了计算机编程语言、地理空间数据库、地理信息系统、GIS程序设计、面向对象程序设计等多门课程;北京师范大学设置了地理信息系统、数据库概论等课程;南京师范大学设置了C语言程序设计、C#/C++面向对象程序设计、地理信息系统原理、地理信息系统设计与开发、空间数据库等多门课程;武汉大学设置了地理信息系统原理与应用、空间数据库原理、面向对象的GIS程序设计等课程;山东科技大学设置了地理信息系统原理与应用、空间数据库、Java程序设计、GIS二次开发技术等课程;滁州学院设置了地理信息系统原理、C语言程序设计、面向对象程序设计等课程;湖南城市学院的前导课程设置未有公开资料。

2.2 山东理工大学WebGIS课程设置情况

WebGIS是我校建筑工程学院地理信息科学专业的专业教育平台必修课程,开课学期为第6学期,共4学分,总学时数为64,其中理论教学36学时,上机实验28学时。教学内容主要以Web编程基础、ArcGIS Server API for JavaScript的使用为主。前导课程包括地理信息系统、GIS程序设计、空间数据库、地理信息系统开发、网络基础与应用等课程。

3 WebGIS课程教学内容设计与改进

在借鉴国内各高校WebGIS课程设置情况、课程教学方案的基础上,结合地方普通本科高校学情特点,以用人单位对人才能力的需求为导向,制定了面向GIS专业本科生实践能力培养的WebGIS课程教学模式。在实际教学过程中也发现了一些不足,下面进行介绍和讨论,并对不足之处提出了可能的改进思路。

3.1 理论教学内容设计

我校地理信息科学专业WebGIS课程教学内容包括9个部分,如表2所示。

表2 山东理工大学WebGIS课程教学内容

由于ArcGIS Server的应用非常广泛,在商业GIS服务平台软件中具有较强的代表性,选择其作为教学和实践练习平台。表2中,第1章主要包括GIS及相关技术的发展、OGC的Web服务规范、REST及REST风格的Web服务、WebGIS的组成、ArcGIS Server软件安装、ArcGIS Server REST风格的Web服务等内容;第2章主要内容包括Hello world程序编写、Dojo框架基础知识及AMD语法、开发与调试工具的使用、环境配置等;第3章内容主要包括使用布局小部件设计页面框架、可移动小部件微架构、集中控制的小部件微架构、使用菜单组织功能;第4章内容包括图层操作、自定义图层、地图操作、地图参数的基本配置、图层控制器;第5章包括空间参考系统、参考系统转换、几何对象及其操作等;第6章包括多种类型的符号及其定制、图形绘制方法、信息窗口及其定制等;第7章内容包括要素图层、专题图、自定义专题图、CSS样式化专题图等部分;第8章内容包括图形查询属性、属性查询图形、几何服务、地理处理服务、地理编码、网络分析、数字高程模型分析、服务器端渲染、影像分析、ArcSOE服务端扩展功能开发等;第9章主要包括百度、天地图等在线地图API编程的简介和开发入门等内容。

3.2 实践教学内容设计

我校WebGIS课程的实践教学包含课程中的实验和课程后的实习两个环节。其中,课程中实验环节的教学项目如表3所示,实验形式为根据实验指导书上机编程练习,上机过程中教师针对学生问题单独指导。

表3 山东理工大学WebGIS课程实验项目

课程后的实践环节安排在第6学期,时长为4周,共4学分,实践课程名称为WebGIS实习。实习过程采用自编指导书,要求学生分小组自选题目,1~3人1组,在4周的实习时间内,使用ArcGIS Server JavaScript API或移动GIS开发API/SDK开发一个功能完善的WebGIS网站或移动GIS应用。在实际的教学过程中,上述方案能够较好地做到教学过程的前后衔接,在巩固前期课堂教学成果的基础上通过自选题目的方式激发学生的学习主动性,从而达到锻炼其实践能力的目的,取得了较为令人满意的教学效果。

3.3 教学方式和师资配备

除了传统的课堂多媒体讲授、实验练习的教学方式,在实践环节通过采用任务驱动的教学方法,重点强化了学生的自主性和主动性。采用自选题目的方式确立系统开发目标,小组内设置组长1名,为每位组员设定开发任务的预期目标和进度计划,小组内每人分工应各有侧重。实习的过程严格按照软件工程实施的一般流程开展,包括选题、需求分析、概要设计、详细设计、系统编码、系统测试、文档编写等多个环节,最终成果包括可运行的系统、完整文档、实习报告等。

目前,建筑工程学院测绘工程系为每门核心专业课程建立了课程组,其中WebGIS课程组成员由4位教师构成,其中3位教师具有地图学与地理信息系统专业博士学位。虽然其中2位教师长期从事地理信息系统理论与地理信息系统开发的教学工作,具有较强的GIS和地学背景,但对Web编程相关知识的掌握较弱,后续仍需引进具有较强Web开发能力的师资力量。

3.4 考核方式

WebGIS课程考核采用常规考核附加创新能力应用考核的方式进行,常规考核过程包括出勤(5%)、平时表现(5%)、上机实验(20%)与期末闭卷考试(50%),创新能力应用指的是在课程进行过程中,每个学生应通过自选题目,结合日常生活或行业应用,开发完成一个具有特色功能的WebGIS网站,该部分占总成绩的比例为20%。实践环节的考核主要通过考勤(10%)、分组汇报答辩(30%)、系统演示(40%)、实习成果检查(20%)几部分构成,汇报答辩和系统演示邀请相关教师进行评分和点评。

4 结 语

为更好地适应社会各行业对WebGIS开发人才能力的要求,以面向地方普通本科高校GIS专业本科学生实践能力培养和提升为目标,针对技术更新快、学生学习较为困难的WebGIS课程,设计了以创新任务驱动为手段的课程教学内容与实践方案。在强调理论教学的同时,更加期望能够通过课程中的实验和课程后的实习过程,达到巩固、扩展和加深学生掌握课堂上所学WebGIS相关理论知识的目的,促使学生理解WebGIS在当前GIS开发应用中所起的作用及其重要地位,进一步提高学生的实践和动手能力,使学生获得从事网络地理信息系统工程实际工作的初步经验和基本技能,为其日后的发展和就业打下一定基础,最终达到提高GIS专业毕业生人才培养质量和毕业生竞争力的目的。

猜你喜欢
编程设置课程
中队岗位该如何设置
编程,是一种态度
数字图像处理课程混合式教学改革与探索
元征X-431实测:奔驰发动机编程
船舶防火结构及设置的缺陷与整改
编程小能手
软件设计与开发实践课程探索与实践
纺织机上诞生的编程
为什么要学习HAA课程?
A—Level统计课程和AP统计课程的比较