This course introduces programming based on Python for Geoprocessing in ArcGIS. Basic concepts of object-oriented programming and scripting will be presented. Students will develop skills in programming techniques to explore, manipulate and model spatial data using the Geoprocessor methods. To create more flexible spatial modeling tools when working with the Geoprocessing Framework of ArcGIS exchange facilities between Python source code and models built with ModelBuilder will be presented. Moreover the course addresses method development based on raster data to go beyond the limitations of scripting thoughts. Thus students learn how to use Python as a full developing environment in addition to the set of Geoprocessing functionalities.