SPARK C++: bridging concepts with analogies, multimedia, and interactive quizzes / Azyan Yusra Kapi … [et al.] - Kapi, Azyan Yusra; Suhaimi, Azrina; Hasmy, Harshida; Ab Jabal, Mohamad Faizal (Faculty of Computer and Mathematical Sciences, 2023)
The teaching and learning of programming languages, especially C++, have often been cited as challenging for both instructors and students, leading to persistently high failure rates. This paper introduces SPARK C++, an acronym for Simplified Practices with Analogy and Resources for Knowing C++. SPARK is an innovative web based teaching tool developed in response to identified difficulties, with the aim of enhancing the learning experience. By leveraging a mix of multimedia elements, it offers a dynamic and interactive learning experience. This innovative educational tool enables students to proficiently grasp essential modular programming ideas through the utilization of real-world analogies. The incorporation of relatable analogies is one of the notable features of SPARK which serves to clarify complex programming ideas, thereby facilitating the intuitive comprehension and long-term recall of the material. Moreover, SPARK integrates practice quizzes, equipped with immediate feedback mechanisms, which serve to promote ongoing student engagement and strengthen the process of acquiring knowledge. The teaching tool is also equipped with pre-test and post-test questions that are specifically designed to evaluate students' comprehension and assess the success of the tool in assisting their acquisition of the C++ modular programming. The efficacy of SPARK is assessed by analyzing the pre-test and post-test scores and calculating the N-Gain formula. The computation indicates that the mean score is 0.6336, falling within the range of modest improvements. This finding is noteworthy as it demonstrates a substantial contribution to enhanced comprehension. In conclusion, SPARK has the ability to significantly improve students' comprehension of programming concepts, such as the complex field of C++ functions, while also lowering the failure rate for programming students.