• 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. Automated Version Control
  2. Setting Up Git
  3. Creating a Repository
  4. Tracking Changes
  5. Exploring History
  6. Ignoring Things
  7. Remotes in GitHub
  8. Collaborating
  9. Conflicts
  10. Reference…

Unit III: Programming with Python

  1. Analyzing Data with NumPy
  2. Repeating Actions with Loops
  3. Storing Multiple Values in Lists
  4. Analyzing Data from Multiple Files
  5. Making Choices
  6. Creating Functions
  7. Errors and Exceptions
  8. Defensive Programming
  9. Debugging
  10. Command-Line Protrams
  11. Reference…

Unit IV: Distributed High Throughput Computing

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

Further Materials

Recommended Reading

Glossary

Email Twitter RSS GitHub IRC License Bug Report