Speakers
Description
Python has been widely adopted in academia, science and beyond. As the language is easy to pick up, many people use it for scripting, configuration, and prototyping. At the same time, its flexibility, breadth of application and huge ecosystem make it a powerful tool even for large projects.
This course focuses on software development with Python beyond simple scripting and prototyping. Topics range from best practices for programming small and large projects, to organising and packaging frameworks as well as developing high performance applications. Each topic is presented as a mixture of general lectures and hands-on exercises.
The course targets intermediate Python developers who are familiar with the language itself. You should feel comfortable writing small scripts and applications, using functions, classes and existing libraries. We highly recommend to use your own laptop (Linux, MacOS, Cygwin) for the exercises.
The course is co-organised with the Collaborative Software course, and participants will benefit from taking both courses. In addition, we recommend to participate in the "Introduction to Jupyter Notebooks (Python)" course in case you would like to revive your basic knowledge of the language.