Mon 26 Oct 2015 11:30 - 12:00 at Ellwood 1 - Session 2 Chair(s): Eli Tilevich

Developing industry relevant applications and in the same time achieving high code quality in a time-efficient way is a huge challenge for instructors of software engineering capstone courses. Although it helps to reduce prospective errors, teaching students how to achieve code quality and how to conducts code reviews in projects is challenging and often neglected. In this paper we describe the successful implementation of a branch based code review workflow and its introduction in a multi- customer capstone course. Our workflow includes a quality gate to prevent bad code being integrated in the main development branch. Before developers can integrate the implementation of new requirements, other experienced developers review the changes and pro- vide feedback concerning architectural decisions and coding style. Inexperienced developers learn best practices from more experienced ones and increase their knowledge about code quality and code reviews. We describe the integration of this workflow into our project-based organization and different teaching approaches. Within three months 100 students conducted more than 1000 code reviews with more than 1700 comments in 11 projects with customers from industry. After the project course we evaluated our approach in an online questionnaire and in personal interviews. One of the key findings is, that the amount of changes in reviews should small to prevent slowing down the development progress of the team. Our observations show that the students understood the code quality workflow and applied it regularly. They are convinced about its benefits and want to use it in future projects.

Mon 26 Oct

Displayed time zone: Eastern Time (US & Canada) change

10:30 - 12:00
Session 2SPLASH-E at Ellwood 1
Chair(s): Eli Tilevich Virginia Tech
10:30
30m
Talk
Tackling Real World Complexity in a Software Engineering Student Project - An Experience Report
SPLASH-E
Christian Köppe HAN University of Applied Sciences, Leo Pruijt Hogeschool Utrecht
File Attached
11:00
30m
Talk
Continuous Testing in Introductory Computer Science Education
SPLASH-E
Andrew Richardson University of British Columbia , Mira Leung University of British Columbia, Jordan Elder University of British Columbia
File Attached
11:30
30m
Talk
Teaching Code Review Management using Branch Based Workflows
SPLASH-E
Stephan Krusche Technische Universität München, Bernd Bruegge TU Munich