 Scientific programming involves programming, so we need an environment to program in. The book by Trafeather than Bao uses MATLAB. MATLAB has been very popular, but its price and licensing system is onerous for many users. Moreover, because it is closed source, its tools and libraries cannot keep pace with active research. Increasingly, mathematicians and computer scientists are working collaboratively on open source software. This software can be intertwined dynamically with your ongoing research. The language of choice currently is Python, especially when using the packages NumPy for fast numerical and array manipulation, and SciPy for more advanced mathematical algorithms, and SciKit Learn for machine learning, data analysis, etc. Moreover, the computer algebra system Sage is built on top of Python, and it is a great open source alternative to Maple and Mathematica. In this course, I'm mostly going to be using the version of Python known as Anaconda. This is a pre-built package that is set up as a ready-to-use toolbox for scientific computing in Python. For small snippets and demonstrations, I will also use Sage Math Cell, an online service of Sage Math, which allows us to evaluate short pieces of Python code in a web browser without installing anything.