APP下载

高等教育中GIS开发课程群改革与能力培养创新实践

2017-10-28冯永玖高峰刘瑜李阳东

科技视界 2017年15期
关键词:程序设计可视化程序

冯永玖 高峰 刘瑜 李阳东

【摘 要】地理信息系统(GIS)开发课程群是高等教育中遥感GIS类的核心课程,对培养学生的空间思维、数据处理能力、解决空间问题的能力起到至关重要的作用。本课程群包括《地理信息系统》、《可视化程序设计》、《GIS开发与应用》、《WebGIS原理与开发》和《GIS综合应用实习》等5门理论与实践课程。在课程群改革之前,各门开发课程采用的编程语言不一致,经过课程的衔接改革统一使用C#语言,课程群的整体性得到了极大的提升,同时也极大地激发了学生的兴趣、培养了他们的实践创新能力。

【关键词】地理信息系统开发与设计;计算机编程;课程群;教学改革;创新实践

0 引言

地理信息系统(GIS)是集空间数据采集、输入、存储、查询、分析和显示的计算机系统,近十余年来备受各界关注。由于GIS处理的数据具有空间位置特征,它几乎与全世界80%的数据有关系或关联。因此,在高等教育中许多院校均开设了GIS相关的课程,海洋类高校如上海海洋大学就是其中典型例子。GIS在海洋及海岸带领域,不仅能够采集、处理和显示野外获取的数据、遥感影像等空间数据,也能够进行海洋资源环境数据的深度分析,以揭示这些信息的空间分布、运动和时间变动特征。

GIS相关的课程除了理论与算法,更重要的是通过计算机程序实现这些理论与算法,这就是GIS设计、开发与实现。GIS开发涉及方方面面的知识与技术,包括独立主机程序和万维网GIS程序,涉及的语言包括C++、C#、VB.NET、JavaScript等。上海海洋大学将GIS开发能力的培养作为海洋技术专业本科生的必备技能。是开发与利用海洋资源和能源、拓展人类生存空间的技术。因此,对GIS开发课程群进行必要的梳理、改革和创新,是实现培养优秀学生的前提条件。

1 GIS开发课程群与关系

GIS开发课程群首先包括基础理论部分,即《地理信息系统理论与方法》,采用国家级规划教材;同时包括计算机程序语言基础《可视化程序设计》,用C#语言进行讲授。“可视化程序设计”与大学生在第一年级学习的C++语言有所不同,它更加注重应用而非基础语言,同时为后续GIS开发课程打下坚实的基础。《GIS开发与应用》和《WebGIS原理与开发》是海洋技术专业中分别针对独立主机程序和网络程序的两门GIS开发课程,是GIS开发课程群的核心部分。在经过上述锻炼之后,学生通过《GIS综合应用实习》进行GIS开发与应用的深度实践。

在GIS开发中,涉及的主要内容有:(1)GIS应用与开发概论、基础、应用特点;(2)GIS系统分析、需求分析、以及ArcGIS开发系列软件;(3)GIS总体设计、功能设计和数据库设计;(4)GIS实施与维护、测试与评价;(5)应用型GIS程序实例编写。

2 课程群教学改革成效

2.1 可视化程序设计实现了GIS编程的基础夯实

在2013年之前,GIS开发类课程使用了不同的语言,如《可视化程序设计》使用Visual C++语言和平台,这是微软在全球范围应用非常广的平台。学生在大一期间虽然已经学习过《C++程序设计》,但是主要以讲授语法为主,不涉及可视化程序设计,缺乏GIS开发相关的实践经验。此外,早期GIS独立主机开发的标准语言是Visual Basic语言,所以后续GIS独立主机程序设计均采用VB.NET。这造成了前期基础课程使用的程序语言与后续GIS开发课程并不一致,学生在语言转换上需要花费很多课时,并且最终的掌握程度并不理想。

近4年,基于ArcGIS的独立主机开发在首选语言已经定为C#,原VB.NET则成为第二建议语言。因此,为了夯实海洋技术专业学生的语言基础,并且为今后更高难度的GIS开发课程打下基础,经过课程群多次研讨,统一GIS独立主机程序开发的标准语言为C#,实现了课程之间的承继和无缝衔接。

通过程序语言的改革和统一,实现了各课程之间的整体性,同时夯实了与GIS相关的可视化程序设计的主要技术基础,包括:界面设计、数据库建立、记录修改和删除、计算机绘图、通过程序语言操作表格、空间数据显示与处理等,它们密切地与后续学习的课程内容相关。

2.2 GIS独立主机程序设计改革提高了学生开发与应用实践能力

《GIS开发与应用》一直是海洋技术专业的核心课程,在本专业2007年开设之始就是其中一门重要课程。但是,我们之前一直使用VB或VB.NET进行教学(因为当时VB是GIS独立主机开发的首选程序语言),但是随着GIS技术的发展,ArcGIS已经将首选语言定为C#,我们的改革势在必行。然而,在课程群开展承继改革之前,学生没有C#相关的开发经验,势必要对C#语言的基础进行讲授,浪费了一定的课时量。

2014年,《GIS开发与应用》作为市教委重点建设课程,改革的内容就是将开发语言变为C#,这涉及到教师教案和各种教学程序的重写,目前我们已经圆满完成这项工作。我们将重点课程建设的成果应用于实际教学中,取得了良好的效果,包括学生能够使用已经熟悉的C#程序语言编写GIS独立主机程序、实现从GIS的矢量数据、栅格数据到3D数据的显示、处理、分析和输出。经过程序设计和开发的实践,80%的学生能够编写比较完整的GIS独立主机程序。

课程的承继改革实现了教学的整体性,增强了学生对编程的自信心,实现了GIS开发能力的培养和实质性提高,为后续网络GIS程序编写、综合实践创新、并进入相关公司工作打下了良好的基础。

2.3 WebGIS开发扩宽了GIS开发的范畴和应用领域

WebGIS是目前GIS应用的趋势,也是GIS的核心技术之一,WebGIS不仅能够方便用户访问,而且能够获得可观的商业利益,比如Google地图和Baidu地图等。

WebGIS是可视化程序设计与独立主机GIS的高级阶段。学生在系统地学习了C#和GIS独立主机开发之后,对利用高级程序语言进行开发已经有比较好的认识,能够在较短时间内理解和融会贯通基于Web的程序语言,前期课程所学能够在后期课程中较好地得到应用,充分体现课程群的延续性和承继性。WebGIS课程利用ArcGIS API for Javascript,教授学生熟练运用HTML、ArcGIS、CSS、JavaScript、DOM、BOM等技術,编写网络GIS应用程序。endprint

在讲授过程内容中,课程群不仅涉及专业领域WebGIS的编写,而且初步介绍了基于IOS和Android的网络应用的编写。让学生实现GIS开发能力的升华,从而拓展专业技能,为顺利进入综合实习阶段和职业生涯奠定坚实的基础。

2.4 大创、实习和毕业设计实现了GIS开发能力的全方位锻炼

在掌握了GIS开发从基础到高阶的技术之后,根据教学计划的安排,学生会在大创和《GIS综合应用实习》中得到进一步的综合性、全方位的锻炼。学生可以选择处理遥感与GIS等空间数据,也可以选择利用高级程序语言编写一个相对完整的GIS系统。编写GIS程序是一个难度较大的任务,但是学生有比较好的基础,并且当自己编写的程序能够良好地运行时,能够获得巨大的成就感。这一阶段是综合性的锻炼和实践,课程群不再指定学生作业的应用范围和领域,让他们充分发挥主观能动性和创新思维,教师组适时进行针对性的指导,实现自身能力的提高升华。同样,在毕业论文阶段,有关GIS的技术还会再一次得到加强和锻炼,大部分学生在进行GIS的开发项目时能够完成具有充分创新性的成果。

3 结论

GIS课程群是上海海洋大学海洋技术专业的核心课程,对培养学生的空间思维、数据处理能力、实践实干能力,解决空间问题的能力起到至关重要的作用。在课程群改革之前,各门开发课程采用的编程语言不一致(如C++、C#和VB.NET等),经过课程的衔接改革统一使用C#语言,课程群的整体性得到了极大的提升,学生在接受相关知识和技能时能够变得不那么困难,掌握程度也更加牢靠,同时也极大地激发了他们的兴趣、培养了他们的实践创新能力。

【参考文献】

[1]汤国安.地理信息系统教程[M].高等教育出版社,2007.

[2]吴信才.地理信息系统设计与实现[M].电子工业出版社,2002.

[3]吴信才.基于JavaScript的WebGIS開发[M].电子工业出版社,2013.

[4]Kang-tsungChang,张康聪,陈健飞.地理信息系统导论[M].清华大学出版社,2009.

[5]张丰.GIS程序设计教程[M].浙江大学出版社,2012.

[6]刘培林,林荧中.C#可视化程序设计案例教程[M].机械工业出版社,2015.endprint

猜你喜欢

程序设计可视化程序
基于CiteSpace的足三里穴研究可视化分析
基于Power BI的油田注水运行动态分析与可视化展示
基于Visual Studio Code的C语言程序设计实践教学探索
基于CGAL和OpenGL的海底地形三维可视化
“融评”:党媒评论的可视化创新
从细节入手,谈PLC程序设计技巧
试论我国未决羁押程序的立法完善
“程序猿”的生活什么样
英国与欧盟正式启动“离婚”程序程序
高职高专院校C语言程序设计教学改革探索