in an open, collaborative way

This is an index of publicly available teaching materials (primarily IPython notebooks) that I have authored or co-authored. All of them are released under CC-BY licenses (Creative Commons attribution), so you are free – and invited! – to use or adapt them so long as you acknowledge the source. If you do use them, I hope you’ll drop me a note by email. I also welcome pull requests with corrections or improvements.

Finite difference methods (AMCS 252)

For 5 years, I have developed Sage worksheets and IPython notebooks for a course on numerical methods at KAUST (AMCS 252). Some of the notebooks are fairly polished while others are quite basic.

I’m in the process of revising several of these for inclusion in an upcoming course (Fall 2014). Stay tuned!

Short course: HyperPython

This is a 1-day course (designed to take about 7 hours) introducing the basics of hyperbolic PDE theory and numerical discretization, and leading up to the PyClaw package for solving advanced hyperbolic systems. Traffic flow and fluid dynamics are used as the primary examples.

Short course: Teaching Numerics with Notebooks

These notebooks were prepared by myself and Aron Ahmadia for a tutorial we gave at SciPy 2014. They’re aimed at university professors and others who wish to teach numerical methods with Python.

About this page

In 2011, I began keeping my teaching materials under version control. In 2013, I began posting them in a public repository on Github, simply as a way of backing them up. In 2014, I started receiving occasional pull requests and comments on those materials. After Greg Wilson’s inspiring talk at SciPy 2014 I decided I should make a bigger effort to enable others to reuse and contribute to these materials.