Open-Source Software in Class: Students' Common Mistakes

被引:15
作者
Hu, Zhewei [1 ]
Song, Yang [2 ]
Gehringer, Edward F. [1 ]
机构
[1] North Carolina State Univ, Dept Comp Sci, Raleigh, NC 27695 USA
[2] Univ N Carolina, Dept Comp Sci, Wilmington, NC 28401 USA
来源
2018 IEEE/ACM 40TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: SOFTWARE ENGINEERING EDUCATION AND TRAINING (ICSE-SEET) | 2018年
基金
美国国家科学基金会;
关键词
Open-source software; software engineering; open-source curriculum; Expertiza; OPEN-SOURCE PROJECTS;
D O I
10.1145/3183377.3183394
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:40 / 48
页数:9
相关论文
共 27 条
[11]  
Gehringer Edward F, 2011, FRONT ED C FIE 2011
[12]   Work Practices and Challenges in Pull-Based Development: The Integrator's Perspective [J].
Gousios, Georgios ;
Zaidman, Andy ;
Storey, Margaret-Anne ;
van Deursen, Arie .
2015 IEEE/ACM 37TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, VOL 1, 2015, :358-368
[13]  
Hunt A., 2000, PRAGMATIC PROGRAMMER
[14]  
Laurent A.M. S., 2004, UNDERSTANDING OPEN S
[15]   Enriching software engineering courses with service-learning projects and the open-source approach [J].
Liu, C .
ICSE 05: 27th International Conference on Software Engineering, Proceedings, 2005, :613-614
[16]  
McCartney R., 2012, Proceedings of the ninth annual international conference on International computing education research, P5
[17]   Open source projects in software engineering education: a mapping study [J].
Nascimento, Debora ;
Bittencourt, Roberto ;
Chavez, Christina .
COMPUTER SCIENCE EDUCATION, 2015, 25 (01) :67-114
[18]  
Pinto G, 2017, 30 IEEE C SOFTW ENG, P1
[19]  
Raj R.K. Kazemian., 2006, Frontiers in Education Conference, P21
[20]   Selecting Open Source Software Projects to Teach Software Engineering [J].
Smith, Therese ;
McCartney, Robert ;
Gokhale, Swapna S. ;
Kaczmarczyk, Lisa C. .
PROCEEDINGS OF THE 45TH ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION (SIGCSE'14), 2014, :397-402