Feb 2–3, 2017
9:00 – 16:00
Instructors: Fredrik Hovind Juell, Ahmed Abdi Mohammed, Hugo Huurdeman, Dan Michael O. Heggø, Kyrre Traavik Låberg
Software Carpentry aims to help researchers get their work done in less time and with less pain by teaching them basic research computing skills. Participants will be encouraged to help one another and to apply what they have learned to their own research problems.
For more information on what we teach and why, please see our paper "Best Practices for Scientific Computing".
Who: The course is aimed at graduate students and other researchers. You don't need to have any previous knowledge of the tools that will be presented at the workshop.
Requirements: Participants must bring a laptop with a Mac, Linux, or Windows operating system (not a tablet, Chromebook, etc.) that they have administrative privileges on. They should have a few specific software packages installed (listed below). They are also required to abide by Software Carpentry's Code of Conduct.
Accessibility: We are committed to making this workshop accessible to everybody. The workshop organisers have checked that:
|09:00||Welcome and short intro to Library Carpentry|
|09:30||Data Intro for Librarians|
|13:00||OpenRefine for Librarians|
|09:00||Shell Lessons for Libraries|
|13:00||SQL for Libraries|
We will use this Etherpad for chatting, taking notes, and sharing URLs and bits of code.
To participate in a Software Carpentry workshop, you will need access to the software described below. In addition, you will need an up-to-date web browser.
We maintain a list of common issues that occur during installation as a reference for instructors that may be useful on the Configuration Problems and Solutions wiki page.
OpenRefine is a tool for cleaning up and transforming data.
Java Runtime Environment (JRE) is required to run OpenRefine. If using a UiO computer, please install JRE (64 bit) from Software Center. Otherwise, please install JRE from Oracle at this site. Check "Accept License Agreement", then download the "Windows x64 Offline" file from the list (jre-8u121-windows-x64.exe)
Install OpenRefine 2.6-rc2 Release Candidate 2 Windows Kit by downloading this .zip file from OpenRefine and extracting it. Once extracted, you might want to move the folder to your "Program files" folder for consistency, but you can also leave it where it is. Apart from that there is no installation. Check that you can start OpenRefine by opening "openrefine.exe". If not working, you can try "refine.bat" instead.
Note: OpenRefine recommends using Chrome or Firefox over Internet Explorer. We therefore recommend having Chrome or Firefox installed.
(Open Refine requires Java Runtime Environment (JRE), but the Mac Kit includes this, so a separate installation should not be necessary.)
Java Runtime Environment (JRE) is required to run OpenRefine. In most
cases, it's best to use your package manager to install this. E.g.
sudo apt-get install default-jre on recent Ubuntu distributions,
yum install java-1.8.0-openjdk on recent CentOS distributions.
Bash is a commonly-used shell that gives you the power to do simple tasks more quickly.
cmdand press [Enter])
setx HOME "%USERPROFILE%"
SUCCESS: Specified value was saved.
exitthen pressing [Enter]
This will provide you with both Git and Bash in the Git Bash 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
See the Git installation video tutorial
for an example on how to open the Terminal.
You may want to keep
Terminal in your dock for this workshop.
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
SQL is a specialized programming language used with databases. We use a variant called SQLite in our lessons.
Download and run the Software Carpentry Windows Installer to install SQLite for Windows.
SQLite comes pre-installed on Mac OS X.
SQLite comes pre-installed on Linux.
(If you installed Anaconda, it also has a copy of SQLite
without support to
Instructors will provide a workaround for it if needed.)
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.
In this particular workshop we won't be using a text editor in any of the sessions. A good text editor is still an important tool in the toolbox of any software carpenter, so there's no reason not to install one.