Instructors: Stefano Cozzini, Sam Thomson
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. (The list will be sent to participants a week before the bootcamp.)
Content: The syllabus for this bootcamp will include:
Contact: Please mail admin@software-carpentry.org for more information.
Bash is a commonly-used shell. Using a shell gives you more power to do more tasks more quickly with your computer.
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.
We recommend
Sublime Text 2,
which is available as a free trial on Mac OS X, Linux
(and Windows).
For editing within the terminal,
nano
is easy to get started with than most. (You probably already
have nano installed; open a terminal, type nano
and hit enter. Hold ctrl+x to quit.)
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.
Nose is a unit testing framework for Python. Unit tests are automated pieces of code which check the smallest unit of functionality, e.g. a function or method, against known inputs and their results.
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.
Make is a utility which creates libraries and executable programs from source code by reading makefiles. These specify how to build, or make, the target program.
The default shell in all versions of Mac OS X is bash,
so no need to install anything. You access bash from
the Terminal (found
in /Applications/Utilities
). You may want
to keep Terminal in your dock for this workshop.
Installing Git requires you to first install XCode. This is a very large download (several gigabytes), so please do it before arriving at the bootcamp.
You can install the Xcode command line tools directly from a
terminal window. Simply run xcode-select --install
and select install from the popup. This will also install
make (along with a bunch of other stuff).
Go to the Xcode website. Get XCode from the App Store making certain to install the command line tools (from the Download pane in Xcode's preferences). Git is included in the command line tools, along with make.
You need an Apple ID
linked to a Developer account. Then,
first get XCode by going to
the Apple developer site.
Sign in with an Apple ID linked to a Developer account.
Once you log in,
go to page 9 and find "XCode 3.2.6 and iOS SDK 4.3 for Snow Leopard".
Click to open that section,
and then download the .dmg
file. Mount it,
run the installer and make sure you select to install all
components. Alternatively,
install just git, but
note that Xcode command line tools are required for make.
If you do not already have access to make
from within your shell, you will need to install Xcode (which is free, but over a gigabyte to download). See the above section on installing
git for details.
We recommend the all-in-one scientific Python installer Anaconda, particularly for users of OS X 10.7+. (Installation requires using the shell and if you aren't comfortable doing the installation yourself just download the installer and we'll help you at the bootcamp.)
bash Anaconda-and then press tab. The name of the file you just downloaded should appear.
yes
and press enter to approve
the license. Press enter to approve the default
location for the files. Type yes
and
press enter to prepend Anaconda to
your PATH
(this makes the Anaconda
distribution the default Python).
If you do not wish to use the Anaconda Python distrubution, you should install:
sudo easy_install ipython[all]
)
If you are not using the above Anaconda Python distrubution, first install Python and other related packages (see above), then install pip.
Then, run:
$ pip install nose
and check:
$ nosetests ---------------------------------------------------------------------- Ran 0 tests in 0.003s OK
The default shell is usually bash
,
but if your machine is set up differently
you can run it by opening a terminal and typing bash
.
There is no need to install anything.
If Git is not already available on your machine you can try
to install it via your distro's package manager
(e.g. sudo apt-get install git
or
sudo yum install git
).
You will almost certainly already have make installed.
Open a terminal and (try to) run make
.
If you see make: command not found...
then you can install it via your distro's package manager
(e.g. sudo apt-get install make
or
sudo yum install make
).
If you are not using the above Anaconda Python distrubution, first install Python and other related packages (see right), then install pip.
Then, run:
$ pip install nose
and check:
$ nosetests ---------------------------------------------------------------------- Ran 0 tests in 0.003s OK
We recommend the all-in-one scientific Python installer Anaconda. (Installation requires using the shell and if you aren't comfortable doing the installation yourself just download the installer and we'll help you at the boot camp.) This will include all Python-related software you need for the bootcamp.
bash Anaconda-and then press tab. The name of the file you just downloaded should appear.
yes
and press enter to approve
the license. Press enter to approve the default
location for the files. Type yes
and
press enter to prepend Anaconda to
your PATH
(this makes the Anaconda
distribution the default Python).
If you do not wish to use the Anaconda Python distrubution, you should install:
sudo apt-get install python2.7 python-numpy
python-matplotlib
And:sudo apt-get install ipython-notebook
sudo yum install python numpy python-matplotlib
sudo yum install python-ipython-notebook
sudo pip install ipython[all] --upgrade