Programming

Introduction
The course will introduce students to the scripting and programming tools and skills commonly employed in GIS and spatial analysis. The skills learned in this course are equally applicable in scientific research, the public sector, and in industry. This course helps satisfy the programming requirements of the GIS and remote sensing the Geoinformatics major. No programming background is assumed for this course, but, because programming is an integral part of the course we strongly encourage students to make efforts to ensure they understand and practice the programming concepts discussed in this course.
During the labs offered in this course, the students will practically learn the programming skills. The main objectives of this module are to provide:

 

  •  An overview of computer systems.
  •  An introduction to functions of software components: operating systems, editors, compilers.
  • The knowledge of programming in a high-level language: selection and loop structures, routines, array and record types, text file operations.
  •  An introduction to object-based programming: use of class libraries and construction of simple classes.

 

 



 

Learning outcomes


At the end of this course, you will be able to:

 

  • Solve fairly simple computer programs using the Python language, but which are applicable to many other programming languages.
  • Be familiar with major geospatial vector and raster file formats and specifications for spatial reference coordinate systems Read and write the basic syntax of the Python language.
  • Have used and be comfortable with online resources that support geocomputing and programming in the GIS profession.
  • Know how to use Python with open-source GIS libraries.
  • Learn how Python can extend the capabilities of ArcGIS to solve problems difficult or impossible to address otherwise.
  • Develop basic skills in the Python programming language, and acquire programming concepts necessary for advanced GIS courses that require programming.
  • Be able to write shell commands to accomplish common geoprocessing tasks Understand the procedures involved in developing algorithms.
  • Translate a problem in the field of GI science into working computer programs.
  • Learn when scripted solutions are preferred over mainstream GIS software.


 

 

Content

 

  • Getting Started
  • Command Shells and Shell Scripting
  • Spatial Reference Systems and Data
  • GDAL and OGR Utility Libraries
  • Python: Basics
  • Python: Functions
  • Python: Flow Control
  • Python: Containers
  • Python: Containers II
  • Python: Memory, Copies & Files
  • Python: System Access
  • Python: Objects
  • GDAL and Python I
  • GDAL and Python II

 

 



 

Allocated time per teaching and learning method

 

Teaching / learning method

Allocated Hours

Lectures

36

Supervised practicals

24

Unsupervised practicals

20

Individual assignment

30

Group assignment

10

Self-study

20

Examination

4

MSc thesis supervision

0


Examinations
There will be a final closed book and closed notes examination. The practical skills are assessed based on the students’ performance during practical and a report for a small individual assignment.

 

 

Final Grade Determination

 

The final grade in this course will be based on the following components:

Components

Weight

Labs

20 %

Individual Assignment

40 %

Final Examination

40 %

 


Reference:
Lutz, Mark, Learning Python – Fifth Edition, O’REILY (2013)

 

Date:
2018/05/30
review:
1054
K.N.Toosi University
Address: No. 1346, ValiAsr Street, Mirdamad cross, Geomatics Engineering Faculty, K.N. Toosi University of Technology, Tehran, Iran.
Post Code: 15433-19967 
 Tel: +98 21 88877071-2 
All Rights Reserved. Khajeh Nasir Toosi University of Technology