Advanced R programming course (EMBL Heidelberg)

3-4 April 2017 (Monday-Tuesday)
Venue: EMBL Heidelberg
Instructors: Laurent Gatto, Robert Stojnic (University of Cambridge)
Organiser: Wolfgang Huber (EMBL)

Computational analysis using free, cross-platform scripting languages such as R is becoming an increasingly common part of biological research. For a scientist, knowledge of advanced programming techniques can be extremely useful. Such skills are vital for writing fast, reliable, maintainable programs, and using defensive programming techniques can help to avoid the introduction of errors into code and reduce the amount of time spent finding and fixing these errors. Additionally, earning good practice in writing code can help to ensure that scripts published and/or shared with the community are robust and easy to maintain/develop.

This two-day course, delivered by experts in programming for data analysis, will teach participants advanced techniques in writing reliable, robust code in R. The material will provide the opportunity to gain experience and understanding of object-oriented programming, packaging your code for distribution, advanced approaches for data visualisation, unit testing, and debugging. Sessions will be driven by many practical exercises.

Course outline

The material will focus on:

  • Package development
  • Testing
  • Coding style & good practice
  • Object-oriented programming
  • Functional programming
  • Debugging
  • The tidyverse approach to handling data
  • Grammar of graphics approach to visualisation
  • Shiny for browser-based interactive visualisations


The course is aimed at those with experience of scripting, who want to learn more about writing robust and efficient code.


The course will take place on Monday and Tuesday 3-4 April 2017 at EMBL Heidelberg (travel information).
Participants are expected to bring their own laptop with R version >=3.3.1 installed.


The number of participants is limited to 35 and will be processed on a first-come first-serve basis.
Your place will be confirmed only after the fee has been paid in full.