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...
High Throughput 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