Introducing Open Source Software (OSS) projects into a software-engineering course has many advantages, for instance, allowing students to learn good coding practices from real-world projects, and giving students a glimpse of a real project. However, it is not easy for instructors to induce one or more OSS core teams to lend support for course projects. The alternative is to have students work on “toy features”—features for these projects not specified by OSS core teams, but by teaching staff. However, the project may be unimportant to the OSS project or may disrupt its design, making those code contributions unlikely to be integrated into the OSS code repository. In this paper, we, as both teaching staff and the core team for one OSS project called Expertiza, discuss our experience in supporting 700 students on 313 OSS-based course projects in the past five years. We manually checked these course projects, and summarize 13 common mistakes that frequently occur in students’ contributions, such as not following the existing design or messy pull requests. We propose five suggestions to help students reduce the frequency of common mistakes and improve the quality of their OSS pull requests.
Paper (splash-e17-paper7-final-submission.pdf) | 572KiB |
Mon 23 OctDisplayed time zone: Tijuana, Baja California change
13:30 - 15:00 | |||
13:30 30mTalk | (CSES) Open-Source Sofware in Class: Students’ Common Mistakes SPLASH-E Zhewei Hu North Carolina State University, Yang Song University of North Carolina Wilmington, Edward Gehringer North Carolina State University File Attached | ||
14:00 30mTalk | (CSES) Peer Review in Cybersecurity Education SPLASH-E File Attached | ||
14:30 30mTalk | (CER) 10+ Years of Teaching Software Engineering with iTrust: the Good, the Bad, and the Ugly SPLASH-E Sarah Heckman NC State University, Kathryn Stolee North Carolina State University, Chris Parnin NCSU File Attached |