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.    

September 2021 Software Carpentry Details

Software Carpentry is a framework to teach beginner and intermediate skills in coding. We offer training in both the R and Python programming languages.
For both languages, you have the option to enroll in the Introductory or Intermediate course. Below you can find blurbs about each topic to decide which workshop is
best for your skillset and interest.

All courses will be ran currently so you can only select a single course at registration.

Introductory Python 
Note: Learners should understand the concepts of files and directories and how to start a Python code
editor before tackling this lesson.

Concepts covered:

  • Python fundamentals
  • Analyzing and visualizing tabular data
  • Loops
  • Lists
  • Analyzing multiple files
  • Creating functions
  • Errors and exceptions
  • Debugging
  • Introduction to geospatial topics

Introductory R):
Note: Learners should understand the concepts of files and directories (including the working directory)
before tackling the lesson.

Concepts covered:

  • Analyzing data
  • Creating Functions
  • Analyzing multiple datasets
  • Best practices writing R scripts
  • Making Packages
  • Reading and writing CSVs
  • Data types and structures
  • Call stack
  • Loops in R
  • Special spatial topics

Intermediate R:
Note: This lesson is designed to teach R coders how to apply their skills to geospatial concepts. It
assumes an intermediate level of R knowledge. If you are unfamiliar with the concepts listed in the
Introductory course, we recommend you enroll in the intro-level course.

This course will approach the following question:

Can we use VIIRS day/night band imagery to predict socio-economic conditions at the census tract level
for three different counties in Texas?
Concepts covered:

  • Reading and visualizing rasters
  • Creating temporary objects
  • Reprojecting data
  • Processing and analyzing geospatial and census data
  • Utilizing the sf, raster, tmap, and tidy census packages
  • Writing efficient workflows

Intermediate Python:
Note: This lesson is designed to teach Python coders how to apply their skills to geospatial concepts. It
assumes an intermediate level of Python knowledge. If you are unfamiliar with the concepts listed
in the Introductory course, we recommend you enroll in the intro-level course.

Concepts covered:

  • Opening rasters
  • Saving rasters
  • Plotting rasters
  • Inspecting rasters
  • Utilizing the xarray, rioxarray, and geopandas libraries
  • Calculating zonal statistics [if there is enough time]

 

 

python-logo

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 2019 lessons – 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

Rlogo

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

Some R resources and tutorials from the Warner College’s Dr. Matt Ross

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_logo

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.