Fundamentals of Programming for Digital Health Winter Term 2022/2023

Introduce basic concepts of programming in R and Python for Digital Health

Self-paced since March 31, 2023
Language: English
Beginner, Digital Health, Programming

Course information

Course topics include data structures, program control statements (conditional execution, loops, etc.), data input/output, analysis and visualization for R (9 weeks, 2022-10-17 to 2022-12-16) and Python (6 weeks, 2023-01-02 to 2023-02-10).

The course is set up to technically require no previous programming skills. However, if you have little coding experience, you'll have to spend more time on this course than expected by the credit points. If you speak German, feel free to get a headstart with this online course that will be repeated and extended upon in the course.

The lectures on mondays are presented in online videos and accompanied by interactive programming exercises through CodeOcean. They can be watched / solved at your own time and pace.
The tutorial sessions take place on Thursdays (09:15-10:45) in G2.U.10-14 (Campus III, Digital Health Center, basement floor).

The tutorials are designed for:
- answers to your questions and those posed by others
- in the tutorial exercise (through CodeOcean like the lesson exercises), directly interact with me and peers
- I point out things in your code that are technically correct but may be optimizable or even bad habits

If you occasionally can not be present, join the tutorial stream on zoom.

Grading is based 50/50 on midterm (R) and final (Python) exams in CodeOcean exercises.

Course contents

  • R1: intro:

    welcome, showcase, configuration (R & Rstudio), interactive exercises
  • R2: basics:

    syntax, help, vectors, statistics, functions
  • R3: data types:

    logicals, charstrings, categories, packages
  • R4: objects:

    data.frame, matrix, list, array
  • R5: real data:

    read, merge, missing values, sources
  • R6: graphics:

    scatterplots, line plots, barplots, low level commands
  • R7: real plots + conditions:

    composition, histograms, boxplots, exporting, outlook + conditionals
  • R8: flow control:

    debugging functions, loops
  • Midterm Exam:

    Thu Dec 15, in the tutorial time slot 9:15 - 10:45 (CET)
  • P1: intro & functions:

    Python intro, syntax, data types, character strings, writing functions
  • P2: collections & conditions:

    Collections (overview), lists, sets, tuples, dictionaries, conditional code execution
  • P3: loops:

    loops, list comprehension
  • P4: errors & classes:

    managing errors, writing classes
  • P5: numpy & pandas:

    numpy, pandas, missing values, applications
  • Final Exam:

    Python only, Thu Feb 09

Enroll me for this course

The course is free. Just register for an account on openHPI and take the course!
Enroll me now


Course End
Mar 31, 2023
Course Start
Oct 17, 2022

This course is offered by

Berry Boessenkool

Berry Boessenkool has been teaching R courses in various formats since 2012. He is a freelance R trainer and consultant and works part-time as a lecturer at HPI. His passion for programming was sparked in his studies of geoecology and the analysis of environmental data is still close to his heart.

Prof. Dr. Bert Arnrich

Prof. Dr.-Ing. Bert Arnrich is Professor for Digital Health – Connected Healthcare at the Digital Health Center of the Hasso Plattner Institute.    His research on ubiquitous sensing and computing technologies is directed towards paving the way for transforming healthcare systems from purely managing illness to maintaining wellness everywhere, anytime and for anyone.  He has been a PI in several European and national projects.  He has co-authored over 120 refereed research publications.    He studied "Informatics in the Natural Sciences" and received the PhD degree Dr.-Ing. for the thesis "Data Mart Based Research in Heart Surgery" from Bielefeld University in 2006. He established and headed the research group Pervasive Healthcare in the Wearable Computing Laboratory at ETH Zurich between 2006 and 2013.  He received an EU FP7 Marie Curie Cofound Fellowship in 2013 and was appointed to tenure track professorship at the Computer Engineering Department at Bosporus University until 2017.  Between 2017 and 2018 he worked as a Science Manager for Emerging Technologies at Accenture Technology Solutions.