https://magcourse.site/programming-for-scientific-research-with-python-and-r-2/