Cluster computer are the prevailing type of high performance computers. They are built of custom off-the-shelf processor boards that are connected by a high speed interconnection network. Although usually locally integrated, they are conceptually distributed systems with local operating system images. Their enormous potential, however, can only be exploited, if program code and data are optimally distributed across the nodes. Cluster management mechanisms also need to be scalable to be employed in systems with thousands of nodes. The lecture course gives an overview of the architecture of cluster computers and the related management problems for which algorithmic solutions are presented.