University of California - Berkeley

Kinzie and Tamalpais Rooms, David Brower Center, 2150 Alliston Way, Berkeley CA
Mar 17-18, 2014
9:00 am - 5:00 pm

Please register for the waiting list on Eventbrite. For questions, contact Dav Clark.

Instructors: Justin Kitzes, Matt Davis, Chang She, Cindee Madison, Chris Holdgraf, Thomas Kluyver, Dav Clark, Anna Schneider

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 bootcamp, 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. (See below).

Content: The syllabus for this bootcamp will include:

Contact: Please mail davclark@berkeley.edu for more information.

Where: At the start of the first day of the bootcamp, please come to the Tamalpais Room on the second floor of the David Brower Center.


Schedule - Tamalpais Room

Day 1
8:30 - 9:00 Installation help (optional)
9:00 - 9:30 Introduction
9:30 - 10:45 The Shell
10:45 - 11:00 Break
11:00 - 12:00 Scientific Programming I
12:00 - 1:00 Lunch
1:00 - 1:30 Presentation from BIDS
1:30 - 3:00 Scientific Programming II
3:00 - 3:15 Break
3:15-4:45 Data and Figures
4:45 - 5:00 Wrap up
Day 2
9:00 - 10:45 Version Control I
10:45 - 11:00 Break
11:00 - 12:00 Version Control II
12:00 - 1:00 Lunch
1:00 - 1:30 Presentation from GitHub
1:30 - 3:15 Testing and modules
3:15 - 3:30 Break
3:30 - 4:30 Reproducible Workflow
4:30 - 5:00 Discussion and Wrap Up

Schedule - Kinzie Room

Sessions marked with ** symbols below will be held in the Tamalpais Room.

 

Day 1
8:30 - 9:00 **Installation help (optional)**
9:00 - 9:30 **Introduction**
9:30 - 10:45 The Shell
10:45 - 11:00 Break
11:00 - 12:00 Scientific Programming I
12:00 - 1:00 Lunch
1:00 - 1:30 **Presentation from BIDS**
1:30 - 3:00 Scientific Programming II
3:00 - 3:15 Break
3:15-4:45 Data and Figures
4:45 - 5:00 Wrap up
Day 2
9:00 - 10:45 Version Control I
10:45 - 11:00 Break
11:00 - 12:00 Version Control II
12:00 - 1:00 Lunch
1:00 - 1:30 **Presentation from GitHub**
1:30 - 3:15 Testing and modules
3:15 - 3:30 Break
3:30 - 4:30 Reproducible Workflow
4:30 - 5:00 Discussion and Wrap Up

Setup

To ensure that your laptop is ready for the bootcamp, please follow the installation instructions below.

If you are on a Windows machine, we encourage you to download and install the Virtual Machine, following the instructions below, even if you also install the other individual programs listed here. Unfortunately, very few of your instructors use Windows for their research work, and we cannot guarantee that we'll be able to debug or fix problems on Windows machines during the bootcamp.

If you have any trouble with the installation instructions below, please come to the bootcamp 30 minutes early, at 8:30 am on the first day, so that we can troubleshoot your issues.

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.

Mac

The default shell in Mac OS X is bash.

Windows

Install Git Bash. You can accept all of the default options as recommended by the installer. (Note that this link purposefully points to the older version 1.8.4.)

Linux

The default shell is usually bash but if not you can get to bash by opening a terminal and typing bash.

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.

Mac

We recommend Text Wrangler, Sublime Text, or Text Mate 2.

Windows

Notepad++ is a popular free code editor for Windows.

Linux

Kate and gedit are options for Linux users.

Virtual Machine

Installation issues can and do happen. To ensure that you can continue to participate in a lesson even if one of your software programs fails, we provide a Linux virtual machine that contains most of the necessary software pre-installed.

Please download and install Virtual Box for your OS from here as well as the SWC VM file from here. Load the VM into VirtualBox by doing Import Appliance and loading the .ova file. You can leave all of the options at their default values.

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.

In addition to the below, you should also head over to github.com and create a free account before the bootcamp.

Mac
Download and install the most recent version from here
Windows

Install Git Bash. You can accept all of the default options as recommended by the installer.

Linux

If git is not already available on your machine you can try to install it via your distro's package manager (e.g. apt-get git).

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.

On all platforms, you can easily install Python 2.7 and all of the necessary scientific packages by installing the free Anaconda Scientific Python Distribution. You can accept all of the defaults for installation except make sure to check the option to "Make Anaconda the default Python".

Windows

Windows users will need to complete one last step. After installing both Python and Git Bash, download this file, making sure that it has a .py extension on the end when you save it. Next, open Git Bash and type each of these three commands, hitting Return after each one: cd, cd Desktop, python swc-windows-installer.py. You'll see a blinking underscore for a bit, and then eventually you'll once again see a $ symbol with the blinking underscore after it. You can close Git Bash at this point.

Testing your setup

To test that your system is configured properly, complete the following four steps. If any of these do not succeed, or if you run into any other trouble, come to the installation help session at 8:30 am on the first day of the bootcamp.


Reference


Instructors

Justin Kitzes
Justin Kitzes is a postdoc in the Energy and Resources Group at the University of California, Berkeley. His research centers on the intersection of quantitative ecology and conservation biology, with a focus on developing general methods to predict spatial patterns of biodiversity in human-altered landscapes.
Matt Davis
Matt Davis is a software developer at the Space Telescope Science Institute where he works on Python and C projects that support Hubble science. He also spends a bit of time spreading Python around the office. He previously worked at NASA's Goddard Space Flight Center where he wrote Python software to support atmospheric science research.
Dav Clark
Dav Clark is Learning & Data Scientist at the UC Berkeley D-Lab, where he develops and supports software tools for collaborative and open science. He is also Chief Scientist at Oroeco. His research applies behavior change thinking to the challenges of climate change and holistic wellness.