Quantum computations operate in the quantum world. For their results to be useful in any way, there is an intrinsic necessity of cooperation and communication controlled by the classical world. As a consequence, full formal descriptions of algorithms making use of quantum principles must take into account both quantum and classical computing components and assemble them so that they communicate and cooperate. This paper aims at defining a high level language allowing the description of classical and quantum programming, and their cooperation. Since process algebras provide a framework to model cooperating computations and have well defined semantics, they have been chosen as a basis for this language. Starting with a classical process algebra, this paper explains how to transform it for including quantum computation. The result is a quantum process algebra with its operational semantics, which can be used to fully describe quantum algorithms in their classical context.