Preparing the software engineer for a modern multi-core world

Parallel and Distributed Computing (PDC) was traditionally viewed as an advanced subject reserved for elective graduate courses. The last decade has seen two areas with rapid growth, whose synergy is demanding new skills for software engineers in a modern multi-core world. The first has been society...

Full description

Saved in:
Bibliographic Details
Published inJournal of parallel and distributed computing Vol. 118; pp. 247 - 263
Main Authors Giacaman, Nasser, Sinnen, Oliver
Format Journal Article
LanguageEnglish
Published Elsevier Inc 01.08.2018
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:Parallel and Distributed Computing (PDC) was traditionally viewed as an advanced subject reserved for elective graduate courses. The last decade has seen two areas with rapid growth, whose synergy is demanding new skills for software engineers in a modern multi-core world. The first has been society’s increasing demand for software engineering solutions, evident in the integral role that software plays in daily life. Unlike traditional PDC applications in the scientific and engineering domains, modern software applications are interacting directly with millions of users on mainstream laptops, smartphones and tablets. The second trend is that of multi-core processors powering such devices, which is further fueling the potential of software applications. This paper proposes a Modern Parallel Programming Framework that recognizes that successful software engineering in this domain involves a combination of hard skills and soft skills. A course dedicated to this goal is presented and evaluated, incorporating a research-infused, problem-based and active learning approach. •Proposal of a Modern Parallel Programming Framework incorporating PDC concepts with mainstream application domains.•Applying PDC programming in the context of Graphical User Interfaces and Object-Oriented Programming.•Proposal of Active Classroom Programmer (ACP) to present parallel programming for desktop and mobile applications, encouraging active learning.•Proposal of Research-infused and Problem based learning environments for PDC.
ISSN:0743-7315
1096-0848
DOI:10.1016/j.jpdc.2018.02.028