[Part 1 of 12]

Welcome to the course! This page will introduce you to the course and get you up and running with "Programming for Geographical Information Analysis: Advanced Skills".

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 analysis 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.

The course is a mix of online materials (like this), where you can download and read again lectures and other materials, the lectures themselves, and practicals. You can find out how each part of the course fits into the broader picture by clicking the [Part 1 of 11] or equivalent at the top of the page. This links to a page that describes how the course holds together and what to expect later in the course. This is where you can also find the lecture powerpoints and handouts, if you want them -- though all the information will be on these pages as well, with additional info that will help you get your head around it.

These 'lecture' materials are for you to work through to revisit topics you're unsure of. There are a set of quiz questions for each one which will help you to think through issues, and there's also usually a summary of the key concepts (you can also reach these directly via the outline page).

However, the key to learning any language is to practice, so most sets of lecture materials come with small example projects for you to do that will also help you think through issues. Try and do these after the lectures: they will help.


Ready? Great! Then we'll get started!

Screenshot: Progress paths

Screenshot: A slide from the powerpoint

Course introduction (powerpoint)

First up, the slides to the left repeat the introductory lecture given, including all the important spoken info as notes below the powerpoint slides.


The main thing at this stage is to think through whether you'd like to follow through the course completely, or whether you'd like to do the 'freeform' option. During the 'Freeform' sessions, we'll be working through online materials (recorded lectures etc.) for the main course, so you can either work through these, or work on alternative skills with our support.

If there's anything you'd like to investigate in the way of new skills that you haven't yet had the time or opportunity to look into on your course, this is your opportunity to do that in a way that we'll recognise (for example, in references). Of course, the main course materials will also be online, so there's nothing to stop you looking through those as well, but there will be a bunch of lectures/practical sessions where we'll all be working through online materials and where there will be people around to support you wherever we can -- so if you want to try anything, the opportunity is there.

For the first part of the course, we're going to look at data processing. The majority of this will be spent looking at how we might program a GIS. In the core course, we built our own raster-based GIS, but we might also want to program an off-the-shelf GIS to do additional processing or analysis for us. We're going to look at ArcGIS.

ArcGIS is a huge system, with lots of ways of programming it and lots of areas of activity one could program. However, the core of it is the data it holds, so we're going to get to the point at which we can programmatically get hold of data, view it, and manipulate it.

We will, however, also give you additional Arc code, so you can see how data analysis is done, particularly the analysis of networks. Once we've finished looking at Arc, we'll then move on to data in databases, and XML, the major modern data format.

First, however, we'll look at the multitude of ways in which Arc can be programmed.

Further info:

Free online textbook: Python for Java Programmers.

For additional materials on AML and ArcWorkstation, see the extra materials page.

Note that with the introduction of ArcGIS 10.1 the names of the software packages are changing again.

Screenshot: A slide from the powerpoint

Introduction to Arc Programming (powerpoint)