Programming for Geographical Information Analysis: Advanced Skills

Course Handbook

School of Geography
University of Leeds
Level M / 15 Credits
Convener: Dr Andy Evans
Formal module description
[Plus intro session, Week 14]

What's this module about?

The course is designed to move you from being a basic-level programmer to being a programmer who can work with some of the classic techniques used by spatial analysts. The course works through from data processing, through analysis and visualisation, to modelling -- the classic investigation sequence. In addition, there is the option of having some space to develop your skills in a direction which you choose, be that learning a new language, looking into a specific platform like mobile phones, or working with some particular analysis technique.

Why do it?

The short answer:

"The best way to predict the future is to invent it." Alan Kay

The long answer:

Learning the basics of programming is a great start, but there is a vast ocean of ways in which you might program, and technologies you might engage with. Each is a separate world which may or may not be to your advantage to explore, replete with potential for solving real-world problems. Where do you start? This module will walk you through the key areas for tackling spatial issues: data processing, analysis, and modelling. However, it will also introduce you to the most significant areas of technology for spatial analysts to know about and give you the space and time to experiment with them to develop new skills. As such, it will put you in a position of knowing where to start when you sit down to build problem-solving and analytical software.

Links to other modules

The module is an excellent foundation for dissertation projects, and provides training suitable for the Professional Development module. The module leads on from Programming for Geographical Information Analysis: Core Skills, which provides introductory-level training in Java programming.

How should I spend my time?

Basically there's 23 hours of lecture materials and 23 hours of practicals, leaving you 104 hours of private study in which to finish off practicals, revisit the lecture materials, read around the subject, and finish the assessments.

How is this module being assessed?

There are two major projects for this module, one half way through, and the other towards the end. Each is worth 50%. See the assessments page for details of deadlines etc.

Note that the practicals are not assessed; they're meant to be times for experimentation and exploration. The practicals will give you insight into the major useful technologies, but they are also for experiencing what it is like to deal with the living edge of analysis techniques and software. Many of these technologies are ongoing projects that change on a monthly basis, and therefore show all the capriciousness of a living thing. Some technologies won't work as they say they should, and some won't even say that, so come prepared for flexible investigation and to bash things into shape with a metaphorical hammer, if not a real one. In short, come prepared to hack.

Detailed comments on plagiarism and collusion can be found on our plagiarism and collusion page. Make sure you read them.


The course is organised around three central themes: Data processing (Parts 1 to 6); Analysis (Parts 7 and 8); Modelling (Parts 9 to 12). Nevertheless, the course is really here for you to pick up skills, and so, while materials are provided for the whole course, you can, if you like, drop part of the data processing and analysis elements and use this time to pick up an additional skill in an area you're interested in, providing we think we can support you. For a full overview of the course and the 'freeform' option, see the outline and key concepts page.

The module timetable can be found on this page.