Most horrible web page every. Just a material dump right now.

Syllabus and Format

Here's a proposed syllabus . Each "topic" will likely to take 2 sessions (maybe more for #1, maybe a bit less for some of the others). I also propose a format where the lecturer sets their computer up and steps through some canned, commented scripts while the group follows along on their own machines. The canned scripts will be the main source material and will hold fairly extensive commentary. In between sessions we'll have optional homework assignments aimed at building useful astronomy code. We'll spend the first few minutes of each week reviewing a worked version as a way to recap.

Topic 0: Getting Set Up

Topic 1: Python Basics

We'll step through the basics of python: variable creation and manipulation, control flow, the indispensible numpy module, and programming.

Topic 1, Session 1: Just the Python

Pre-introduction and References
Our first variables
Built-in Data Structures: Lists
Basic Control Flow
Dictionaries (are Awesome)
How to Check Variable Existence
First Script and Function
First Module ... Applied
First Class ... Applied
Installation Example

Homework #1 (pre-NumPy) : At this point we definitely have the tools to do something useful. For your first project, write a small module that gives you access to physical constants. A richer version could have functions that perform non-trivial unit conversions. Good examples of such conversions are Jy/beam <-> K, LSR <-> Bary/Heliocentric velocity, Optical <-> Radio <-> Relativist doppler shift. A module like this should be a useful tool to have around. Worked Example ... How to access your library in ipython and CASA.

Topic 1, Session 2: Numpy (Why We're Here At All)

Intro to Numpy
Math with Numpy
Slicing and Iteration with Numpy

Homework #2 (after we do NumPy) : write a small module that generates one interesting 1d toy model and one interesting 2d toy model. Examples would be simple spectral energy distributions (e.g., a mixed thermal and nonthermal radio source, a modified blackbody appropriate for dust emission, one or more simple line profile) or easy geometric models (an exponential disk, a 2-d Gaussian, a Bonner-Ebert sphere). Worked example will do a radio SED and a thin tilted disk. We'll see how to check your results by plotting next week. Worked Example

Topic 2: Basic Data Analysis

Topic 2, Session 1: Reading and Writing Data

Saving/Loading Data ... Steal this (seriously)!
FITS Files
John Hibbard's Antennae HI Cube
GALEX Map of M74 Image
Coordinates in CASA ... my casa_axes module (WIP)

Homework #3 : Write a program to read in a FITS file and perform some basic astronomy measurements. For starters, just get it in and work out the total flux in sensible astronomy units. John's Antennae map is a good proving ground.

Topic 2, Session 2: Plotting (Mark Lacy)

Mark's page on this.
Mark's tarball
Non-interactive plotting demo
... data ... data ... data ... data
Interactive plotting
... data ... data ... data ... data ... data

Topic 3: Getting the Most Out of Your iPython & CASA Setups

Topic 3, Session 1: Setting Up CASA and iPython, Using the Editor (Rob Reid)

Rob's page on this.

Grab Bag

Adam's example module for noise estimation (part 1).
Adam's example module for noise estimation (part 2).
Example using the CASA toolkit + numpy for (poor) autoflagging.
Example wrapping the CASA toolkit for easy coordinate access.
Task example.
Task example.
Task example.
Autogenerated script to bring your tasks into CASA.
Exports needed (still?) to run buildmytasks.