Students working in EDF should in general be competent at using the following tools. Highly recommended: https://missing.csail.mit.edu/ * Linux * The bash shell, including simple scripting * An editor (vim or emacs preferred, others OK if you really know how to use them) * Files, directories, devices * find, grep, sort, head, tail... * pipelines "|" and redirection "<" and ">" (and "|&", ">&" too!) * Basic programming * An editor (above) * make * C++ * Building a project from multiple source files * Creating and maintaining a Makefile * gprof (profiler) and gdb (debugger) * Creating and maintaining function libraries