How can I efficiently test if my code does what it should do? How can I improve the performance of my code? What are ways to improve the development of code in a collaborative environment? How can I handle my data in an easy way? Is it possible to run existing C++ code in Python? If you come across these or similar questions in your daily work as a scientist, you will very likely profit from this course.
A large part of everyday's work of many scientists today is spent on programming, debugging and maintaining software. Although there are tools and procedures to do this in an efficient way, many scientists have never experienced a thorough instruction in these techniques. Writing code is for them only an auxiliary field in their work. Therefore they spend a significant time on writing deficient code and reinventing the wheel. But ultimately scientists should do science and not spend most of their time with software engineering tasks...
This course will teach a selection of important programming techniques and incorporates theoretical lectures followed by practical exercises where the discussed techniques can be applied and tried out.

We use Python as programming language through the entire course. Python is easy to learn and popular among scientists. Over the last couple of years high-quality programming libraries tailored for scientific computing and data analysis have been developed.

News letter

If you are interested, please sign-up for the news letter. This will allow us to send you information about the acutal date and a reminder when the registration is open. Please be aware that this does not replace the registration .

Prerequisites

This course is not an introduction into programming or Python.
To benefit from the course, basic knowledge of Python is required. If you are unsure if your Python knowledge is suitable enough for this course, please have a look at this pop-up quiz.

We encourage everybody who has only limited knowledge to study the introductionary material. It is also beneficial for all other people to refresh their knowledge by working through them. In this context please be aware that the course will use the Python 3 syntax.

Contact

For any further questions please write to python@physik.uzh.ch

Lecturers