The term "Templates" has recently gained attention in the parallel processing community, yet is an evolving concept with several definitions. The primary motivation for constructing templates is to rapidly infuse into common usage state-of-the-art algorithms in a form which can be adapted to specific application requirements. This implies that the template retains the desired numerical properties but is cast in a form which is independent of parallel architecture, data layout, and programming language. Many users would like to see templates go beyond pseudo-code, which can be found in textbooks and research papers, to become objects which are directly compilable on multiple architectures. This workshop will explore the issues involved in constructing an algorithm template which is portable, scalable, and adaptable to application requirements, yet retains the numerical properties which make the algorithm desirable in the first place.