ZPL is a new array programming language for science and engineering computation. Designed for fast execution on both sequential and parallel computers, it is intended to replace languages such as Fortran and C. Because ZPL benefits from recent research in parallel compilation, it provides a convenient high-level programming medium for supercomputers with efficiency comparable to hand-coded message-passing programs. Users with scientific computing experience can usually learn ZPL in a few hours, and those who have used MATLAB or Fortran 90 may already be acquainted with the array programming style.This guide provides a complete introduction to ZPL. It assumes that the reader is experienced with an imperative language such as C, Fortran, or Pascal. Though thorough and precise, it does not attempt to be a ZPL reference manual. Rather, it illustrates typical ZPL usage and explains in an intuitive manner how the constructs work. The emphasis is on teaching the reader to be a ZPL programmer. Scientific computations are used as examples throughout.