The 15 revised full papers presented together with an invited paper were carefully reviewed and selected from 22 submissions. The papers deal with mathematical principles and techniques for constructing computer programs. They range from algorithmics to support for program construction in programming languages and systems. Some typical areas are type systems, program analysis and transformation, programming-language semantics, security, and program logics.