地理信息程序设计与开发课程组教学改革实践

2017-08-21 20:12冯永玖高峰李阳东杨晓明
科技视界 2017年10期
关键词:程序设计可视化海洋

冯永玖 高峰 李阳东 杨晓明

【摘 要】海洋技术是开发与利用海洋资源和能源、拓展人类生存空间的技术。地理信息系统理论与开发课程是上海海洋大学的海洋技术专业教育中的核心部分,培养学生有关地表和海洋的空间认知、地理数据处理、空间分析与专业领域应用的能力。本文着重探讨了5门GIS课程组的内容、教材建设和教育教学改革实践方案。通过教学改革是学生得到综合性、全方位的锻炼,实现学生GIS编程的提高和升华。

【关键词】地理信息系统;程序设计;课程组;教学改革;创新实践

0 引言

海洋技术是开发与利用海洋资源和能源、拓展人类生存空间的技术。海洋开发大范围的、精确的海洋环境数据支撑,要获得这些数据需要进行海底勘探、取样、分析和水下施工等。完成这些任务需要一系列海洋技术的支撑,包括深海勘察、探测、深潜、化学、生物、遥感、声学、测绘等技术。因此,我国高等学校中海洋技术专业涵盖的范围较广,主要培养具备海洋科学的基本知识及海洋高新技术开发研究的能力,能从事海洋高科技、海洋资源开发、海洋工程及相关学科专业工作的高级专门人才,但是不同的高效高校有其不同的侧重点。

上海海洋大学海洋技术专业培养具备海洋科学基本理论知识,掌握海洋遥感地理信息、海洋测绘、水声学探测等基础知识和基本技能,能在海洋信息、遥感和地理信息系统(GIS),或海洋测绘、海洋工程勘测领域,具备从事海洋勘测、工程测量、海洋信息技术开发与应用及相关科学研究与管理基本能力的高素质复合人才。

1 GIS开发课程组成

上海海洋大学海洋技术专业侧重,地理信息系统(GIS)、遥感、测绘和声学。GIS课程组涉及地理信息系统理论、开发与应用的课程,是我校海洋技术专业教育中最核心的部分之一,培养学生有关地表和海洋的空间认知、地理数据处理、空间分析与专业领域应用的能力。

本课程组包括《地理信息系统》、《可视化程序设计》、《GIS开发与应用》、《WebGIS原理与开发》和《GIS综合应用实习》5门理论与实践课程(表1),其中《地理信息系统》是GIS开发的基础理论课程,《可视化程序设计》是程序开发的中阶编程课程,其余课程为GIS开发的实践与综合应用课程。所有课程均得到上海市教育高地重点课程建设立项资助,2015年《GIS开发与应用》获上海市教委重点建设课程资助。

1.1 地理信息系统

“地理信息系统”是为海洋技术的专业基础课,内容主要包括地理信息系统的基本概念和原理、地理空間数据概念、空间地理数据获取及空间参考、空间数据库建立、空间分析、数字地形模型与地形分析、空间插值、空间建模与空间决策支持,以及空间数据的表现和可视化等。讲授过程注重理论与实践结合,使学生深刻理解并牢固掌握地理信息系统的基本概念与技能,并为其后续学习和研究指引正确方向、打好坚实基础。

1.2 可视化程序设计

“可视化程序设计”课程是为洋技术类的专业教育必修课程,是本专业学生学习地理信息系统设计和开发等后续课程的基础。该课程主要讲授三部分内容:(1)介绍基于C#语言的面向对象程序设计模式,(2)介绍Windows 系统下可视化程序设计基础,(3)介绍基于VS.NET的可视化程序设计的一般方法。本课程的主要目的,在于使学生掌握Windows操作系统下可视化程序设计的基本知识,培养学生可视化程序设计的能力,为后续课程以及从事海洋技术相关工作打下基础。

1.3 GIS开发与应用

“GIS开发与应用”是为海洋技术专业本科生的专业核心课程。在海洋技术专业本科生的学习中,该课程起着激发学生对专业的兴趣,培养学生初步养成运用现有商业GIS工具及利用组件式GIS工具,开发满足特定要求、具有一定功能的软件来解决实际应用问题的相关技能。通过本课程的教与学,使学生掌握GIS的一般功能和应用领域、基本具备利用现有商业GIS工具来解决实际问题的能力,掌握自定义GIS软件开发的过程、熟悉主流开发环境、掌握用户定制GIS的基本编程技能技巧,增强该专业学生应用GIS来解决海洋领域相关实际问题的能力,同时拓宽该专业学生今后从事海洋工作的领域。

1.4 WebGIS原理与应用

“WebGIS原理与应用”是为海洋技术的专业方向选修课,在海洋技术专业本科生的学习中,起着激发学生对专业的兴趣、培养学生初步养成运用WebGIS技术和方法解决实际问题的能力的作用。通过WebGIS课程的教学,使学生正确掌握WebGIS的基本原理、方法及WebGIS的关键技术,培养学生的动手能力,并能综合运用于对海洋管理、开发等实际问题的分析,初步具有解决一般WebGIS应用的分析和构建能力。

1.5 GIS综合应用实习

“GIS综合应用实习”以课堂所讲授的地理信息系统的原理、方法为指导,结合GIS通用平台(ArcGIS Desktop)的具体操作和应用,加深对GIS 原理、方法的理解,更全面了解GIS在各领域的应用。通过两周的应用实习能够利用ArcGIS Desktop完成一定任务。使同学进一步了解地理信息系统工具功能和作用,初步具有应用地理信息系统平台解决实际工作的能力。为同学今后从事海洋科学和技术有关领域的工作、研究、深造打下良好的基础。

2 教材和教学资料建设

2.1 教材选用

本课程组采用的教材为高等教育 “十一五”国家级规划教材、美国“Introduction to Geographic Information Systems”(科学出版社出版)、以及院校985的相关教材,这些教材在其他院校地理信息系统专业中使用较广,使得我们与国内更高级别的院校和国际相关院校接轨,有效地适应海洋技术专业的国际化需求。

2.2 自编讲义和资料

本课程组涉及的课程均为实践性较强、需要进行上机操作的课程,同时目前有关GIS操作的书籍对于海洋知识的兼顾显得不够,因此我们自编了部分讲义,包括可视化编程、GIS单机开发和WebGIS网络开发的教师教学程序,以及相关的资料,均交由学校印刷供学生参考使用。

3 教育教学教改与研究

在2013年之前,我校GIS开发类课程使用不同的程序语言进行教学。例如,《可视化程序设计》使用Visual C++语言和平台,这是微软在全球范围应用非常广的平台。学生在大一期间虽然已经学习过《C++程序设计》,但是主要以讲授语法为主,不涉及可视化程序设计,缺乏GIS开发相关的实践经验。

此外,早期GIS单机开发的标准语言是Visual Basic(VB)语言,所以后续GIS单机程序设计均采用VB.NET。这造成了前期基础课程使用的程序语言与后续GIS开发课程并不一致,学生在语言转换上需要花费很多课时,并且最终的掌握程度并不理想。近4年,基于ArcGIS的单机开发在首选语言已经定为C#,原VB.NET则成为第二建议语言。因此,为了夯实海洋技术专业学生的语言基础,并且为今后更高难度的GIS开发课程打下基础,有必要对课程组进行教学改革,统一教学所采用的程序语言、建立多元化的教学模式、统一考核的方式和评判标准,实现课程之间的承继和无缝衔接,最终培养学生在GIS开发和数据处理方面的扎实能力。

本项目主要将贯穿于海洋技术专业2-4年级的GIS开发类课程组,进行有机联系,增强其连贯性,实现该类课程组之(下转第19页)(上接第40页)间的承继与递进教学,提高学生对GIS开发的掌握能力,实现相关学生GIS开发能力的突破。實施的措施包括:(a)通过课程组内的教学研讨实现教学内容的有机协调及整体性;(b)对程序设计语言进行统一,独立主机程序为C#、基于网络的GIS程序为JavaScript;(c)对学生对GIS开发的掌握程度进行适时调研,实现有针对性的教学;(d)统一课程的考核方式,包括程序设计部分和报告部分;(e)通过大学生创新项目和毕业论文(设计),实现大学生GIS开发能力的升华培养和创新实践。

4 结语

通过课程组的总体设计、教师研讨,实现各阶段GIS开发类课程的承继性和整体性;通过建立一支从年富力强到经验丰富的教师团队,保证课程组教学、实践与应用的顺利开展。

通过课程组内的教学研讨,建立了GIS开发类课程之间的有机关联,实现了教学内容的有机协调;统一了单机类GIS开发课程的基础语言(C#语言),实现各阶段课程的承继性和整体性。针对学生对GIS开发的掌握程度,进行适时调研和分析,从而调节教学进度和教学方式,实现有针对性的教学;统一课程的考核方式,包括程序设计和报告。学生有效地掌握了从基础到高阶的GIS开发技术,在后续综合实习、大学生创新和毕业设计阶段,进一步开展综合性、全方位的锻炼,实现学生GIS编程的提高和升华。

【参考文献】

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

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

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

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

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

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

[责任编辑:朱丽娜]

猜你喜欢
程序设计可视化海洋
基于CiteSpace的足三里穴研究可视化分析
基于Power BI的油田注水运行动态分析与可视化展示
基于Visual Studio Code的C语言程序设计实践教学探索
基于CGAL和OpenGL的海底地形三维可视化
“融评”:党媒评论的可视化创新
从细节入手,谈PLC程序设计技巧
高职高专院校C语言程序设计教学改革探索
PLC梯形图程序设计技巧及应用