• Home

  • Setup

  • Lessons

  • Syllabus

  • Contacts

Software Carpentry banner

Lessons

Introduction

(Bala)

Unit I: The Unix Shell

(David 1-8)

  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

(Bala 1-6)

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

Unit III: Programming with Python

(David 1-3. Suchandra 4-6)

  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 Computing on Open Science Grid

(Emelie 1-3. Mats 4, 8 and 9. Suchandra 6. Bala 7)

  1. Introduction to Open Science Grid (Emelie)
  2. Getting access to OSG (Emelie)
  3. Software Resources on OSG (Emelie)
  4. Submitting Jobs - HTCondor (Mats)
  5. Scaling Up Resources (Mats)
  6. Data Storage and Transfer (Suchandra)
  7. Workflow Management - DAGMan (Bala)
  8. Workflow Management - Pegasus (Mats)
  9. Troubleshooting (Mats)

Further Materials

Recommended Reading

Glossary