Programming Parallel Algorithms Guy E. Blelloch Carnegie Mellon University In this talk I will discus how data-parallel languages along with the work-time paradigm (for deriving complexities) are very well suited for describing PRAM-like algorithms. In particular I will describe an experimental language, NESL, and show several examples of algorithms written in the language. The language has several features that make it particularly well suited for implementing parallel algorithms, including the ability to use nested structure and nested parallelism (not offered by other data-parallel languages) and a formal way of deriving complexity (work and steps) and then mapping it onto PRAM complexities (processors and time).