Course Title: Geospatial Programming

Part A: Course Overview

Course Title: Geospatial Programming

Credit Points: 12.00


Course Code




Learning Mode

Teaching Period(s)


City Campus


171H School of Science


Sem 2 2019,
Sem 2 2022

Course Coordinator: Yaguang Tao

Course Coordinator Phone: +61 3 9925

Course Coordinator Email:

Course Coordinator Location: 12.11.31-35

Course Coordinator Availability: appointment by email

Pre-requisite Courses and Assumed Knowledge and Capabilities

GEOM1033, SIS Fundamentals

GEOM1044, SIS Principles

Course Description

This course introduces you to fundamental programming concepts and to how scripting and programming can be used to automate tasks within a GIS environment as well as to extend GIS functionality. The course is designed for students with no prior background in programming, and the basic programming skills you learn in this course can also be applied to other parts of GIS workflows, such as data pre-processing, which is often required before bringing your data into a GIS environment.

Objectives/Learning Outcomes/Capability Development

This course contributes to the development of the following Program Learning Outcomes in BH117 Bachelor of Science (Geospatial Science) (Hons):

1.2 Demonstrate in-depth understanding of the spatial models and mathematical methods used in contemporary practice.

1.3 Understand specialist bodies of knowledge in surveying and geospatial science.

2.2 Proficiently perform computations in two and three dimensions.

3.1 Design and implement creative solutions to complex problems.

6.1 Be self-motivated and personally responsible for your actions and learning.

On completion of this course you should be able to:

  1. Demonstrate an understanding of fundamental programming concepts, such as documentation, debugging, and error checking.
  2. Investigate Python tool integration with open-source GIS software.
  3. Solve GIS problems by writing well-documented Python code.
  4. Demonstrate awareness and effective use of external resources such as and QGIS API documentation to solve GIS programming problems.

Overview of Learning Activities

This course is run in blended mode, with a weekly lectorial component before the one-week intensive component.

Overview of Learning Resources

As a student enrolled in this course at RMIT University you can access the extensive learning resources provided in the school and in the RMIT Library, such as books, journals and other course-related materials (electronic and paper-based). Our library offers extensive services and facilities, geared to assist you in completing your studies successfully. A library subject guide is available at:

The prescribed course text is Think Python 2nd Edition by Allen B. Downey. It is freely available under a Creative Commons license:

An additional recommended text is Learn Python the Hard Way, available from:

A collection of other helpful online resources is also provided in the course Canvas site.

The software used in this course is open source, freely available, and can be installed on your own computer at home. The relevant links for downloading the required software will be provided in Canvas.

Computer labs with the required software are also available for your study.

Overview of Assessment

This course has no hurdle requirements

Assessment tasks:

Assessment 1: Online quizzes
Weighting: 20%
This assessment task supports CLO 1

Assessment 2: Practical exercises
Weighting: 40%
This assessment task supports CLOs 2, 3 and 4

Assessment 3: GIS problem applications
Weighting: 40%
This assessment task supports CLOs 2, 3 and 4