Skip to content

Prerequisites

Cristian-Vasile Achim edited this page Mar 14, 2024 · 2 revisions

Summer School checklist

Laptops and such

Mandatory for everyone

  • 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

Convenient to have

  • 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.

Prerequisite skills

Programming skills

  • Basic programming skills in Fortran or C/C++
  • What is a compiler and a linker

Version control with git

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 and git 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:

Linux

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: