Developing parallel programming and soft skills: A project based learning approach - Younis, Awad A.; Sunderraman, Rajshekhar; Metzler, Mike; Bourgeois, Anu G. (Journal of parallel and distributed computing, 2021)
Upon graduation, a computer science student should have a good understanding of the current technology and have the soft skills necessary to secure a position in industry. Considering that typical computers and even the common smartphone are multicore, students should be skilled in parallel programming. Integrating parallel programming and soft skills within courses can help educate students on these essential skills. Our goal is to explore the effectiveness of using Project Based Learning (PBL) to teach these skills when classes are at content capacity. We divide 247 students into 51 diverse groups and assigned five projects, each of two-week duration. We use pre- and post-surveys to measure growth and found that incorporating PBL has a significant effect on the students' parallel programming and soft skills. We show that through teamwork, students collaboratively learn and apply fundamental parallel programming and soft skills without direct guidance, thus demonstrating the effectiveness of PBL. The implementation was conducted in a course that does not traditionally teach parallel programming concepts, but with the use of a PBL approach, students were able to acquire this new knowledge. •Hands-on Project Based Learning is an effective means to teach parallel programming.•Through collaboration, students learn parallel programming without direct lectures.•Group projects and collaboration helps students to develop essential soft skills.•Clear rubrics are provided to allow for replication of parallel programming modules.