Teaching introductory GIS programming to geographers using an open source Python approach | Synapse