Topic outline

  • General

    Best practices in programming

    Location: Biozentrum, Basel

    Dates: 21-22 October 2014


    The course will focus on learning and internalizing the practices of unit testing, refactoring, and version control through hands-on experience. The first morning will start with an introduction into these concepts and tools used to support them. In the afternoon, we will transition to a code clinic and work together in small groups applying these practices to make improvements to code brought by participants. The second day will continue with the code clinic.

    Course objectives

    This course will help you avoiding the most common mistakes in the process of writing software in a scientific context and improve the quality of your code.

    The focus of this course is not object-oriented programming, software architecture, design patterns or algorithms. The goal of this course is to introduce skills and techniques for effectively developing software.

    Target audience

    If the answer to two or more of the following questions is “yes”, then this course is for you.
    - Do you write software to analyze data or implement in-silico models as part of your daily work?
    - Do you write scientific publications based on software you created yourself but do not know what unit testing, refactoring or version control are?
    - Are you writing code that you find hard to understand some weeks later?
    - Do you have thousands of lines of code, but no automated way of verifying that the code works correctly?
    - Do you find yourself regularly using “copy & paste” to re-use code you wrote earlier?
    - Do small changes in your code later cause trouble in other unexpected places?



    Franz-Josef Elmer, Chandrasekhar Ramakrishnan, Bernd Rinn, Rok Roskar, Uwe Schmitt, Jakub Straszewski


    Sky Lounge room, Biozentrum.


    Applications are closed.
    Please note that the participation to this workshop costs Frs 50.- to cover material and coffee breaks. Participants from non-academic institutions should contact us.

    Deadline for applications and cancellation is set to the 14 October 2014.

    Additional information

    No exam is planned.

    You are welcome to register to the SIB courses mailing-list to be informed of all future courses and workshops, as well as all important deadlines using the form here.

    For more information, please contact

  • Important note: participants must bring their own computers


    First Day
    10h - Welcome talk & start with the coffee
    10:15 General Programming Principles (Kuba)
    10:45 Unit Testing (Uwe)
    11:15 break without coffee
    11:30 Refactoring (FJE)
    12:00 Git (Rok)
    12:30 Lunch
    14:00 Code clinic
    15:30 - coffee break
    15:45 Code clinic
    18:00 free time

    Second Day
    9:00 Code Clinic
    10h30 Coffee break
    10:45 Code Clinic
    12:00 Lunch break
    13:30 Code Clinic
    15:30 Coffee break
    15:45 Code Clinic

  • Accommodation suggestions: