Abstract. Providing parallel programming education is an emerging challenge, requires teaching methods to promote the learning process and also an elaborate infrastructure to provide a suitable environment for practical laboratory classes. Also, conventional teaching methods are used to share knowledge in the area, sometimes not being appropriate for this purpose. Effective learning methods, software configuration facility and the necessary laboratory infrastructure are needed. This paper presents a survey of recent research and challenges about parallel programming teaching. The main contribution of this work is to group state of the art in this context, highlighting the teaching practices available in the literature, to determine consolidated initiatives in development.Resumo. Fornecer educação em programação paralelaé um desafio emergente, requer métodos de ensino para promover o processo de aprendizagem e também uma infraestrutura para fornecer um ambiente adequado para as aulas de laboratório. Além disso, os métodos de ensino convencionais que são utilizados para compartilhar o conhecimento,às vezes não são adequados para esse propósito. Métodos de aprendizagem eficazes, configuração de software e uma infraestrutura de laboratório são requisitos necessários. Assim, este artigo apresenta uma revisão sistemática sobre o ensino de programação paralela. A principal contribuição deste trabalhoé reunir o estado da arte neste contexto, destacando as principais práticas de ensino disponíveis na literatura.
IntroduçãoO ensino de Computação de Alto Desempenho ou HPC (High-Performance Computing), ao contrário de outros tipos de computação, aborda desafios e condições especiais. O ensino abrange grandes quantidades de informações, problemas computacionais e a compreensão das plataformas suportadas, onde os alunos precisam de capacidades e habilidades para operar esses ambientes especiais [Shamsi et al. 2015].[ Zarza et al. 2012] destacam a importância de HPC como uma ferramenta valiosa para a sociedade. HPC fornece o desenvolvimento de uma grande quantidade de aplicativos e serviços. Também abordam que o estudo de arquiteturas paralelasé uma das questões-chave para estudantes acadêmicos de computação, devido ao uso geral de computadores em diversas disciplinas.A Programação Paralela, uma parte de HPC, tornou-se ativa e intrínsecaàs tecnologias atualmente disponíveis, principalmente considerando os distintos modelos de programação provenientes dessas diferentes arquiteturas paralelas.