查看原文
其他

提高GIS专业学生程序设计能力的好帮手

傅学庆、李少丹 科学EDU 2022-04-24

图片来源丨Pixabay


提高GIS专业学生程序设计能力的好帮手

程序设计与开发一直是地理信息科学专业培养的一项重要内容,而“高级语言”、“数据结构与算法”和“计算机图形学”的基础算法部分是形成良好开发能力的重要基石。但是,程序设计与开发类课程是许多地理信息科学专业学生的“痛点”,许多学生表示,“非常喜欢GIS 专业,但是一讲程序开发就头疼”。


这又何尝不是相关老师在教学上的“痛点”呢?面对这样的情况,我们认真分析了程序设计与开发类课程的关系,将“高级语言”、“数据结构与算法”和“计算机图形学”三个实验课程部分结合起来,形成程序设计基础实践教学部分,编写了本《高级语言及算法设计实验教程》。



程序设计从基础到高阶学习,也表现出从通用知识向专业领域发展的趋势。结合地理信息科学专业特点,程序设计高阶部分、数据结构与算法应用实例采用了几何图形领域的案例,既可以有效衔接计算机图形学的部分内容,同时还可以帮助学生更好地理解GIS 软件平台图形部分的设计原理与思路。图形部分实验比例较大是本书的一大特色。


本书从设计到出版历时4 年左右。编写过程中,作者力图通过实验设计,不只教会学生相关开发实验的设计与操作步骤,更希望让学生理解实验背后的原理;不只是让学生理解某一门课程知识,而是帮助学生打通多门课程的知识体系架构,从而培养其综合实践能力与创新思维。


  本书特色  


1. 跨课程平台


针对地理信息科学专业的学生,程序设计与开发能力的培养是重要的专业培养目标之一。“高级语言”、“数据结构”及“计算机图形学”三门课程相对比较基础,同时又偏向计算机学科,容易与GIS其他课程产生割裂。本实验教材在兼顾基础知识的同时,引入了图形要素的数据结构设计,图形处理算法以图与地理信息其他课程相衔接。


2. 统一开发环境


实验教材采用C#语言作为统一的实习语言,使用Microsoft Visual Studio作为统一的开发环境,并且与“GIS应用开发”课程采用的环境相一致。这样有利于学生将所学知识串联在一起,更易于理解课程背后的知识体系。


3. 基于图形的综合实例


本书的另一个显著特点就是用一个图形的综合实例将“高级语言”、“数据结构”与“计算机图形学”的大部分知识集成于一体。从点线面要素类的定义,到这些几何要素的数据结构,再到点线面要素的生成,线与面要素的处理算法等,以不同的实验阶段体现,层层深入,最终形成一个小型的图形系统。




如何学好本课程


1. 反复练习


知识的学习往往不是一蹴而就的,需要大量反复的练习,尤其是程序开发类的课程。只有反复的推敲每一个算法,每一行代码,甚至每一个符号才能深刻理解其中的道理。抽象的概念往往是在一次次的实践中才慢慢浮现其轮廓。


2. 勤于思考


开发能力的培养需要独立的思考,在阅读、设计、编码、调试的各个环节进行有效的思考是将知识内化于心的必由之路。


3. 勇于改造


“尽信书不如无书”,敢于、善于对现有的程序算法提出改进的方案是养成提高程序开发设计能力的有效手段。这样才能使知识在一个个具体的案例中“活”起来,才能使得程序设计变成得力的工具,才能用它解决更多的问题。



《高级语言及算法设计实验教程》

978-7-03-064447-3

傅学庆 李少丹 编著


内容简介


本书整合了高级语言、数据结构与算法以及计算机图形算法基础三门实验课程内容,并充分考虑课程知识体系的内在联系和地理信息科学专业特点,设计了22 个实验。


主要内容包括:高级语言基础实验系列(实验1~9),主要介绍开发环境、数据类型、语法基础、流程控制、面向对象基础等;高级语言深度开发实验系列(实验10~15),主要介绍面向对象设计、Windows 窗体、文件与数据库、委托与事件、多线程以及图形开发等;数据结构与算法系列实验(实验16~18),主要介绍线性表、栈和队列结构的实现与应用;计算机图形算法基础(实验19~22),主要介绍矢量图形数据结构设计、矢量线的裁剪、矢量多边形的剪裁与填充以及栅格数据结构设计等。


本文摘编自《高级语言及算法设计实验教程》(傅学庆、李少丹编著,北京:科学出版社)一书,标题为编辑所加。


识别二维码

购买此书

当当网


更多教学服务

关注微信公众号“科学EDU



近期文章:

1、如何撰写一篇高质量的文献综述?
2、物理教师成长的脚步——技能篇

3、星火传递送鸿博  寄雁传书予温暖

4、云游科学之《化学元素新论》

传播科学,欢迎分享“在看”▼

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存