HCCYMay 10, 2020

Understanding Learners' Problem-Solving Strategies in Concurrent and Parallel Programming: A Game-Based Approach

arXiv:2005.04789v11 citations
AI Analysis

This addresses the problem of teaching complex programming concepts to computer science students, but it is incremental as it applies an existing game-based approach to a specific educational domain.

The paper tackled the difficulty of learning concurrent and parallel programming by using an educational game called Parallel, finding that self-efficacy increased significantly among 44 undergraduate students and that self-efficacy correlated with time spent on multi-threaded problem-solving strategies.

Concurrent and parallel programming (CPP) is an increasingly important subject in Computer Science Education. However, the conceptual shift from sequential programming is notoriously difficult to make. Currently, relatively little research exists on how people learn CPP core concepts. This paper presents our results of using Parallel, an educational game about CPP, focusing on the learners' self-efficacy and how they learn CPP concepts. Based on a study of 44 undergraduate students, our research shows that (a) self-efficacy increased significantly after playing the game; (b) the problem-solving strategies employed by students playing the game can be classified in three main types: trial and error, single-thread, and multi-threaded strategies, and (c) that self-efficacy is correlated with the percentage of time students spend in multithreaded problem-solving.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes