Introducing C++20 Modules in First-Year Computer Science: A Pedagogical Case Study

Authors

  • Siphesihle Sithungu University of Johannesburg

DOI:

https://doi.org/10.34190/icer.2.1.4304

Keywords:

modern c , curriculum innovation, computer science education, technical and pedagogical integration, first-year curriculum

Abstract

This paper presents a case study on introducing C++20 modules into a first-year computer science curriculum to expose students early to modern modular programming. In line with constructivist learning principles, modules were introduced as bonus content in the first semester, allowing students to learn through hands-on practical tasks. The integration faced technical challenges, especially around compiler compatibility, where initial attempts using MSYS, LLVM, and Clang were unsuccessful. Eventually, GCC 14.2.0 was adopted to support C++20 modules. A scaffolding approach was used to support student learning, starting with a virtual programming lab and gradually transitioning to local lab environments. Supplementary resources, including tutorial videos, were developed to help students move from beginner tools like Code::Blocks to more advanced editors such as Visual Studio Code. The study highlights the benefits of project-based and technology-enhanced learning, showing that students responded positively to the modern C++ content. This paper offers insights into the practical implementation of contemporary C++ features in introductory courses and contributes to ongoing discussions about effective programming pedagogy.

Downloads

Published

2025-10-31