Python for Engineers and Scientists
1h 59mIntermediate2021-09-22
Authors

Michele Vallisneri
Theoretical Astrophysicist at NASA Jet Propulsion Laboratory
Course details
This course offers scientists and engineers (ranging from students of those disciplines to experienced professionals) a dedicated, empowering introduction to Python for scientific and engineering applications. Theoretical astrophysicist and Python enthusiast Michele Vallisneri explains how Python can help you become a better engineer or physicist by making your work more efficient, accurate, and agile. Michele walks you through installing Python for macOS, Windows, and Linux, as well as setting up Jupyter notebooks. He explains how you can make Python fast using NumPy arrays, the SciPy library, Numba, and Cython. Michele then tackles ways to ensure your code is correct with tools for symbolic computation, differential equations, interpolation, and more. He finishes up with ideas to make your computational life easier with Python, including JSON, pandas, HDF5, automation with Python scripts, and scientific workflows with Snakemake.
Skills covered
PythonProgramming LanguagesOpen SourceSoftware DevelopmentOne-Off
Concepts
0. Introduction
- 01 - Become a better engineer or scientist with Python
- 02 - What you should know
1. Installation
- 03 - macOS installation
- 04 - Windows and Linux installation
- 05 - Working with Jupyter notebooks
- 06 - Using the exercise files
2. Make It Fast
- 07 - Making Python code fast
- 08 - Introduction to NumPy arrays
- 09 - Matrix operations with NumPy
- 10 - Linear algebra and sparse matrices with NumPy and SciPy
- 11 - Code generation with Numba and Cython
- 12 - Wrapping legacy code with Cython, CFFI, and F2PY
- 13 - Challenge - Diffusion equation
- 14 - Solution - Diffusion equation
3. Make It Right
- 15 - Making Python code right
- 16 - Symbolic computation with SymPy
- 17 - Units, constants, timescales, and more with Astropy
- 18 - Differential equations with SciPy
- 19 - Interpolation and optimization with SciPy
- 20 - Debugging with ipdb
- 21 - Challenge - Planetary conjunctions
- 22 - Solution - Planetary conjunctions
4. Make It Easy
- 23 - Making Python code easy
- 24 - Web resources with requests and JSON
- 25 - Tables with pandas
- 26 - Scientific datasets with HDF5
- 27 - Automation with Python scripts
- 28 - Scientific workflows with Snakemake
- 29 - Challenge - Perfect numbers
- 30 - Solution - Perfect numbers
Conclusion
- 31 - Next steps
Related courses
- Python for Data Science and Machine Learning Essential Training Part 1
- Artificial Intelligence Foundations: Neural Networks
- Build with AI: AI-Powered Dashboards with Streamlit
- Build with AI: LLM-Powered Data Analysis App with Python and Streamlit
- Complete Guide to Analytics Engineering
- Build with AI: LLM-Powered Applications with Streamlit
- Hands-On AI: Building Your First LLM-Powered App
- Advanced Geospatial Data Analytics in Python