Workshop Syllabus
The Unix Shell
- 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
- 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
- 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...
Grid Computing
- 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
- Properties of Distributed High-Throughput Computing
- Scheduling Computing Jobs via HTCondor
- Properties of Distributed High-Throughput Computing
- Using software modules and
tutorial
- Examples of running R and Python scripts
- HTCondor job scripts -
condor_submit, condor_q , condor_rm
- Scaling up the resources: Example Unix and Python scripts
-
stash - the data storage solution
- Scientfic workflows -
DAGMan , Pegasus , Galaxy