Many studies have shown the benefits of introducing open-source projects into teaching Software Engineering (SE) courses. However, there are several limitations of existing studies that limit the wide adaptation of open-source projects in a classroom setting, including (1) the selected project is limited to one particular project, (2) most studies only investigated on its effect on teaching a specific SE concept, and (3) students may make mistakes in their contribution which leads to poor quality code. Meanwhile, software companies have successfully launched programs like Google Summer of Code (GSoC) and FindBugs "fixit" to contribute to open-source projects. Inspired by the success of these programs, we propose GitHub-OSS Fixit, a course project where students are taught to contribute to open-source Java projects by fixing bugs reported in GitHub. We described our course outline to teach students SE concepts by encouraging the usages of several automated program analysis tools. We also included the carefully designed instructions that we gave to students for participating in GitHub-OSS Fixit. As all lectures and labs are conducted online, we think that our course design could help in guiding future online SE courses. Overall, our survey results show that students think that GitHub-OSS Fixit could help them to improve many skills and apply the knowledge taught in class. In total, 154 students have submitted 214 pull requests to 24 different Java projects, in which 59 of them have been merged, and 82 have been closed by developers.
翻译:许多研究显示,将开放源码项目引入软件工程(SE)课程的好处,然而,现有研究中有一些限制限制在课堂环境中广泛调整开放源码项目的限制,包括:(1) 选定项目仅限于一个特定项目,(2) 多数研究仅调查其对教授具体SE概念的影响,(3) 学生在贡献中可能会犯错误,导致错误的代码质量差。同时,软件公司成功地启动了谷歌代码夏令(GSoC)和FindBugs“fixt”等方案,以促进开放源码项目。在这些方案成功的基础上,我们建议GitHub-OS Fixit(Git-OS-Fixit)这个课程项目教学生如何通过修补在GitHub(GitHub)中报告的错误为开放源码项目作出贡献。我们描述了我们的课程大纲,通过鼓励使用若干自动程序分析工具来教授学生SEEE,我们给学生参加Github-OSS-Sixit(Goint)的精心设计的指示。所有讲座和实验室都在线进行,我们认为我们的课程设计可以帮助指导未来在线SEEDUD课程的在线课程。总体应用。总体来说,我们的调查结果表明,我们把Gi-Gi-GI-OSOFA项目的结果显示学生运用了他们学习要求。