Basic Python
Harvard’s CS50p is the most popular way to learn basic Python. Accessible here and in edX.Python and Data Science
The following are your options with 1 being the highest priority.- IBM’s Python Basics for Data Science
- Kaggle Python Course
- CodeAcademy Data Science Path. Take Python modules 4-10. This course introduces Numpy and Panda as well.
General computational Python libraries
- Numpy Tutorial - Stanford’s CS231n. This Numpy Cheatsheet may be useful as well.
- This is the “official” documentation on Pandas: Pandas: powerful Python data analysis toolkit
-
For many computational problems you may need to use constructs that need compute acceleration such as GPUs, TPUs etc. Pytorch is a Python package that provides two high-level features:
- Tensor computation (like NumPy) with strong GPU acceleration
- Deep Neural Networks built on a tape-based autograd system
torch.funcwill also offer a JAX-like API for Pytorch. Since Pytorch is more popular than JAX and is used in many production systems as of the time of the writting of this book, we recommend new learners to start with Pytorch after learning the basics of numpy. - JAX is an extensible system for composable function transformations and offers a numpy-like API and can run your code much faster. You can read its benefits for a wide range of scientific applications here. JAX has been extended with NN libraries such as Equinox but can also be used without any NN libraries to build for example differentiable physics simulators and other computational applications.

