Programming Resources

Programming is an integral component to geospatial science and performing data management analysis. Code in Python or R can be used to perform analysis and automate bulk processing. Languages like Javascript can be used to customize and improve web mapping applications.

Here are some general websites and tutorials for learning how to code in a variety of languages:

  • CodeAcademy.   Somewhat more computer science focused but there are some data science resources. Lessons in Python, Git, SQL, Javascript, CSS, HTML. Free with paid options.
  • Lessons from Data Carpentry . Free open source lessons for R, Python, SQL. Applied programming options based on field of study. 
  • Data Camp. Paid service but excellent and expansive content. A worthwhile investment if you need to learn a language. R, Python, SQL, and more.
  • Software Carpentry lessons for open source content development in Shell, Git, Python, and R. Content is designed to be instructed, but individuals can move through content in a self-paced format.   



Python is an open-source development language used widely for data science and used heavily in geospatial science. It’s fairly easy to learn, is integrated to the ArcGIS world, and has dozens of available libraries for spatial data management, analysis, and visualization.

There is no shortage of Python resources online, but here are few to get you started:

Python Home Page

Python Tutorials

Python Beginner’s “Cheat Sheet”

Python Programming Beginner Tutorials – YouTube playlist by Corey Schafer

Python for Geospatial:

Learn about Python scripting for ArcGIS with these Esri web courses: Python for Everyone (free) and Python Scripting for Geoprocessing Workflows – (Free if you log in with your CSU Esri account)

Automating GIS Processes course lesson videos – YouTube playlist companion to the online course in learning Python and open source geospatial packages

CSU’s Programming for GIS 1 lecture video playlist – includes Python basics and using arcpy


R is a popular open-source statistical programming language used heavily for data science, statistics, and visualization. It has dozens of packages to enable complex and sophisticated analyses.

R Home Page

R Spatial documentation

R Tutorials

CSU Morgan Library Coding & Cookies R Basics workshop

Find videos on R Spatial on YouTube

Also refer to the links above for general R tutorials and online courses through Data Camp and Code Academy



Javascript is a programming language implemented on web pages to create and control dynamic website content.  In the geospatial world, if you want to customize web maps and mapping applications, Jacascript is the language to learn.

Javascript documentation

What is Javascript?

Try Codepen as a browser-based interface to explore and implement Javascript code while you’re learning or testing web pages.