Text this: An introduction to computational fluid dynamics