The course addresses issues related to heterogeneous multi-core architectures that are today found in all computing devices, ranging from mobile phones, commodity desktops to large computing clusters.