Software Carpentry Workshop

Two-day course offers beginners an introduction to The Unix Shell, version control with Git and programming with Python.

2017.07.14 | COBE Lab

Date Mon 09 Oct Tue 10 Oct
Time 09:00    16:00
Location Fuglesangs Allé 4, Room U216, Building 2636
Registration has closed


The workshop is fully booked. To sign up for the waiting list please contact 

Detailed programme can be found here

Software Carpentry is a hands-on, two-day event that covers the core skills needed to be productive in a small research team. This particular workshop consists of three lessons: The Unix Shell, Version Control with Git, and Programming with Python.

Software Carpentry focuses on teaching scientists to be more efficient by developing computer skills. It teaches researchers how to build, develop and share software. These skills provide a strong foundation to support designing experiments, coding basic experiments, collaborating with others on projects and coding effectively for data analysis.

The Unix Shell

The Unix Shell has been around longer than most of its users have been alive. It has survived so long because it’s a power tool that allows people to do complex things with just a few keystrokes. More importantly, it helps them combine existing programs in new ways and automate repetitive tasks so they aren’t typing the same things over and over again. Use of the shell is fundamental to using a wide range of other powerful tools and computing resources (including “high-performance computing” super-computers). These lessons will start you on a path towards using these resources effectively.

Version control with Git

Version control is the lab notebook of the digital world: it’s what professionals use to keep track of what they’ve done and to collaborate with other people. Every large software development project relies on it, and most programmers use it for their small jobs as well. And it isn’t just for software: books, papers, small data sets, and anything that changes over time or needs to be shared can and should be stored in a version control system.

Programming with Python

The best way to learn how to program is to do something useful, so this introduction to Python is built around a common scientific task: data analysis. Our real goal isn’t to teach you Python, but to teach you the basic concepts that all programming depends on. We use Python in our lessons because:

  1. we have to use something for examples;
  2. it’s free, well-documented, and runs almost everywhere;
  3. it has a large (and growing) user base among scientists; and
  4. experience shows that it’s easier for novices to pick up than most other languages

But the two most important things are to use whatever language your colleagues are using, so that you can share your work with them easily, and to use that language well.

Where and when? 

The workshop will take place 09–10 October, in the IMC Meeting Room. Contact details of IMC, including a map, can be found here.


Short tutorials alternate with practical exercises, and all instruction is done via live coding.


Host: Caitlin A. Stern; Instructors: Dan Mønster, Kristoffer L. Nielbo and Kristian Tylén.


Run through Code of Conduct, Setup instructions and Episodes under each lesson link.


15h class and 10h preparation

Installation support on 9 October at 08:00.


Register for the workshop here



Tags: Software Carpentry, Python, Git, Unix, IMC