• Home

  • Setup

  • Lessons

  • Syllabus

  • Contacts

Software Carpentry banner

Lessons

Introduction

Unit I: The Unix Shell

  1. Introducing the Shell
  2. Files and Directories
  3. Creating Things
  4. Pipes and Filters
  5. Loops
  6. Shell Scripts
  7. Finding Things
  8. Reference…

Unit II: Version Control with Git

  1. Introducing Version Control
  2. A Better Kind of Backup
  3. Collaborating
  4. Conflicts
  5. Hosting Science
  6. Reference…

Unit III: Programming with Python

  1. Analyzing Data with NumPy
  2. Creating Functions
  3. Analyzing Multiple Data Sets
  4. Making Choices
  5. Defensive Programming
  6. Command-Line Programs
  7. Reference…

Unit IV: Distributed High Throughput Computing

  1. Introduction to Open Science Grid
  2. Submitting Jobs - HTCondor
  3. Troubleshooting
  4. Data Storage and Transfer
  5. Scaling Up Resources - R and MATLAB runtime examples
  6. Handling Job Dependencies - DAGMan
  7. Large Scale Computation with Pegasus (optional)

Further Materials

Recommended Reading

Glossary