Teaching

Some of my current courses are described below.

The Apocalypse in Science and Culture

Apocalypse scenarios abound in popular culture, due to causes as diverse as nuclear war, climate change, and zombies. Thinking about how the apocalypse might occur, and how to survive it, presents deep questions around our understanding of science, economics and social culture. This unit will investigate topical issues in nuclear physics, climate science, agriculture and economics. We will use examples from film and literature to explore how we might survive apocalyptic events. In this highly interdisciplinary unit of study you will work together with other students on a diverse range of case studies, to explore some of the key problems confronting our civilization. By doing this unit you will develop critical thinking and analysis skills, as well as practical skills in video production.

More information (for University of Sydney students)

Data-driven Astronomy

Science is undergoing a data explosion, and astronomy is leading the way. Modern telescopes produce terabytes of data per observation, and the simulations required to model our observable Universe push supercomputers to their limits. To analyse this data scientists need to be able to think computationally to solve problems.

In this course you will investigate the challenges of working with large datasets: how to implement algorithms that work; how to use databases to manage your data; and how to learn from your data with machine learning tools. The focus is on practical skills - all the activities will be done in Python 3, a modern programming language used throughout astronomy.

Start the (free) course now on Coursera. Note that this course does assume familiarity with basic programming in Python.

OLET1622 Numbers and Numerics

Computational science underpins modern science, engineering and finance. It provides numerical solutions to problems that can’t be solved analytically, and explores problems that are not amenable to experiments. This unit focuses on the foundation of numerical computing: how numbers are represented and manipulated by computers.

Understanding the representation of integers and real numbers, and their fundamental limitations is critical for accurate numerical calculations. For example, if you add the value 0.1 a total of one million times, the exact answer is 1,000,000 x 0.1 = 100,000. However, when you do this on a computer the answer might be 100,958.3. This is a limitation of the floating-point representation of numbers in every modern computer - but most people are unaware of it!

The explosion of Ariane 5
The explosion of Ariane 5

In this Unit you will learn about number systems and binary, two’s complement representation for integers; fixed and floating-point representations for real numbers; precision and overflow, rounding and truncation errors. We will illustrate these with practical examples, and show how mistakes in computational calculations can result in catastrophes such as the explosion of the Ariane 5 rocket. All activities will be done in Python 3, a widely used modern programming language.

More information (for University of Sydney students)