As usual, there will be a tutorial session held on the Sunday afternoon before the conference starts. This year, four tutorials are offered in two parallel sessions of two. Therefore you can register for two consecutive tutorials at most. The descriptions below should give an idea of what to expect in each. Note that there are a limited number of seats available for each tutorial; this number is listed in the tutorial’s description. The registration form stops registration for Tutorials that have exceeded the maximum allowed participants.

Registration is possible for one tutorial out of each parallel session

First parallel session (13:00 – 15:00):

Tutorial 1 and Tutorial 2

Second parallel session: (15:30 – 17:30)

Tutorial 3 and Tutorial 4

Tutorial 1:

Ridiculously Advanced Python

Francesco Pierfederici (fpierfed at

Room: 10 & 11a

≤100 participants

If you have been using Python for some time already and want to reach new heights in your language mastery, this training session is for you! Python has a number of features which are extremely powerful but, for some reason are not particularly well known in the community. This makes progressing in our Python knowledge quite hard after we reach an intermediate level. Fear not: this session has you covered! We will look at some advanced features of the Python language class decorators, type annotations, data classes and meta-classes. If time allows we will even delve into the abstract syntax tree (AST) itself. We will use Python 3.7 and strongly recommend that attendees install a reasonably recent version of Python 3 to make the most out of the training. The tutorial session will be in the form of live coding with participants encouraged to merrily type along. Warning: some of the topics presented will almost certainly assure an early end to an otherwise successful career in software engineering 🙂

Detailed instructions:

Participants should bring their own laptop with a recent version of Python installed. We recommend a UNIX operating system (e. g., macOS, Linux, FreeBSD) and Python 3.7 or later. It is assumed that participants consider themselves intermediate or advanced programmers.

Tutorial 2:

Machine learning

Kai Polsterer (Kai.Polsterer at

Room 11b & 12

≤100 participants

A hands on introduction to neural networks. From simple neurons to deep neural architectures. The recent popularity of deep and complex artificial neural networks lead to an intensive usage of this technology in many applications. To understand the shortcomings and problems as well as the advantages and strengths of neural networks, an overview is required. Providing an compact overview of neural networks is the aim of this tutorial.

This tutorial is an extension to the activities that happened during the last ADASS meetings, which aimed for providing an overview of different aspects of machine learning. The participant will learn how artificial neural networks function, how to optimize, how to implement, and how to use them for applications. Due to the limited time, a simple hands-on overview without deep theoretical background is only possible, but all key concepts will be provided.

This tutorial is more like a lecture with the ability to follow all topics in an interactive format. Likewise to the ”Beginners guide to machine learning” a Jupyter Notebook will be provided, to either directly during the session follow the individual steps or reproduce the whole session at home. Similar to a cookbook, the basic concepts of artificial neural networks can be learned based on examples.

The interactive Jupyter Notebook.

Detailed instructions:

The tutorial will be provided as a google colab container, able to run GPU/TPU accelerated jupyter notebook machine learning code online. Therefore a laptop with a simple webbrowser and a google account are the only things required.

Tutorial 3:

Interactively exploring and visualizing data on the sky with Jupyter and pywwt

Peter Williams (pwilliams at

Room 10 & 11a

≤ 100 participants

Sometimes, astronomers view image data with very specific goals in mind, but often, they are interested in open-ended exploration and discovery, hoping to gain new insight by comparing against multiwavelength survey data or preexisting source catalogs. Participants in this tutorial will learn how to use a powerful tool that enables this discovery from the comfort of a Jupyter notebook: pywwt, a module that allows researchers to embed the sophisticated AAS WorldWide Telescope (WWT) visualization engine in Python applications and Jupyter notebooks. The WWT engine allows scientific data to be intermingled with an interactive, 4D model of the known universe seeded with survey data from lunar surface maps to all-sky surveys across the EM spectrum. The “ds9-like” experience provided by pywwt can be controlled through code as well as manually, and the engine that it controls can be embedded anywhere that a Web browser can run since it is built on HTML, JavaScript, and WebGL. Hands-on activities will stitch the pywwt module together with other elements of the modern Python ecosystem for working with astronomical data such as astroquery. Bring your sky images or source catalogs!

Detailed instructions:

Are available thought this link

Tutorial 4:


Felix Stoehr (fstoehr at

Room 13

≤30 participants

Have you ever wondered how companies come up with the ideas for their products? This tutorial is a hands-on workshop that will give an introduction to the user-centric design method called DesignThinking. After a very brief explanation of the basics, we use the method on a small real-world design challenge and get you out of your comfort zone.

Detailed instructions:

Are available thought this link