Programming for Geographical Information Analysis: Core Skills

Course Handbook

School of Geography
University of Leeds
Level M / 15 Credits
Convener: Dr Andy Evans
Formal module description

What’s this module about?

This is a course for social and ecological scientists (and anyone else) who fancy learning how to program. It teaches basic Java (see: Why Java) along with useful elements of core programming culture.

Why do it?

The short answer:

"The spread of computers and the Internet will put jobs in two categories: people who tell computers what to do, and people who are told by computers what to do." Marc Andreessen

The long answer:

The vast majority of Geographical Information specialists are good at using 'out of the box' software such as GIS to complete analyses, but they are limited to that. This module will take you to the next level – the level at which you're no longer just a user of other people's software, but can develop bespoke tools for complex analyses that standard software would not cope with. The course will centre on learning the Java programming language. Java is a 'high level' language that works across the internet and on multiple platforms. Learning Java not only gives you a major computing language, but puts you in an excellent position for going on to other languages and understanding the broader issues of programming. As such it is often the language of choice for both environmental and business consultancies, as well as the research sector. The course is suitable for those with no experience of programming, or those with experience of other languages such as VBA.

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 to Programming for Geographical Information Analysis: Advanced Skills, which provides still higher-level training in GIS adaptation and computer modelling. Students with pre-existing Java skills may like to look at the advanced module directly.

How should I spend my time?

Basically there's 22 hours of lecture materials and 22 hours of practicals, leaving you 106 hours of private study in which to finish off practicals, revisit the lecture materials, read around the subject, and finish the assessments. The practicals build up the foundation of the assessments, so you need to make sure you stay on top of these.

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, however they build up into the code that forms the basis for the assessments, so you can't afford not to do them. In addition, you may submit the fifth practical for formative assessment (that is, we'll mark it and give you feedback, but it won't count towards your final degree); this is so you can get some mark-based feedback prior to the first assessment. Again, see the assessments page for details of deadlines etc.

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


The first half of the course will take you through the core language. The second half looks at using this, along with code supplied by other people, to get specific jobs done. In addition, we'll cover some key programming concepts as we go through the course. For a full overview, see the outline and key concepts page.

The module timetable can be found on this page.