Course Description: This course provides an in-depth exploration of how to use Python to rapidly and effectively perform scientific and engineering analysis tasks. The course introduces several of Python’s standard libraries for numerical and scientific computing, plotting, and data science. We cover linear and matrix algebra and multi-dimensional array mathematics and plotting 2D and 3D data. We show how these techniques can be used to solve systems of equations, ordinary and partial differential equations, and numerical integration. We also explore how signal processing techniques, mathematical optimization, and data science techniques such as machine learning can be accomplished. This course makes extensive use of examples and projects in the form of interactive Jupyter notebooks so that students can explore, modify, and experiment directly with these scientific libraries and their capabilities.