Applied Python Programming for the Biomedical Sciences
Graduate School of Health and Medical Sciences at University of Copenhagen
This is a generic course. This means that the course is reserved for PhD students at the Graduate School of Health and Medical Sciences at UCPH.
Anyone can apply for the course, but if you are not a PhD student at the Graduate School, you will be placed on the waiting list until enrollment deadline. After the enrolment deadline, available seats will be allocated to the waiting list.
The course is free of charge for PhD students at Danish universities (except Copenhagen Business School), and for PhD students at NorDoc member faculties. All other participants must pay the course fee.
Learning objectives
A student who has met the objectives of the course will be able to:
1. Read and write small python scripts
2. Read, write and use jupyter notebooks
3. Use numpy to solve data analysis tasks
4. Use matplotlib to visualize data
Content
Many different areas of biosciences struggle with two large challenges. Firstly, the amount of data that can be generated by just one experiment in a very short time can be huge and a meaningful filtering can only be carried out by computational means. Secondly, processing of data can often at best be made with existing webservers, but even in that case output data from one webserver often needs to be converted and filtered to be suitable for input to another and given the quantities of data this is often not feasible to do by hand. Knowing basic programming is therefore an essential skill for a person working in the biosciences.
The aim of the course is to make the students able to analyze and process large biological data sets by writing and running Python programs. The course introduces data processing and filtering using the programming language Python. Thus, the main part of the course is to introduce the programming language Python itself. The course is aimed at students with no prior programming experience.
The course will cover how to learn new concepts in the Python language. The outset is specific cases from biosciences, and the student learns by analyzing and redesigning existing pre-designed code that process data for the specific cases.
In the first part of the course the students work with outset in the cases the pre-designed code will be analyzed and concepts introduced as the different code pieces are introduced through their specific applications. The cases will complement each other concepts and the technical level will be increased from case to case. Through the cases it will also be demonstrated how to design a modular chain of programs of which some can be used in multiple contexts. Some Python programs can for example be general by converting one data format to another and can therefore be reused in multiple contexts. Overall, the most common and useful features of the language will be introduced. Including:
* Printing to the screen
* Single value variables
* Multi-value variables like list, tuples and dictionaries
* If, elif, else control structure
* Loops
* Functions
* Introduction to classes
* Introduction to packages like Numpy and Matplotlib
* Working with files
* Writing results to a file
Jupyter notebooks will be introduced.
The course will also introduce how to write well-structured code. This will include splitting code into smaller functions and the usage of packages.
In the second part of the course the students will work on individual project, most preferably with data from their own Ph.d. project.
Participants
The course is aimed at people with little or no programming experience
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:
- All graduate programmes
Language
English
Form
Computer exercises, and project work
Course director
Jakob Hull Havgaard, Associate Professor, IVH, Sund, KU, jhk@sund.ku.dk
Teachers
Jakob Hull Havgaard, Associate Professor, IVH, Sund, KU, jhk@sund.ku.dk
Jakob Nybo Nissen, Assistant Professor, CMBR, Sund, KU, jakob.nissen@sund.ku.dk
Dates
University of Copenhagen’s block 2, Schedule B (mid-November to end of January)
Class exercises
The five Mondays from 17/11-2025 to 15/12-2025 between 9-12
The five Tuesdays from 20/11-2025 to 18/12-2025 between 13-16
The five Fridays from 21/11-2025 to 19/12-2025 between 9-12
Project work from the 19/12-2025 until 23/1-2026. Supervision will take place on Mondays (9-12), Tuesday (13-16), and Fridays (9-12) after prior agreement.
Projects due 23/1-2026 at 13:00.
Course location
Frederiksberg campus, Copenhagen, Room to be announced.
Registration
Please register latest 20 October 2025
Expected frequency
Once a year
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.