Python for Physics and Astronomy
Jump to navigation
Jump to search
The Python programming language is a widely used tool for basic research and engineering. Its rapid rise in popularity is supported by comprehensive, largely open-source, contributions from scientists who use it for their own work. This short course offers an introduction to Python with examples drawn from physics and astronomy as part of a full semester Research Methods class.
The examples are collected here.
All the assignments are here.
Homework should be uploaded here.
The topics and examples covered are --
- Why program? Choosing a language.
- Very simple Python
- Installing it on your computer
- Using it in real time
- Using code as a standalone program
- Examples
- Assignments
- Elements of Python programming
- Input and output
- Data types: numbers and strings
- Lists, tuples, dictionaries, and statements
- Mathematics
- Examples
- Assignments
- Solving problems with Python
- Flow control
- Functions
- Iteration
- Examples
- Assignments
- Graphics
- Matplotlib
- Examples
- Assignments
- Numpy, Scipy and Scikit
- Numpy arrays
- Numpy math
- Scipy interpolation and integration
- Scipy statistics
- Examples
- Assignments
- Images
- Python Imaging Library - PIL
- Astronomical FITS files with Pyfits
- FITS headers
- Processing and displaying images
- Scipy and Scikit for image processing
- Examples
- Assignments
- Data acquisition and processing
- Real world interfacing
- Numerical data from images
- Fourier Transforms
- Spectra
- Probability and statistics
- Examples
- Assignments
- User interfaces
- Command line and the operating system
- Graphical user interfaces in Python (GUI)
- Examples
- Assignments
- Working with the web
- HTTP servers
- Getting data from servers
- Sending data to servers
- Common gateway interface - CGI
- Using Python with CGI
- Programming for server-side processing
- Examples
- Assignments
- Comparing Python to other languages
- Bash scripting in Unix-like systems
- Very simple C
- Using Python with other code
- Android for web development
- LabVIEW for instrument control and data analysis
- Java for astronomical calculations: AstroCC
- Java for astronomical image processing and photometry: AstroImageJ