Our GitHub page serves as a repository for linking to the content of our specific courses. Feel free to browse around and experiment!
Previous courses in our workshop series
We recommend this set of workshops to all those starting out in research computational methods. Choose Python or R as your programming language, or try both!
Intro to Unix/Terminal: Introduction to the command-line environment, one of the oldest and most powerful methods for interacting with your computer, and a must-know for interacting with many programs and high-performance computing environments.
Intro to Python: Python has rapidly become the programming language of choice for many people across the world, thanks to its flexibility and ease of use. In this two hour hands-on workshop, attendees will learn some of the basics behind how to program in Python, and how they can leverage the language for different tasks.
Intro to R: R is a very powerful statistical software package, but has a reputation for being difficult to learn. In this two hour hands-on workshop, attendees will learn some of the basics behind how to program in R.
Version Control with Git: Have you ever wanted an unlimited undo button to track your files and the changes that you made? Don't remember what your friend put in your document four months ago, but swears they cannot find? Version Control software like Git helps solve these problems. In this two-hour hands-on workshop, you will learn the basics of Git through the popular GitHub repository as well as the command line.
Additional beginner courses
Intro to Structured Query Language (SQL): A hands-on, interactive introduction to SQL, the language for querying relational databases. After attending this workshop you will understand what a relational database is and why you might want to use one, be able to write SQL queries using best practices for syntax and style, combine data across multiple tables, and subset, filter, sort, count, and group data from the database.
Learning OpenRefine: Life is messy. So is your data — especially if multiple people have contributed to the content. Inconsistent data leads to inaccurate analyses, and software programs are often particular about the precise format of your data. If you need a quick way to assess and clean your data without having to write customized scripts to perform all those tasks, look no further! Join us for a hands-on workshop on OpenRefine to learn about many of this tool's great features, including sorting, faceting, cell transformations, handling multi-valued cells, clustering, and splitting data into multiple cells.
A Cloud Computing Primer: The cloud is an integral part of modern computing. It is a fancy name for the huge network of computers that host much of modern web infrastructure, but you can also harness all of that computing power for running analyses that would take days, weeks, or even years on your local computer. In this two hour workshop, an overview of what the cloud is and how you can begin to use it will be discussed.
Intermediate Python workshops
Intermediate Python - Going Beyond Basic Commands: Python is a general-purpose programming language used in different fields of research. In this 2h workshop, we will explore several powerful features of Python, often left out of introductory courses. Topics will include generators, comprehensions, map/filter functions, and some of the most useful modules in the standard library. To fully take advantage of this lesson, you should have a solid understanding of introductory concepts of programming in Python (variable types, for-loops, conditionals, and functions).
Intermediate Python - Machine Learning Concepts: Machine learning is used in a wide variety of applications to make predictions and understand large data sets. In this two hour workshop, attendees will get started with the Python package scikit-learn to learn how to build a machine learning system and evaluate it. Prior experience with beginner Python is required.
Intermediate Python - Pandas: In this intermediate Python workshop, you'll learn how to use the Pandas libraries for your work.
Intermediate R workshops
Intermediate R - Geospatial Applications: Now that you have learned the basics of R, it's time to take advantage of several of the useful libraries within the software. This workshop, located in the same facility as the Stanford Geospatial Center (who would love to see you for their workshops too!) will introduce you to geospatial libraries and concepts using R. Prior experience using R at an introductory level is expected.
Intermediate R - Visualization with ggplot2: Now that you have learned the basics of R, it's time to take advantage of several of the useful libraries within the software. This workshop will introduce you to ggplot2, the most famous visualization package in R, and a forerunner to the complete tidyverse library suite. You will learn how to take advantage of one of the most well-regarded features of R when compared to other statistical software packages; its ability to create great visualizations from your data. Prior experience using R at an introductory level is expected.
Intermediate R - Statistics and Data Analysis: In this workshop we will cover factors, Aggregating and analyzing data with dplyr, the Pearson correlation, a student's t-test, ANOVA, and the Tukey HSD.
Workshops requiring beginner command-line (Unix/terminal) skills
Scripting, Looping, and Automation in Unix: Following on the skills from the Intro To Unix Class, this class will introduce in further detail several useful programs within the terminal environment, such as automation, scripting, and looping. Some basic skill with a Unix environment is expected.
Introduction to High-Performance Computing: This workshop is an introduction to using high-performance computing systems effectively. By the end of this three-hour workshop, learners will know how to: Connect to a cluster and write simple batch job scripts, submit and manage jobs on a cluster using a scheduler, transfer files, and use software through environment modules. Some command-line experience with navigating the filesystem (ls, and cd commands) and editing files (nano) is helpful but not necessary.
Make and Automation: Make is a tool that can run commands to read files, process these files in some way, and write out the processed files. There are now many build tools available, all of which are based on the same concepts as Make. In this two-hour workshop, you'll explore how to learn to use Make and other build tools to automate your tasks. Some prior knowledge of using a command-line shell is expected.
Intermediate geospatial workshops
For beginner geospatial workshops, see the Stanford Geospatial Center.
GDAL and Geospatial Technologies: GDAL is a translator library for raster and vector geospatial data formats. In this two hour workshop, you will learn how to use GDAL for work with geospatial applications.