Learn about developing algorithmic solutions to geospatial problems
Turn-key software systems for GIScience and Earth Observation are functionally powerful but have no instant solution to each geospatial problem. The ability to construct custom solutions is an essential attribute of the Geoinformatics specialist, who should have competence in addressing geospatial problems by algorithmic solutions.
You specifically learn about solution strategies, high-level solution descriptions in pseudo-code, and translations of these into an implementation in some programming language. We will also discuss the scientific side of programming by an introduction to literate programming, which emphasizes documentation of code and the FAIR principles of scientific data management, which apply to data and code. We emphasize the role of data in geospatial algorithms, as these are often data-intensive.
By reviewing and developing (pseudo-)code, you will increase your understanding of basic concepts in GIScience and Earth Observation like spatial data containers, iterators over geospatial data, and techniques such as spatial filters, classification, and coordinate transforms. The course’s programming language will be Python, and we will make ample use of a number of specific geospatial libraries.
The course is relevant for the Geoinformatics specialist who recognizes the limitations of existing systems and software and who has the drive to design, develop and code tailored solutions.
The course aims to bring professional and scientific skills in computational work with geospatial data.
- Fundamental mathematics: predicate logic, set theory, regular expressions, linear algebra
- Algorithmics: computational abstractions, problem classes, time and data complexity, algorithm design and analysis
- Literate programming: recording train of thought, interwoven documentation and code, literate programming principles
- Files, data types, variables, expressions, data manipulation (tables, arrays), reading keyboard input, printing
- Control flow and iterations, map-filter-reduce operations
- File operations, open & save an image, open & save a video
- Array, matrix, matrix algebra
- Spatial data types (simple vector features, image types)
- Libraries for spatial data handling
- Installation of computing environment and libraries
- Review of characteristics of computing platforms that use Python, C++, R and SpatialSQL for geospatial applications
Short but intensive lectures bring the theoretical background, which is separately examined. Extensive practicals aim to learn together and to share with peers in what is learned; you will be asked to explain your problems and solutions in the practical sessions. These practicals prepare for a batch of skills tests that you execute individually. Also, you will study two obligatory topics in geocomputation plus one of your own choice, and these three will be your portfolio of work that is also assessed.
Upon completion of this course, the student is able to:
- Explain fundamental (mathematical) notions in algorithmics and literate programming, and apply the latter in code development.
- Understand and apply the fundamentals of programming, and express programs in properly documented pseudo-code.
- Translate and implement pseudo-code in (documented) Python.
- Critically evaluate program logic and correctness through testing and debugging.
- Programmatically manipulate and visualize raster images.
- Apply the data load into, curation, manipulation and visualization of data in a vector database, using database manipulation and programming language.
- Evaluate options in installing an appropriate computing environment (database, programming language, libraries, software versions.
- Develop independent learning, critical thinking through portfolio building.
- Compare characteristics essential for geospatial applications between Python, C++, R and Spatial SQL environments.
The thoughtful design in which also attention is being paid to high-level algorithmic thinking and solution strategies should prepare participants for almost any situation in which innovations from research needs to be implemented or existing software customised.
The GIS and Geoinformatics job and project markets require anxiously staff who can think and, most importantly, develop beyond the specifications of existing software.
Upon successful completion of this course, you will receive a Certificate which will include the name of the course.
Along with your Certificate you will receive a Course Record providing the name, and if applicable, all the subjects studied as part of the course. It states: the course code, subject, EC credits, exam date, location and the mark awarded.
This certificate course is part of the accredited Master’s Geo-information Science and earth Observation at ITC. If you decide to take the full Master’s Geo-information Science and Earth Observation at ITC, the Examination Board will give you in principle exemption from the course you followed successfully as a certificate course.
Academic level and background
Applicants for the Certificate programme should have a Bachelor degree or equivalent from a recognized university in a discipline related to the course, preferably combined with working experience in a relevant field.
Some courses in the Certificate programme or separate modules require knowledge of, and skills in, working with GIS and/or digital image processing of remotely sensed data.
Skills in taught or related subjects are a prerequisite for some courses in the Certificate programme or separate modules. Even if the applicant satisfies the overall admission requirements, acceptance is not automatic.
The faculty accepts transcripts, degrees and diplomas in the following languages: Dutch, English, German, French and Spanish. It is at the discretion of the faculty to require additional English translations of all documents in other languages as well.
As all courses are given in English, proficiency in the English language is a prerequisite.
If you are a national of one of the countries in this list (PDF), you are exempted from an English language test.
Please note: the requirements when applying for fellowships may vary according to the regulations of the fellowship provider.
English language tests: minimum requirements
Only internationally recognised test results are accepted.
TOEFL Paper-based Test (PBT)
TOEFL Internet-based Test
British Council / IELTS
C2 Proficiency / C1 Advanced
Applicants lacking computer experience are strongly advised to follow basic courses in their home countries.
Furthermore, you should have sufficient understanding of the spatial data models (simple vector features, raster images) and their elements and their associated spatial data operations.
The course is likely to see entrants with different levels of understanding and skills in the computational (scripting/coding) domain.
Previous scripting/coding experience is an advantage.