PhD Courses in Denmark

Introduction to programming in R for biologists

PhD School at the Faculty of SCIENCE at University of Copenhagen

Enrolment guidelines

This is a specialised course where 50% of the seats are reserved for PhD students enrolled at the Faculty of SCIENCE at UCPH and 50% of the seats are reserved for PhD students at other faculties and universities. Seats will be allocated on a first-come, first-served basis and according to the applicable rules.

Anyone can apply for the course, but if you are not a PhD student, you will be placed on the waiting list until enrollment deadline. After the enrollment deadline, available seats will be allocated to applicants on the waiting list.


Aim and Content
The purpose of the course is to provide an introduction to programming in R for PhD students in biology (particularly the fields of ecology and evolution).

Programming (such as coding in R) is by now an essential tool in biological research, including in PhD projects. However, biology degrees often do not include an actual introduction to programming, and available courses from other degrees are often targeted at students with a high-level mathematical background, making them unsuitable for biology students.

This course is developed specifically for PhD students in biology. The philosophy behind the course is that instead of just learning to run pieces of code (e.g. statistical tests), the participants will get an understanding of the fundamentals of programming, which will give them a strong base for using programming flexibly and correctly for their own scientific purposes.

The course will consist of a mix of lectures that will introduce main programming concepts and procedures, and exercises that will give the students hands-on experience in programming. Throughout the course, the concepts and exercises will be related to biologically relevant examples.

The course will furthermore include talks by an international researcher, who will describe their own research and show examples of how they used programming in their projects and relate this to the programming concepts introduced in the course. This will provide the students with real-life examples of how programming is used in biological research.

The students will also get the opportunity to work on code for their own projects with support from the course teachers.


Learning outcomes
Intended learning outcome for the students who complete the course:

Knowledge:
• Key programming concepts, including variables, types, data structures, functions, loops, control statements, and debugging
• Programming procedures, including script development, script structuring, and good coding practices.
• The R programming language and the Rstudio environment
• How programming is used in biological research

Skills:
• Creating variables and manipulating them via subsetting and substitution
• Constructing and using functions
• Constructing and using loops and control statements
• Error correction and debugging
• Efficient script development, including using pseudocode, commenting, and structuring by functions.

Competences:
• Creating and using well-structured scripts, from planning to coding and execution
• Using programming to store and manipulate biological data


Target Group
The course is aimed at PhD students from the fields of ecology and evolution, and particularly behavioural ecology.
PhD students from other areas can also benefit from the course.
The programming skills that are learned in the course are general and thus relevant to any field where programming is used.


Recommended Academic Qualifications
The participants are expected to be enrolled in a PhD program. While PhD students will be prioritized, master students and postdocs will also be considered.
The course is introductory and no prior programming skills or familiarity with R is required.
Students that have used R before can still benefit from the course if they have not formally learned programming.


Research Area
The general programming skills that are the focus of this course are relevant for any research area where programming is used. The course is mainly aimed at the fields of ecology and evolution (and particularly behavioural ecology), but is also relevant for other research areas.


Teaching and Learning Methods
Lectures: The lectures will introduce key concepts of programming. This will provide the participants with knowledge about main aspects of programming, which they will get experience with during the subsequent exercises.
Exercises: The exercises will relate directly to the programming concepts introduced in the lectures and will give the students hands-on experience in programming. The exercises will be of different types to suit different learning styles.
Research lectures: An international guest lecturer will describe their own research and show examples of how they used programming in their projects and relate this to the programming concepts introduced in the course. This will provide the students with real-life examples of how programming is used in research.
Project support: The students will get the opportunity to work on code for their own projects with support from the course teachers (this will constitute a limited part of the course).


Type of Assessment
Active participation in the course and physical presence over at least 6 of the 7 days.


Course coordinator
Course coordinator: Associate Professor Elodie Mandel-Briefer

Collaborating partner and lecturer: Assistant Professor Josefine Bohr Brask, affiliated with the section of the course coordinator (Section for Ecology and Evolution, BIO, SCIENCE, KU), and assistant professor at SODAS (Copenhagen Center for Social Data Science, SAMF, KU).


Guest Lecturers
Erin Siracusa is a postdoctoral researcher at the University of Exeter, in the Centre for Research in Animal Behaviour, one of the most important hubs for behavioural ecology worldwide. Erin does innovative research at the forefront of animal social behaviour. Using long-term datasets from squirrels, monkeys and sheep, she investigates how the aging of individuals in populations of wild animals affect their social behaviour and social environment. In her research she uses programming for a range of purposes, including data management, statistical analysis, and agent-based modelling. She will contribute to the course by presenting her research and providing examples of how she has used programming in her projects. She will also assist in other parts of the course including guiding students through exercises and providing support for independent projects.


Dates
2.6-10.6.2026 (7 days in total, excluding the weekend)


Expected frequency
Once every two years.


Course location
Nørre campus






Course fee
• Participant fee: 0 DKK
• PhD student enrolled at SCIENCE: 0 DKK
• PhD student from Danish PhD school Open market: 0 DKK
• PhD student from Danish PhD school not Open market: 4200 DKK
• PhD student from foreign university: 4200 DKK
• Master's student from Danish university: 0 DKK
• Master's student from foreign university: 4200 DKK
• Non-PhD student employed at a university (e.g., postdocs): 4200 DKK
• Non-PhD student not employed at a university (e.g., from a private company): 11.760 DKK


Cancellation policy
• Cancellations made up to two weeks before the course starts are free of charge.
• Cancellations made less than two weeks before the course starts will be charged a fee of DKK 3.000
• Participants with less than 80% attendance cannot pass the course and will be charged a fee of DKK 5.000
• No-show will result in a fee of DKK 5.000
• Participants who fail to hand in any mandatory exams or assignments cannot pass the course and will be charged a fee of DKK 5.000


Course fee and participant fee
PhD courses offered at the Faculty of SCIENCE have course fees corresponding to different participant types.
In addition to the course fee, there might also be a participant fee.
If the course has a participant fee, this will apply to all participants regardless of participant
type - and in addition to the course fee.