Link Search Menu Expand Document

Simulated Open Source Communities

Instructors are often reluctant to integrate open source resources into CS curricula due to their hesitancy to overhaul existing courses and the limited programming expertise of students 1. To reduce the unpredictability of student engagement with real-world software and other developers, not to mention the associated logistical difficulties for instructors, students can develop projects within their class communities. Without the stress and pressure from directly contributing to public software, they will be more comfortable in making mistakes and exploring creative ideas in their code. Instructors will have full control over this sheltered environment where they can select project topics that are more manageable for CS2 students. We recommend a class-centric versioning platform, such as GitHub Classroom or local GitLab servers, to support collaboration between developers and help instructors organize assignments. Villarrubia and Kim 2 also present a collaborative student-centered open source software system (SOSS), a version control designed for classrooms. Within this microcosm of OSS communities, students can review and contribute to each other’s code. Additionally, instructors can restrict access to their system and recycle project ideas in future semesters.

References

  1. Linh N Vu, Ti Kean Tan, and Prapat Maneerat. 2004. Incorporating open-source software development into computer science and software engineering education at university level. In Proceedings of the Second Australian Undergraduate Students’ Computing Conference. Citeseer, 149-164. 

  2. Andrew Villarrubia and Hyunju Kim. 2015. Building a community system to teach collaborative software development. In 2015 10th International Conference on Computer Science Education (ICCSE). 829-833. https://doi.org/10.1109/ICCSE.2015.7250360 


Table of contents