Modern PCs allow parallel execution of tasks. The efficient use of this parallellism however needs more than only multiple processor cores. The problem itself must be parallelisable. In this course characteristics of different parallel architecures and metrics of evaluation are desribed. Furthermore models and languages for programming parallel computers are shown.