-
Notifications
You must be signed in to change notification settings - Fork 183
Prerequisites
-
Get a GitHub account if you do not have one already (https://github.com/).
-
Ensure your laptop has the following capabilities
- SSH terminal
- X window forwarding for SSH (requires an Xserver, e.g. Xming for Windows users)
- Some image viewer
- Pdf reader
- ImageMagick
- meld (graphical tool to diff and merge files)
We hope that we do not have to spend time on providing support for software installations during the exercise sessions! Please have your laptop set up and tested before departing.
- Basic programming skills in Fortran or C/C++
- What is a compiler and a linker
Below is a list of topics related to version control that you should be familiar with
- What is git repository
- Local and remote repositories
- Cloning / creating repositories
- Recording snapshots with
git add
andgit commit
- Branching and merging
- Working with online repositories (GitHub)
- Pulling and pushing
If you feel uncomfortable with some of the above, here are links for fast self-study:
- Introduction to git - https://coderefinery.github.io/git-intro/
- Collaborative distributed version control - https://coderefinery.github.io/git-collaborative/
Below is a list of topics and Linux commands that you should be familiar with before the course.
-
Remote access
- Using ssh to log into a computer
- X11 window forwarding (ssh -X)
- Using scp to copy files and directories to/from a computer
-
Basic understanding of Linux shell
- Adding, deleting, copying and moving files and directories (cp, mv, rm, rmdir, mkdir)
- File and directory permissions and changing them (chmod)
- Navigating in the directory tree (ls, pwd)
- Displaying the contents of a file (cat, more, less)
- Looking up manual pages (man)
- The purpose and basic usage of the "module" command
-
Process management
- Viewing running processes (ps, top)
- Running processes in the background (Ctrl-Z, bg, fg)
- Terminating processes (kill)
-
Setting environment variables (export)
- Purpose of PATH and LD_LIBRARY_PATH environment variables
-
Editing files
- Basic usage of one of the following text editors: Emacs, vim, nano, gedit
If you feel uncomfortable with some of the above, here are links for fast self-study:
- Learn UNIX in 10 minutes - http://freeengineer.org/learnUNIXin10minutes.html
- Comprehensive tutorials on UNIX commands - http://www.ee.surrey.ac.uk/Teaching/Unix/