Software Carpentry

Software Carpentry has contributed to the materials listed below.

Course Lessons

Course lessons are developed as a part of a course curriculum. They teach specific learning objectives associated with data and scientific programming. Software Carpentry has contributed to the following lessons:

Data Wrangling With Numpy Arrays

This lesson teaches you how to wrangle data (e.g. run multi-task functions, combine) with numpy arrays.

Data Wrangling With Pandas

This lesson teaches you how to wrangle data (e.g. subselect, update, and combine) with pandas dataframes.

Write Custom Functions

This lesson teaches you how to write custom functions in Python.

Intro to Functions

This lesson describes how functions are used in Python to write DRY and modular code.

Intro to DRY code

This lesson describes the DRY (i.e. Do Not Repeat Yourself) principle and lists key strategies for writing DRY code in Python.

Selections From Pandas Dataframes

This lesson walks you through using indexing to select data from pandas dataframes.

Manipulate and Plot Pandas Dataframes

This lesson walks you through describing, manipulating, and plotting pandas dataframes.

Import CSV Files Into Pandas Dataframes

This lesson walks you through importing tabular data from .csv files to pandas dataframes.

Intro to Pandas Dataframes

This lesson describes key characteristics of pandas dataframes, a data structure commonly used for scientific data.

Manipulate, Summarize and Plot Numpy Arrays

This lesson walks you through manipulating, summarizing and plotting numpy arrays.

Import Text Data Into Numpy Arrays

This lesson walks you through importing text data from .txt and .csv files into numpy arrays.

What Is Version Control

This lesson reviews the process and benefits of version control and how Git and GitHub support version control.

Import Python Packages

Python packages are organized directories of code that provide functionality such as plotting data. Learn how to write Python Code to import packages.

Python Lists

This lesson walks you through creating and editing Python lists.

Variables in Python

Variables store data (i.e. information) that you want to re-use in your code (e.g. a single value, list of values, path to a directory, filename). Learn how to write Python code to work with variables.

The Jupyter Notebook Interface

Jupyter Notebooks is an interactive environment where you can write and run code and also add text that describes your workflow using Markdown. Learn how to use Jupyter Notebook to run Python Code and Markdown Text.

Get Files From GitHub

GitHub can be used to store and access files. Learn how to create a copy of files on Github (forking) and to use the Terminal to download the copy to your computer (cloning). You will also learn how to to update your forked repository with changes made in the original Github repository.

Intro to Shell

This lesson walks you through using Bash/Shell to navigate and manage files and directories on your computer.

Introduction to APIs

In this module, you learn various ways to access, download and work with data programmatically. These methods include downloading text files directly from a website onto your computer and into Python, reading in data stored in text format from a website into a DataFrame in Python, and finally, accessing subsets of particular data using REST API calls in Python.

How to fork a repo in GitHub

Learn how to fork a repository using the GitHub website.

An introduction version control

Learn what version control is, and how Git and GitHub are used in a typical version control workflow.

Working with Function Arguments

Learn how to work with function arguments in the R programming language..

Get to Know the Function Environment & Function Arguments in R

This lesson introduces the function environment and documenting functions in R. When you run a function intermediate variables are not stored in the global environment. This not only saves memory on your computer but also keeps our environment clean, reducing the risk of conflicting variables.

How to Write a Function in R - Automate Your Science

Learn how to write a function in the R programming language.

Write Efficient Scientific Code - the DRY (Don't Repeat Yourself) Principle

This lesson will cover the basic principles of using functions and why they are important.

Create a Project & Working Directory Setup

Learn how to create a well-organized working directory to store your course data.

Install & Use Packages in R

Learn what a package is in R and how to install packages to work with your data.

Get to Know RStudio

Learn how to work with R using the RStudio application.

Install & Set Up R and RStudio on Your Computer

Learn how to download and install R and RStudio on your computer.

Data tutorials

Nothing to list here yet!