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 or 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.

The course will offer two tracks:
(1) Interactive lecture based: Aimed at students with no prior programming knowledge.
(2) Module based: Aimed at students with some non-Python programming knowledge who specifically want to learn Python.

The Module based part of the course will focus on practicing the Python syntax of basic programming concepts, as well as some python-specific peculiarities.

This course can be used as a preparation for the more advanced Python course given in the Fall term.

Target group: (1) Students with no prior programming experiences
(2) Students with some programming knowledge but no experience in Python.

Prerequisites: none

Evaluation: Final grade (fail/pass) will based on completion of homework exercises.

Teaching format: 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.

People interested in the module part of the course will be able to choose from the offered worksheets covering specific topics and will receive feedback.

ECTS: 2 Year: 2020

Teacher(s):
Alan Arroyo Guevara Zuzana Dunajova Anna Lukina

Teaching assistant(s):
Ryan John Cubero Ondrej Draganov Chris Fillmore Krzysztof Mysliwy Anton Piankov Sreyam Sengupta

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