Find out how practicing scientists, engineers, and students of science and engineering can use Python to help make their work more efficient.
Overview
Syllabus
Introduction
- Become a better engineer or scientist with Python
- What you should know
- macOS installation
- Windows and Linux installation
- Working with Jupyter notebooks
- Using the exercise files
- Making Python code fast
- Introduction to NumPy arrays
- Matrix operations with NumPy
- Linear algebra and sparse matrices with NumPy and SciPy
- Code generation with Numba and Cython
- Wrapping legacy code with Cython, CFFI, and F2PY
- Challenge: Diffusion equation
- Solution: Diffusion equation
- Making Python code right
- Symbolic computation with SymPy
- Units, constants, timescales, and more with Astropy
- Differential equations with SciPy
- Interpolation and optimization with SciPy
- Debugging with ipdb
- Challenge: Planetary conjunctions
- Solution: Planetary conjunctions
- Making Python code easy
- Web resources with requests and JSON
- Tables with pandas
- Scientific datasets with HDF5
- Automation with Python scripts
- Scientific workflows with Snakemake
- Challenge: Perfect numbers
- Solution: Perfect numbers
- Next steps
Taught by
Michele Vallisneri