Interactive C++ code development using C++Explorer and GitHub Classroom for educational purposes
Teaching C++ programming to non-computer science majors comes with the burden of setting up an integrated development environment, a struggle for most students. Therefore, we present the open source tool, C++Explorer, a Jupyterhub deployment for interactively developing C++ code. Students can connect to the server without installing anything, and, almost instantly, they can begin to play with code using the notebooks. Another aspect of code development is remote communication with co-workers or the community. To develop this skill, we use GitHub classroom to provide feedback on the assignments and practice remote communication. C++Explorer was used in the fall of 2019 and 2020 to teach parallel computation to mathematics students. At the end of the class, the students provided feedback through a survey. This data will be used to continue improving the course. In addition, we present a \Telegram bot for the communication with the server using smartphones or tablets. However, this tool was not used in the course and will be explored in future teaching.