Advanced Python Software Development
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.