University College London

26 Bedford Way, London, WC1H 0DS
November 6-7, 2013
10:00 am - 4:30 pm

Instructors: Ben Waugh

What: Our goal is to help scientists and engineers become more productive by teaching them basic computing skills like program design, version control, testing, and task automation. In this two-day boot camp, short tutorials will alternate with hands-on practical exercises. Participants will be encouraged both to help one another, and to apply what they have learned to their own research problems during and between sessions. Attendants are offered online office hours: regular events to get one-on-one help from Software Carpentry instructors, online.

Who: The course is aimed at postgraduate students and other scientists who are familiar with basic programming concepts (like loops, conditionals, arrays, and functions) but need help to translate this knowledge into practical tools to help them work more productively.

Requirements: We will assume for this workshop that you are using a Linux PC: either a laptop or a remote machine that you can connect to using SSH. Ideally you will use your own laptop or connect to a system at your home institution: that way you will be able to continue using the same environment after the course. Please check the full list of requirements before Wednesday to ensure the software you will need is available on your system.

Content: The syllabus for this boot camp will include:

Contact: Please mail b.waugh@ucl.ac.uk for more information.


Setup

The Bash Shell

Bash is a commonly-used shell. Using a shell gives you more power to do more tasks more quickly with your computer.

Editor

When you're writing code, it's nice to have a text editor that is optimized for writing code, with features like automatic color-coding of key words.

Git

Git is a state-of-the-art version control system. It lets you track who made changes to what when and has options for easily updating a shared or public version of your code on github.com.

Python

Python is becoming more and more popular in scientific computing, and it's a great language for teaching general programming concepts due to its easy-to-read syntax. We will be using Python version 2.7. Installing all the scientific packages for Python individually can be a bit difficult, so we recommend using an all-in-one installer.


Topics


Reference Guides