

Line 42: 
Line 42: 
 ###Matrix and vector math   ###Matrix and vector math 
 ###Fourier Transforms   ###Fourier Transforms 
−  ##Scipy  +  ##SciPy and SciKits 
 ###Interpolation   ###Interpolation 
 ###Integration   ###Integration 
Revision as of 17:44, 21 February 2013
The Python programming language is a widely used tool for basic research and engineering. Its rapid rise in popularity is supported by comprehensive, largely opensource, 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
 Examples
 Assignments
 Solving problems with Python
 Flow control
 Functions
 Iteration
 Examples
 Assignments
 Graphics with Python
 Installation of matplotlib
 Learning the basics of 2D data and function plotting
 A little 3d plotting
 Examples
 Assignments
 NumPy, SciPy and SciKits
 Numpy
 Arrays
 Indexing
 Functions
 Matrix and vector math
 Fourier Transforms
 SciPy and SciKits
 Interpolation
 Integration
 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 serverside processing
 Examples
 Assignments
 Comparing Python to other languages
 Bash scripting in Unixlike 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