Software Carpentry @ PSU

Pennsylvania State University


April 15–17, 2024

10:00 am - 3:00 pm EDT (2:00 pm - 7:00 pm UTC)

Instructors: Tajudeen Akanbi Akinosho, Krishna Bijjam, Lucie Hutchins

Helpers: Rupesh Shrestha

General Information

Software Carpentry aims to help researchers get their work done in less time and with less pain by teaching them basic research computing skills. This hands-on workshop will cover basic concepts and tools, including program design, version control, data management, and task automation. Participants will be encouraged to help one another and to apply what they have learned to their own research problems.

For more information on what we teach and why, please see our paper "Best Practices for Scientific Computing".

Who: The course is aimed at graduate students and other researchers. You don't need to have any previous knowledge of the tools that will be presented at the workshop.

Where: This training will take place online. The organizers will provide you with the information you will need to connect to this meeting.

When: April 15–17, 2024. Add to your Google Calendar.

Requirements: Participants must have access to a computer with a Mac, Linux, or Windows operating system (not a tablet, Chromebook, etc.) that they have administrative privileges on. They should have a Google account to access Google Colaboratory.

Accessibility: We are dedicated to providing a positive and accessible learning environment for all. We do not require participants to provide documentation of disabilities or disclose any unnecessary personal information. However, we do want to help create an inclusive, accessible experience for all participants. We encourage you to share any information that would be helpful to make your Carpentries experience accessible. To request an accommodation for this workshop, please fill out the accommodation request form. If you have questions or need assistance with the accommodation form please email us.

Contact: Please email Briana Ezray Wham for more information.

Roles: To learn more about the roles at the workshop (who will be doing what), refer to our Workshop FAQ.

Code of Conduct

Everyone who participates in Carpentries activities is required to conform to the Code of Conduct. This document also outlines how to report an incident if needed.

Collaborative Notes

We will use this collaborative document for chatting, taking notes, and sharing URLs and bits of code.


Please be sure to complete these surveys before and after the workshop.

Pre-workshop Survey

Post-workshop Survey


Day 1 – Mon April 15

10:00 The Unix Shell
12:00 Lunch break
01:00 Version Control with Git
03:00 END

Day 2 – Tue April 16

10:00 Plotting and Programming in Python
12:00 Lunch break
01:00 Plotting and Programming in Python, continued
03:00 END

Day 3 – Wed April 17

10:00 Plotting and Programming in Python, continued
12:00 Lunch Break
01:00 Plotting and Programming in Python, continued
03:00 Post-workshop survey


To participate in a Software Carpentry workshop, you will need access to software as described below. In addition, you will need an up-to-date web browser.

We maintain a list of common issues that occur during installation as a reference for instructors that may be useful on the Configuration Problems and Solutions wiki page.

Install the videoconferencing client

If you haven't used Zoom before, go to the official website to download and install the Zoom client for your computer.

Set up your workspace

Like other Carpentries workshops, you will be learning by "coding along" with the Instructors. To do this, you will need to have both the window for the tool you will be learning about (a terminal, RStudio, your web browser, etc..) and the window for the Zoom video conference client open. In order to see both at once, we recommend using one of the following set up options:

This blog post includes detailed information on how to set up your screen to follow along during the workshop.


Git is a version control system that lets you track who made changes to what when and has options for easily updating a shared or public version of your code on You will need a supported web browser.

You will need an account at for parts of the Git lesson. Basic GitHub accounts are free. We encourage you to create a GitHub account if you don't have one already. Please consider what personal information you'd like to reveal. For example, you may want to review these instructions for keeping your email address private provided at GitHub.

Google Colaboratory

We will use Google Colaboratory ("Google Colab") for all aspects of the workshop.

Please use your Penn State Google Workspace for Education Account to access Google Colab.

If you have not aleady set up your PSU Google Workspace for Education Account, please follow the directions linked here.

Anaconda Cloud

The "Version Control with Git" and "Plotting and Programming In Python" lessons will use Anaconda Cloud IDE for creating code, running code, and content editing. If you do not already have Anaconda installed on your local machine, you can skip a local installation process with the cloud-based, JupyterLab notebook experience – fully-loaded with Anaconda packages, Panel app deployment, sample data catalogs, and notebook templates.

To get started,go to Anaconda Cloud IDE and create an account. It’s very simple and it’s free.