Intermediate Julia for Scientific Computing
2019-07-22, 08:30–12:00, PH 211N

This is a workshop aimed at people who already know basic Julia usage and wish to explore some more advanced topics that make Julia special, namely defining and using types, and metaprogramming.

In this workshop, we will explore two of the more advanced topics that make Julia special: types and metaprogramming.

We will start off by looking at different uses of types as a glue in a scientific programming application: implementing a new arithmetic (automatic differentiation) and dispatch-based design.

In the second half, we will look at metaprogramming: how to get inside a Julia expression tree and apply that to write macros and "domain-specific languages".

This workshop is suitable for people who are comfortable with basic usage of Julia and wish to explore the language in more depth.