Geospatial Computing | I-GUIDE Convergence Curriculum

I-GUIDE Convergence Curriculum
3 Hour Module for Geospatial Computing

Learning Objective

LO: Use Geospatial Computing in an example problem.

Materials

One Hour Reading and Reflection

Reading 1

  1. Title: On the Origins of Computing and GIS&T: Part I, A Computer Systems Perspective
  2. URL: https://gistbok-topics.ucgis.org/CP-02-016 
  3. Motivation for reading: This paper describes the evolutionary path of hardware systems and the hardware-software interfaces that were used for GIS&T development during its “childhood”, the era from approximately the late 1960s to the mid-1980s.  
  4. Key Takeaways: The history of geospatial computing dates back to the '60s with many turns and epochs that influence the approaches and skills that are used today.

Reading 2

  1. Title: GIS and Parallel Programming
  2. URL: https://gistbok-topics.ucgis.org/PD-01-014 
  3. Motivation for reading: Programming is a sought after skill in GIS, but traditional programming (also called serial programming) only uses one processing core. Modern desktop computers, laptops, and even cellphones now have multiple processing cores, which can be used simultaneously to increase processing capabilities for a range of GIS applications.
  4. Key Takeaways: Parallel programming can unlock significant computational performance allowing geospatial scientists to tackle more complex problems.

Reflection Questions

  1. Reflection question: Identify one hardware or software system from the past that is still in use today.
    Instructions: Write 5-7 sentences reflecting on question 1.
  2. Reflection question: Describe the benefits of parallel programming.
    Instructions: Write 5-7 sentences reflecting on question 2.

One Hour Slides

  1. Link to Google Slides

One Hour Hands-on Activity

  1. Title: Hour of CI Parallel Computing Lesson
  2. URL: launch.hourofci.org
  3. Instructions: Parallel Computing Beginner Lesson Plan 
  4. Motivation for activity: The Parallel Computation Lesson is designed as an introduction to the concepts around parallelizing problems focusing on understanding the basics of taking a spatial problem, decomposing it so that it could be solved in parallel, and understand some of the complexities in doing so.
  5. Key Takeaways: After this lesson, students will be able to distinguish serial programming from parallel programming, identify speedup limitations in parallelism, and identify spatial dependencies and how they can interact with parallel computation.