Python for Physics and Astronomy: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 2: | Line 2: | ||
This resource was developed as | This resource was developed as a component of a | ||
[http://prancer.physics.louisville.edu/astrowiki/index.php/Research_Methods Research Methods] class | [http://prancer.physics.louisville.edu/astrowiki/index.php/Research_Methods Research Methods] class Various examples that may be useful for | ||
developing small Python programs are collected [http://prancer.physics.louisville.edu/astrowiki/index.php/Python_examples here]. They are a basis for a few exercises that were assigned during the course are are available [http://prancer.physics.louisville.edu/astrowiki/index.php/Python_assignments here]. | developing small Python programs are collected [http://prancer.physics.louisville.edu/astrowiki/index.php/Python_examples here]. They are a basis for a few exercises that were assigned during the course are are available [http://prancer.physics.louisville.edu/astrowiki/index.php/Python_assignments here]. | ||
Revision as of 06:10, 10 April 2018
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.
This resource was developed as a component of a
Research Methods class Various examples that may be useful for
developing small Python programs are collected here. They are a basis for a few exercises that were assigned during the course are are available here.
The topics and examples covered --
- Why program? Choosing a language.
- Very simple Python
- Elements of Python programming
- Solving problems with Python
- Graphical User Interfaces with Python
- Graphics with Python
- NumPy, SciPy and SciKits
- Image processing with Python and SciPy
- User interfaces
- How to create a javascript program
These topics may be added to a longer version of this course or as working notes when time allows.
- Bayesian methods with Python and Markov Chain Monte Carlo (MCMC) analyses
- Real world interfacing
- Instrumentation and communication
- Serial ports
- USB
- Ethernet and TCPIP
- Parallel processing
- Using all the processors (CPUs) in your computer
- Using graphical processing units (GPUs)
- Artificial intelligence computing with tensor processing units (TPUs)
- Working with the web
- HTTP servers
- Getting data from servers
- Sending data to servers
- Using Python with the Common Gateway Interface (CGI)
- Programming for server-side processing
- Python and other languages
- Bash scripting in Unix-like systems
- Gnu Data Language (GDL) as a replacement for IDL or bridge to Python
- Very simple C
- Connecting Python to the browser engine
- Chrome and Firefox for web development
- Java for astronomical calculations: AstroCC and AstroImageJ