The status of Computer Science, including software science, as a proper “science” is closely related with our ability to construct accurate and precise models of the structures and processes of computational systems. The precision of these models is closely related with our ability to express them in formal notations with mathematical rigour, such that it also becomes possible to reason formally about relevant and interesting properties of these models. Examples of such interesting properties are logical consistency (i.e. absence of inherent contradictions), or safety properties such as deadlock freeness. This modules focuses on formal languages and techniques which are suitable for such purposes. Of particular importance are process algebras with which systems of parallel and concurrent computation can be formally described. Other suitable formalisms may be discussed as well, such that the contents of this module may slightly vary from year to year.