__equs__.Python workshop

Python programming for quantum scientists

Registration is now closed.

This will be a hands-on workshop. We provide computers for every attendee and all the presentations will be held in tutorial style so that people can code along.

We have designed the workshop to be modular in order to accommodate a variety of attendees with a variety of needs.

  • Part 1 is focussed on the needs of beginners to Python and to programming in general. More experienced attendees may wish to skip earlier sessions and join us when we get to new material for you.
  • Part 2 is focussed on the process of developing readable and usable software packages to be used in collaborative projects. Newbies to programming need not fear! You will be well-prepared by the end of Part 1.
  • Part 3 is focussed on introducing you to the existing community of research-grade software being developed in Python. We hope their efforts will inspire you to start your own project that you can share with the world!

A tentative outline of these modules is below.

Download the event flyer here

Part 1: The Python language

Here we introduce you to the basic usage of the Python language. We start with basic syntax, including types, control flow, and functions. We then introduce object-oriented programming, a common paradigm in code development. With these concepts under our belt, we are ready to introduce the core package for numerical programming in Python: NumPy. We conclude with an introduction to two other important packages for scientific use: matplotlib for plotting and SciPy for advanced numerical functionality.

Part 2: Building packages

Once we can assume some knowledge of Python programming, we will teach you how to properly package your Python code. For this, we will collaboratively build a Python package. You will learn how to document your code, spread it over multiple files, and how to write automated unit tests. To keep track of revision history, we will create a repository on GitHub. We will show you how to use git and GitHub to develop and maintain code projects, especially when there are multiple contributors.

Part 3: Community projects

In the last part of the workshop, we invite presentations from contributors to popular quantum toolkits written in Python. We have tentative commitments from key contributors to OpenFermion, pyGSTi, pyQuil, QCoDeS, QInfer, Qiskit, and Qudi. Our speakers will give you an overview of what these different packages are for and how to use them in your research. Keep in mind that these are actively developed packages by professional scientists in both academia and industry! Your contributions would be most welcome to all of them.

Essential information: 

Registration cost

This workshop is open to everyone. Attendance is free for EQUS members and costs $100 for everyone else. If you are not a member of EQUS, the organisers will contact you to arrange for your payment and confirm your registration.

Please note: There is a cancellation fee of $100 for all registrations (EQUS and non-EQUS). If you need to cancel, please contact the organisers at python@equs.org to discuss.

Travel support

Limited travel support is available for students. Please get in touch via python@equs.org for more information.

Major funding support

Australian Research Council

The Australian Research Council Centre of Excellence for Engineered Quantum Systems (EQUS) acknowledges the Traditional Owners of Country throughout Australia and their continuing connection to lands, waters and communities. We pay our respects to Aboriginal and Torres Strait Islander cultures and to Elders past and present.