地理信息科学专业GIS开发课程的学习难点及教学对策研究

作者: 奚旭 杜景龙 张委伟

地理信息科学专业GIS开发课程的学习难点及教学对策研究0

摘  要:在当前数字经济、智慧城市、人工智能等理念领衔的新时代发展背景下,社会对GIS开发人才有了更高的要求,然而,地理信息科学专业的学生普遍对GIS开发类课程的掌握程度有限,往往难以胜任实际开发任务。本教学团队通过教学调查的方式,从学生视角探讨学习GIS开发类课程存在的问题,从而掌握该类课程的教学难点,并通过翻转课堂、借助开源平台、实际项目实践及增设开源课程等方式提出应对教学策略。经实践,部分方案已取得显著效果,后续将持续完善,以期进一步提升GIS开发类课程的教学效果。

关键词:地理信息科学;GIS开发课程;开源平台;学习难点;教学对策

中图分类号:G642      文献标志码:A          文章编号:2096-000X(2022)30-0001-04

Abstract: In the background of the current new era of development led by the concepts of digital economy, smart city and artificial intelligence, the society has higher requirements for GIS development talents. However, students in geographic information science generally have limited mastery of GIS development classes, and often have difficulty with practical development tasks. Our teaching team explores the problems of learning GIS development courses from students' perspectives by means of teaching surveys, so as to grasp the teaching difficulties of such courses, and proposes teaching strategies to cope with them through flipped classroom, using scientific platforms, actual project practice and additional open-source courses. After practice, some of the programs have achieved significant results, and will continue to improve in order to further improve the teaching effect of GIS development courses.

Keywords: geographic information science; GIS development course; open source platform; learning difficulties; teaching countermeasures

在当前信息化时代,地理信息科学(Geographic Information Science)专业,即GIS专业,是深度对接人工智能、智慧城市、大数据及元宇宙等新发展概念的紧密专业[1-2]。上述方向需要依托程序设计与开发、数据分析与挖掘、建模及可视化等基础工作,因此,社会对高校地理信息科学专业的学生在GIS开发方面有了更高的要求。

GIS开发课程是对所有地理信息专业所要学习的编程类课程的统称,主要包括基础编程语言(C语言、Python、Java、C#等)、基于ArcGIS Engine的二次开发、WebGIS开发(JavaScrript、HTML、CSS等)、后端开发(Java)及科学数据处理(R语言、Python、Matlab等)[3-5]。要成为一名优秀的GIS从业人员,应掌握GIS的基础理论、掌握1~3门GIS的专业软件(ArcGIS、ENVI等),以及学会使用至少一种计算机编程语言进行GIS开发[6]。根据作者及团队的多年教学经验,地理信息科学专业的学生在大学期间基本都能较好地掌握GIS理论课程和专业软件的使用,这是因为以地理信息系统概论[7]为代表的GIS专业课程与ArcGIS等专业软件在理论与功能上形成了相互支持与验证。通过对ArcGIS软件的练习,不仅能够熟练掌握软件,也能加深对地理信息科学理论与方法的理解。ArcGIS软件虽然能实现一些基础性地理数据处理与空间分析功能,但应用到其他领域或平台时,一些特定的功能需要结合实际情况使用,这就需要GIS开发来实现。由于GIS开发基本都是基于ArcObjects构建的,初学者一般都从基于C#的ArcGIS Engine开始学起,在掌握了C#语言和Arc Engine的开发思路之后,将会很容易进一步过渡到WebGIS和移动端GIS的开发上。在以往的教学经历中,很多学生不仅连进阶阶段的WebGIS和移动GIS掌握的不理想,而且较为基础的Arc Engine二次开发也难以达到可独立开发应用的地步。因此,地理信息科学专业毕业的学生真正从事GIS开发工作的人数较少,难以适应或满足社会高质量发展的需求[8-9]。在当前数字经济引领的时代发展潮流下,GIS开发工作充满了机遇与挑战,社会迫切需要可从事中高端GIS开发的新鲜“血液”,这对高校教师在GIS开发课程教育方面提出了更高的要求。

本研究在调查分析学生在学习GIS开发课程存在问题的基础上,从教学方式和实践创新方面积极探索该课程的教学策略,以期学生能更好地掌握该类课程。

一、学生视角下GIS开发类课程学习的学习难点

本教学团队分别在GIS组件式开发、Java Web开发及Web GIS等课程的期末考试卷上,以题目的形式调研学生对该类课程学习存在的困难和问题。经过整理,多数学生主要存在以下几点问题。

(一)专业课程繁杂,疲于应对考试

专业涉及到的课程过多,内容繁多,疲于应对作业与考试,导致GIS开发课程缺少足够的实践时间。地理信息科学是一门交叉性非常强的专业,地理信息科学专业的定义就是借助计算机技术对地理空间的实物要素或者现象进行数字化表征、存储、建模、模拟与分析等[4,10]。专业涉及的范围非常广,既涉及到自然地理中的地球圈层、水文、地质、大气和洋流等,也与城乡规划、交通、旅游、美食、碳排放及作物生长等人文地理的课题息息相关。很多高校将自然地理、人文地理、遥感、测绘和编程类的课程作为专业必修课,而随着新时代的发展需求,很多高校更是将机器学习、深度学习、大数据处理等作为限选课。伴随所学内容越来越多,大量课后作业与考试占据了大部分时间,导致GIS开发课程的学习只停留在理论层面,难以真正掌握。

(二)关联课程众多,基础不易打牢

多门课程与GIS开发互相关联,且很多关联课程都是GIS开发的基础课程,掌握程度的深浅容易决定GIS开发能力的上限。学习GIS开发不仅仅是要求掌握一门编程语言,还要对计算机、数据、网页及软件的构建体系有较深的理解,因此还要系统学习数据结构、前后端的框架和数据库等相关内容。这些课程通常逻辑性很强,特有的专业名词很多,很多学生在广度和深度上难以兼顾,导致前期学习的基础没有打牢靠,在后面学习GIS开发时困难重重。此外,国内大部分地理信息科学专业的学生,都要先从C语言或者C++开始打编程基础,然后开始学习C#和ArcGIS Engine、基于Python或者Matlab的地理数据处理,后续进阶阶段还需要学习Java进行后端编程、JavaScript的前端开发及至少一门框架(如Vue、Angular或者React等)。虽然不同编程语言在语句和写法上非常相似,但都有自己的逻辑特色,尤其是学习到中后期时,高深的语法各不相同。很多学生在依次接触不同语言时,前期语法的相似性容易迷惑学习状态,而导致后面高深的语法理解困难。除了语法,不同的开发工具,如二次开发里面的ArcGIS Engine、Web开发里面的网页工具等都有很多很多的接口,虽然关联,功能却各不相同,繁杂的知识体系和专业名词容易打击学生的学习积极性,从而使创造性很强的GIS开发课沦为应试教育课。

(三)学习方式不当,缺少足够实践

理论上的专业知识充分理解,但仍然无法独立开发一个简单的项目。很多学生在课堂上听讲很认真,在课前预习和课后复习都做了充足工作,为了考试刷了很多题目。甚至为了加强理解,课后会从网络上找相关教学资源进行自主学习。在这种学习模式下,会在期末考试得到卷面高分,但仍然无法进行开发工作,就是因此缺少足够的代码实践量。本科生刚经历了高考,充分的刷题是一种行之有效的学习方式,这种定势的学习模式对学习GIS开发带来了负面影响。因为GIS开发是一门必须大量代码实践才能学好的课程,要求理论结合实际,并学以致用,只有自己动手编程才能真正掌握开发。在编写代码尝试运行的过程中,可以真正理解书本中的知识点,某个函数、方法或者接口的实现效果是怎么样的。此外,写代码实践的过程中,会接触到各种各样的错误,调试的过程也是试错的过程,是课堂或课本上难以传授的经验知识,可以为以后的GIS开发之路积累丰富的经验。

(四)地学结合较差,创新意识薄弱

很多学生在接触大量编程课程之后,反而学习目标越来越模糊,难以与地理学接壤,不能根据实际需求进行创新性工作。GIS开发是结合各行业的实际需求,进行软件开发的创新性工作。随着信息技术与社会发展的日新月异,涌现出了很多新理念与新需求,立足于地理信息科学的理论知识体系,以编程开发为实现手段,进行创新性研发工作是GIS开发的重要基础。地理信息科学专业的学生,在学习内容和未来工作方面与计算机专业确实存在很多交集,但地理信息科学是建立在空间数据之上的交叉学科,需要将可见的物理世界与不可见性的空间现象通过计算机模拟的方式进行定量表征、可视化分析与深层规律挖掘。因此,地理信息科学专业的学生不仅需要打好编程基础,也需要对地理学及地理信息科学的基本知识和理论知识体系有较深理解,从而在学习GIS开发的过程中能与地理现象紧密结合。

二、学习—思维—应用—探索链式教学对策

在有限师资力量基础上,针对同学们的学习难点,从学习—思维—应用—探索等链式步骤下提出相应的教学对策,并逐步应用于教学工作中。具体包括以下几点。

(一)翻转教学课堂,以教学促学习

根据美国学者Edgar Dale提出的“学习金字塔”(图1)理论[11],传统的教学模式,即老师在课堂上讲,学生在下面听讲,是效果最低的教学方式。在GIS开发课程领域,代码演示与视频讲解等方式都属于学习金字塔里面的被动学习部分,在较长时间的学习内容留存率不足30%,学习效果较差。本教学团队以学习金字塔为理论教学指导,在相关课程开始之初成立3~4人为单位的学习小组,通过小组讨论、小组项目实践及小组成员轮流上台讲学的方式翻转教学课堂。目前,在小组讨论和小组项目实践部分已取得较为良好的效果,主要体现在小组成员在彼此讨论过程中能加强对知识盲点的理解;在课后作业中,通过团体协作可高效率完成GIS开发任务,模式与实际社会生产项目的执行过程相似,增强了学生的实际动手能力与团队协作能力。在翻转课堂方面,有“教学”任务的学生做了充足工作,通过预习与备课工作,加强了对知识点的理解与记忆,也提升了个人演讲能力。但受限于知识面与讲解经验,听课学生的知识获得感较低,教师作为听众在恰当的时机进行点评与讲解十分重要。通过课堂翻转,能够有效地提升学生的学习积极性,在打好编程基础方面非常有效。

经典小说推荐

杂志订阅