Login for PhD students at UCPH      Login for others
Julia for Data Analysis in Ecology and Evolution
Provider: Faculty of Health and Medical Sciences

Activity no.: 3691-21-00-00 
Enrollment deadline: 27/09/2021
Date and time18.10.2021, at: 09:00 - 29.10.2021, at: 17:00
Regular seats14
Course fee6,600.00 kr.
LecturersMichael Krabbe Borregaard
ECTS credits5.00
Contact personKirsten Wivel-Snejbjerg    E-mail address: kws@snm.ku.dk
Enrolment Handling/Course OrganiserPhD administration     E-mail address: fak-phdkursus@sund.ku.dk

Aim and content
This course is free of charge for PhD students at Danish universities (except Copenhagen Business School), and for PhD students at graduate schools in the other Nordic countries. All other participants must pay the course fee.

Anyone can apply for the course, but if you are not a PhD student at a Danish university, you will be placed on the waiting list until enrollment deadline. This also applies to PhD students from Nordic countries. After the enrollment deadline, available seats will be allocated to applicants on the waiting list.

Learning objectives
A student who has met the objectives of the course will be able to:
Knowledge: demonstrate a global understanding of the Julia package ecosystem for ecology, geography and evolution

Skills: independently build reproducible Julia projects, including functions, documentation, scripts and interfaces with other frameworks

Competences: use Julia to analyse most relevant datatypes for ecology and evolution: macroecological datasets, phylogenetic trees, genetic data, raster files and ecological networks

Competences: create production-quality visualizations and reproducible reports in Julia

Julia is a new and groundbreaking programming language for scientific computation and data analysis, with version 1.0 released in 2018. Though the syntax of Julia is similar to R or MatLab, the speed is very close to that of C or FORTRAN, the gold standard for speed in scientific programming. This does a lot more than just speed up analyses (which isn't a concern for many scientists): Importantly, it solves the "two-language problem". In R, which is used today by many ecologists, any performance-critical functionality in packages have to be implemented in a faster language such as C or Fortran. This makes library code essentially a black box for scientific users: it is written in a second language they may not know, and must be compiled to be used, preventing rapid iteration and interaction. This restricts package development to a small group of users, and greatly weakens the openness and transparency of scientific computing. Julia also solves the expression problem - removing traditional barriers between modelling projects. This facilitates new workflows an open-ended tools that foster collaboration within and between disciplines, opening new pathways in ecological and interdisciplinary research.

This course will serve as an introduction to the Julia programming language and its package ecosystem for ecological and evolutionary analysis, and the participants will perform a research project on their own data in Julia as the end of the workshop.

The course will begin with a general introduction to Julia, presenting the most popular working environments (VisualStudio Code as an Integrated Development Environment, and Pluto as an interactive notebook), as well as Julia's syntax and basic concepts. Extra focus will be given to the type system and the idea of "multiple dispatch", which is the key programming paradigm of Julia, as well as to how to produce high-quality plots. The rest of that day will be an overview and introduction to the package ecosystem for general statistics and data manipulation.

The majority of the course will be an in-depth introduction to the packages in the EcoJulia and BioJulia organisations, including SpatialEcology, GeoData, Phylo, Diversity, EcologicalNetworks, DynamicGrids/Dispersal and SimpleSDMLayers.

Workshop participants are encouraged to submit data and R scripts for analyses they've already published; which may be included in the curriculum to ensure that it is fully relevant.

The course is relevant to PhD students working with ecological or genetic analyses, which already have a good understanding of scientific data analysis. It is assumed that students are already proficient users of R, and the level of the course builds on that, though users of Python or Matlab should have no problem following the course. No previous knowledge of Julia is assumed – we will start by installing the software onto our computers.

Relevance to graduate programmes
The course is relevant to PhD students from the following graduate programmes at the Graduate School of Health and Medical Sciences, UCPH:

Life, Earth and the Environment
Biostatistics and Bioinformatics

The course is organized by the graduate programme for Life, Earth and the Environment


The first week on-site will consist of a group teaching blending lectures, live coding demonstrations and practical coding exercises. The second week consists of individual coding projects with supervision.

Course director
Michael Krabbe Borregaard, Associate Professor, GLOBE Institute, mkborregaard@sund.ku.dk

Michael Krabbe Borregaard, Associate Professor, GLOBE Institute
Rafael Schouten, PhD candidate, GLOBE Institute
Jakob Nissen, postdoctoral researcher, Statens Serum Institut
Timothée Poisot, Associate Professor, Université de Montreal

On-site 18 - 22 October 2021
Online project 25 - 29 October 2021

Course location
GLOBE Institute, University of Copenhagen

Please register before 18 August 2021

Seats to PhD students from other Danish universities will be allocated on a first-come, first-served basis and according to the applicable rules.

Applications from other participants will be considered after the last day of enrolment.

Note: All applicants are asked to submit invoice details in case of no-show, late cancellation or obligation to pay the course fee (typically non-PhD students). If you are a PhD student, your participation in the course must be in agreement with your principal supervisor.

Click the search button to search Courses.

Course calendar
See which courses you can attend and when

New courses
Courses are published regularly. High demand courses are announced in spring and autumn.

Learn which courses are announced on fixed dates