There aren't many third party IDL books: David Fanning has one, Liam Gumley has one, and Ronn Kling has three. Now [Ken Bowman](http://www.met.tamu.edu/people/faculty/bowman.php), a professor at Texas A&M University in the Department of Atmospheric Sciences, enters the fray with *An Introduction to Programming with IDL*. This book is geared towards a new user of IDL without programming experience. It covers the necessary topics to get started in IDL basic variable concepts, analysis, file input/output, and direct graphics visualizations including many exercises for these topics. It makes it a good fit for the academics market. From the Preface:

> This book is intended to be used in an introductory computer
> programming course for science and engineering students at
> either the undergraduate or graduate level.

I think it achieves this goal very well, but don't look here if you want to take your programming beyond basic analysis and visualization.

A major strength of the book are the downloadable example programs with their documentation, data files, and output. To try the examples, make sure to run `@startup` first to setup your IDL session.

See the [book's website](http://idl.tamu.edu/) for more information including table of contents, errata, downloadable example programs, and even the Interpolation chapter.

The book takes the reader through a sequence of chapters learning basic concepts about IDL variables, dealing with file input/output, programming concepts, visualization and analysis. The chapters of the book are:

1. Introduction
2. IDL Manuals and Books
3. Interactive IDL
4. IDL Scripts (Batch Jobs)
5. Integer Constants and Variables
6. Floating-Point Constants and Variables
7. Using Arrays
8. Searching and Sorting
9. Structures
10. Printing Text
11. Reading Text
12. Writing and Reading Binary Files
13. Reading NetCDF Files
14. Writing NetCDF Files
15. Procedures and Functions
16. Program Control
17. Line Graphs
18. Contour and Surface Plots
19. Mapping
20. Printing Graphics
21. Color and Image Display
22. Animation
23. Statistics and Pseudorandom Numbers
24. Interpolation
25. Fourier Analysis
26. Appendix A: An IDL Style Guide
27. Appendix B: Example Procedures, Functions, Scripts, and Data Files

The detailed table of contents lists the sections within each chapter.

### Summary ###

*Pros:* No prerequisites required. Exercises for most topics. Many example programs. Style guide appendix. Coverage of file input/output with NetCDF files. Clearly written with a nice layout. Color plates for some of the graphics examples.

*Cons:* No intermediate topics like widgets, object graphics, or object-oriented programming are covered. No use of the iTools.

If you're teaching a first course in programming for scientists, I would recommend this book for your class.