The course consists of an introduction to advanced methods of parallel programming of the state-of-the-art HPC architectures. Distributed memory programming methods, multi-core shared memory, or PGAS programming model will be described. Further, students will be introduced to the field of HPC accelerators (Nvidia GPU and Intel Xeon Phi).