University of British Columbia

Earth, Ocean and Atmospheric Sciences ESB-5108
September 26-27, 2013
9:00 - 4:00 Thu, 9:00 - 4:30 Fri

Host: Susan Allen

Instructors: Julia Gustavsen, Doug Latornell

Helpers: Caroline Chenard, Jessica Spurgin, Kang Wang

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: Participants must bring a laptop with a few specific software packages installed. Please follow the setup instructions below.

Content: Please see the Topics and Schedule section below.

Contact: Please mail sallen@eos.ubc.ca for more information.

Etherpad: etherpad.mozilla.org/7B5jDDjHHO


Setup

Here are the 4 key pieces of software we'll be using during the bootcamp:

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.

Please follow the setup instructions below (pick the appropriate operating system) to install those tools on the laptop that you will be bringing to the bootcamp.

It is very important that you successfully complete the setup before the bootcamp so that we can start on time, and you can participate fully. If you have difficulty with the setup, or don't get success results from the setup check scripts, or have any questions about the setup instructions, please contact Doug at dlatornell@eos.ubc.ca or in ESB-3053 and we'll get things sorted out.

Also, please ensure that your laptop is able to connect to the ubcsecure wireless network to give you Internet access during the bootcamp.

Finally, please take a moment to read the Software Carpentry Bootcamp Code of Conduct.


Coffee and Food

Coffee, tea, and snacks will be provided at morning and afternoon breaks during the bootcamp. Lunch will not be provided, but your are welcome to bring your lunch to eat in the lounge area outside ESB-5108. Magma at the south end of the ground floor of ESB is one option for those who wish to buy lunch.


Topics and Schedule

Thu 26-Sep-2013

09:00 - 09:20
Introduction and Overall Learning Goals - Susan, Doug & Julia
09:20 - 10:15
Intro to Shell - Julia
10:15 - 10:30
Break (catered)
10:30 - 12:00
12:00 - 13:00
Lunch
13:00 - 14:15
14:15 - 14:30
Break (catered)
14:30 - 15:45
15:45 - 16:00
Wrap-up
16:00
EOAS Department Colloquim (for those interested - ESB 5104/5106):
Mike Behrenfeld, OSU, Ecological underpinnings of plankton blooms

Fri 27-Sep-2013

09:00 - 10:30
10:30 - 10:45
Break (catered)
10:45 - 12:00
12:00 - 13:00
Lunch
13:00 - 14:30
Automation - Doug and Julia
14:30 - 14:45
Break (catered)
14:45 - 16:15
16:15 - 16:30
Wrap-up

Reference Guides