SageMath is a modern free, open-source mathematics software system, which is based on the Python programming language.
Each notebook can be viewed in the browser by clicking on its name in the list below. It can be downloaded by clicking on the [ipynb] link. All notebooks can be downloaded in a single directory from the GitHub repository.
Even if SageMath is not installed on your computer, you can run an interactive version of the notebook by clicking on the button Execute on Binder in the top right menu of Jupyter nbviewer.