An Introduction to Python Programming with a GIS Focus