See here for primary course announcement and registration.

This course is designed for users who have experience with writing R scripts, and who now want to advance one step further, into producing more durable and robust software projects and code that is usable by others.

The first part of the course will introduce object-oriented programming using R's S3 and S4 system and describe how to define classes, generic functions and methods. It will also present how to create Bioconductor-compliant R packages and document them. The second part will focus on various advanced topics in R programming such as unit testing, debugging, profiling and calling C/C++ code. It will also describe how to write efficient and elegant code using vectorisation, parallelization, and the functional programming paradigm. Finally, creating web applications with shiny will be discussed.

These topics will be illustrated using a small real-life bioinformatic case study. Participants will produce, at the end of the course, a fully fledged Bioconductor compliant R package.

Pre-requisites: Good knowledge of R and active programming experience. Familiarity with object-oriented programming and LaTeX is helpful, but not essential.

The course will take place on Thursday and Friday 15-16. January 2015 at EMBL Heidelberg, Courtyard A+B room (travel information).

See here for primary course announcement and registration.