There aren’t many third party IDL books: David Fanning has one, Liam Gumley has one, and Ronn Kling has three. Now Ken Bowman, 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.

An Introduction to Programming with IDL by Kenneth P. Bowman

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 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.