\documentstyle[11pt,psfig,aaspp4]{article} 
\begin{document} 
%\magnification=\magstephalf
%\parskip=0.2cm
%\parindent=1.0cm
%\def\simlt{\lower.5ex\hbox{$\; \buildrel < \over \sim \;$}}
%\def\simgt{\lower.5ex\hbox{$\; \buildrel > \over \sim \;$}}
%\tolerance=10000

\centerline{\bf LEARNING IDL FOR ASTRONOMY}
\centerline{\bf \today}

\noindent {\bf 1. BASIC INFO ABOUT IDL.}

	 IDL is extremely powerful and in wide use by scientists, and
especially astronomers.  Unfortunately, there are no good primers for
the beginner.  The best way to learn its basics is: {\bf Go through our
tutorials step-by-step.} We will be distributing these a few times
during the course.  Each tutorial will take a couple of hours, but the
time you spend will be repaid\dots {\it fast}. 

	Learning a computer language is bit like learning Greek.  You
become more proficient as you use it.  However, it helps to have a
learning plan.  We envision {\it three levels} of proficiency:

	{\bf (1): THE NOVICE LEVEL.} To learn IDL at the basic level, we
suggest that you sit down at a computer for a couple of hours with each
of our tutorials.  The first tutorial will allow you to write the
software you need for your first lab report, and succeeding ones will
make the software for the other labs much easier.  {\it We can't
overemphasize the importance of these tutorials!}

	{\bf (2): THE INTERMEDIATE LEVEL.} To become {\it proficient} at
IDL, we suggest that you purchase the book ``IDL Programming
Techniques'' and work your way through it.  Alternatively, if you're
poor, sit down at a computer for several sessions of an hour or two each
with the IDL books entitled {\it USING IDL} and {\it BUILDING IDL
APPLICATIONS}.  Read the following sections in the order given and try
out everything, either using the examples they give or making up your
own: %\hfil\break

\noindent {\it USING IDL: Chapter 1}, {\bf Typographical Conventions} (pp
4 to 5).  \hfil\break
	{\it USING IDL: Chapter 2}, {\bf Input to IDL} (pp 13 to 16). 
\hfil\break
	{\it BUILDING IDL: Chapter 2}, {\bf Constants and Variables}, pp
12 to 21. \hfil\break
	{\it BUILDING IDL: Chapter 3}, {\bf Expressions and Operators},
pp 24 to 37. \hfil\break
	{\it BUILDING IDL: Chapter 5}, {\bf Array Subscripts}, pp 56 to
65. \hfil\break
	{\it USING IDL: Chapter 10}, {\bf X Versus Y Plots---PLOT and
OPLOT, Annotation---the XYOUTS Procedure, Plotting Symbols, Polygon Filling}
(pp 157 to 171); {\bf Plotting Missing Data} (pp 179 to 180); {\bf Using
the CURSOR Procedure} (pp 182 to 184).  \hfil\break
	{\it BUILDING IDL: Chapter 7}, {\bf Statements}, pp 80 to 104.
\hfil\break
	{\it BUILDING IDL: Chapter 8}, {\bf Defining Procedures and
Functions}, pp 106 to 115. 

\noindent This gives you the background to become an IDL ``expert''. 
Having the student version will make this easier because you can do this
at home at your leisure. 

	{\bf (3): THE EXPERT LEVEL.} To {\it actually} become an IDL {\it
expert}, we suggest that you 

	$\bullet$ Get the book ``IDL Programming Techniques'' by David
W.  Fanning.  Cost is \$75 from the website {\it
http://www.rsinc.com/sv/books.cfm}. 

	$\bullet$ Purchase the IDL student version, install it on your
own computer, and read through both its manual and Fanning's book
bit-by-bit in front of your computer. 

	$\bullet$ Use IDL exclusively as your programming language and
use it as much as possible.

%\vskip{0.2in}
\noindent {\bf 2. THE IDL HANDIGUIDE}

	Make frequent use of the {\it IDL Handiguide} we distribute.  It
has the built-in IDL procedures arranged by topic.  So when you are
manipulating arrays, look under {\it Array Manipulation Routines} and
you may well find a procedure that does exactly what you want.  Ditto
for {\it Special Math Functions, Plotting Routines, Two-Dimensional},
etc., etc., etc.  This is how we learned about IDL's vast array of
procedures. 

%\vskip{0.2in}
\noindent {\bf 3. THE GODDARD LIBRARY}

	One thing that makes IDL extremely useful for astronomers is
that lots of astronomers use it.  The Goddard folks have written and
assembled a great many astronomically useful procedures.  We have those
procedures in our system\footnote{The Goddard routines are in {\it
/usr/local/rsi/idl\_5/lib/goddard}}), and you can get them too: just go
the website {\it http://idlastro.gsfc.nasa.gov/homepage.html}. 

	In particular, you should print out the contents of {\it
http://idlastro.gsfc.nasa.gov/contents.html}.  It contains a list of the
Goddard library, categorized by topic.  For astronomers, the most
important section is {\bf Astronomical Utilities}.  Coordinate
conversions, time conversions, precession, Doppler shifts, etc., etc.,
etc.  Another is the {\bf FITS} sections, useful for all FITS files
and especially those from Space Telescope.  {\bf Image Manipulation} contains many
useful procedures for image analysis, such as FT-based convolution,
generating circular masks, maximum entropy, etc.  {\bf Math and
Statistics} has many procedures, some of which duplicate IDL's and some
of which do not.  {\bf TV Display Procedures} has nice procedures that
will draw boxes, circles, blink images, and more.  {\bf Miscellaneous}
has lots of procedures, of which I find the most useful are {\it
FINDPRO} (finds all occurances of a procedure in one's path!), and {\it
READCOL} (reads column-organized ascii data into IDL vectors). 

\end{document}
\end


 
