The overall aim of this course is to equip students of geoinformation sciences and related fields with a solid foundation in the concepts of applied programming by using fundamental programming techniques. In particular, the course aims at enabling students to implement algorithms using an appropriate programming language, and to expose them to practical programming techniques including the use of foundational programming structures, basic data acquisition and visualisation, as well as fundamental object-oriented programming techniques.