This set of tutorials are written at an introductory level for an engineering or physical sciences major. It is ideal for someone who has completed college level courses in linear algebra, calculus and differential equations. While prior experience with programming is a certain advantage, it is not expected. At UC Davis, this is aimed at sophomore level Chemical and Biochemical Engineers and Materials Scientists: examples and the language used here might reflect this. At the same time, this is not meant to be an exhaustive course in Python or in numerical methods. The focus is on introducing the mathematical techniques and developing an insight for scientific computation, independent of programming language.
These notebooks were developed and tested using the Anaconda distribution.
License Requirements. This repository is maintained on GitHub at hmanikantan/ECH60 and published under an MIT license. This means you are free to use, copy, modify and adapt any part of this module for non-commercial purposes. The license terms require you to give attribution and share your work under the same terms. Informal feedback or pull requests for corrections and additions to these materials are most welcome.
Acknowledgements. My ECH 60 students beta tested these tutorials, and their learning styles, feedback and comments crafted the structure of this series. The world of Python is a fantastic testament to the power of open-source science and learning. I thank the countless selfless nameless strangers whose stackoverflow comments have informed me, and whose coding styles have inadvertently creeped in to my interpretation of the code and style in what follows. And I thank the generous online notes of John Kitchin, Patrick Walls, Charles Jekel, Jeffrey Kantor, and Lorena Barba whose works directly or indirectly inspired and influenced this project.