I recommend getting a couple of good books for doing physics with python:
- Learning Scientific Programming with Python by Christian Hill - OR -
- Numerical Python: Scientific Computing and Data Science Applications with Numpy, SciPy and Matplotlib 2nd ed. Edition by Robert Johansson
AND THEN one or two of these depending upon interests:
- Understanding Optics with python
- computational physics: problem solving with Python by Paez, Landau, and Bordeianu
- Classical Mechanics: A Computational Approach with Examples Using Mathematica and Python
- Dynamical Systems with Applications using Python
Your colleague can browse through those (some of them are probably in the university library) and see which ones they prefer. Doing physics with python will make the learning process more fun, imo.
Some other books for getting a full picture of beginning and intermediate python are:
- Introducing Python by Bill Lubanovic (book might progress a little slow for your colleague but a good starter book)
- Fluent Python by Luciano Ramalho (there is a new edition coming out shortly... this is a good intermediate Python book).
- Neural Networks from Scratch in Python by Kinsley and Kukiela... you build a basic, but complete, NN library in python with optimization, back-propagation, and everything using numpy, python classes, and so forth
Other than searching for topics to learn, I also recommend these resources to learn more about python and python for physics computation:
- https://learnbyexample.github.io/py_resources/
- https://composingprograms.com/
- https://pythonprogramming.net/
- http://scipy-lectures.org and this Hacker news post and links therein: https://news.ycombinator.com/item?id=25682103
- https://pythonnumericalmethods.berkeley.edu/notebooks/Index....
- Mr. P Solver's Youtube Channel (highly recommended!)
- Freecodecamp (someone already recommended that)