This course provides an elementary hands-on introduction to programming with applications in science. The language of choice is Python as one of the most popular programming languages (both in and outside of academia), though many concepts also translate to other programming languages. The main topics include the general concepts of programming (variables, expressions, types, control structures, I/O) and usage of a few scientific toolboxes, such as numpy, pandas, and matplotlib for data processing and visualization. More advanced optional exercises will be posed in the scientific context, such as data analysis, data visualization or stochastic simulations.

Target group: Students with no or minimal programming experience.

Prerequisites: None

Evaluation: Final grade (fail/pass) will be based on completion of homework exercises. Completion of at least half of every assignment is required for passing.

Teaching format: On-site/online hybrid (people can join virtually, but on-site is encouraged). Hands-on sessions with breaks when needed. The sessions will consist of brief introductions of concepts followed by in-class exercises to practice these concepts. More exercises will be expected to be completed individually at home, and submitted before the next session, which will begin with explanations and comments on the homework. Some of the homework exercises will be obligatory (because further sessions will depend on understanding them), some will be more open-ended, so that students can optimize their time with respect to the skills they deem most useful.

ECTS: 2 Year: 2021

Teacher(s):
Mario Avellaneda Christopher Currin Bor Kavcic Ilse Krätschmer Tobias Meggendorfer

Teaching assistant(s):

If you want to enroll to this course, please click: REGISTER