Abstract-Complex computing platforms involving pipelined processors, memory hierarchies, multi-core and many-core architectures are very common nowadays. These approaches require a deep understanding of the underlying hardware and the corresponding programing model to be able to decide which alternative is more suitable, i.e. obtain the best performance at the minimum cost, for a given application. Hence, it is important to cover all these aspects in academic curricula in order to provide engineers with competitive advantages and increase industrial productivity.In this paper, the methodology followed in a subject on Advanced Processing Architectures from a MSc program is presented. The theoretical content is complemented using handson exercises to further analyze the concepts discussed in class. As an example, the practical lessons on single-core Systems on Programmable Chip are reviewed in detail, showing the key ideas that are to be acquired by the students enrolled in the subject. Moreover, the proposed strategy has been evaluated using a voluntary and anonymous questionnaire to detect the strong and weak points of the proposed approach. This feedback is essential to provide students with valuable knowledge and meet quality criteria in academic education.