Workshop Syllabus

The Unix Shell

(Day 1, Morning)

  • Files and directories: pwd, cd, ls, mkdir, ...
  • History and tab completion
  • Pipes and redirection
  • Looping over files
  • Creating and running shell scripts
  • Finding things: grep, find, ...
  • Reference...

Version Control with Git

(Day 1, Afternoon)

  • Creating a repository
  • Recording changes to files: add, commit, ...
  • Viewing changes: status, diff, ...
  • Ignoring files
  • Working on the web: clone, pull, push, ...
  • Resolving conflicts
  • Open licenses
  • Where to host work, and why
  • Reference...

Programming in Python

(Day 2, Morning)

  • Using libraries
  • Working with arrays
  • Reading and plotting data
  • Creating and using functions
  • Loops and conditionals: for, if, else, ...
  • Defensive programming
  • Using Python from the command line
  • Reference...

Accessing Open Science Grid Resources

(Day 2, Afternoon)

  • Log in to a remote machine - secured shell ssh
  • Data Transfer scp rsync , globus
  • SSH keys: Access without password
  • Example: Running Python and unix scripts on a remote server
  • Connecting multiple remote machines via HTCondor
  • Properties of Distributed High-Throughput Computing
  • Using software modules and tutorial
  • Examples of running R and Python scripts

Distributed Computing on Open Science Grid

(Day 3, Morning)

  • HTCondor job script condor_submit, condor_q , condor_rm
  • Scaling up the resources: Example Unix and Python scripts
  • stash - the data storage solution
  • Scientfic workflows - DAGMAN