* ICSE 2018 *
Sun 27 May - Sun 3 June 2018 Gothenburg, Sweden
Wed 30 May 2018 11:30 - 11:40 at E2 room - Reusable recipes Chair(s): Cecile Peraire

The co-existence of various kinds of devices, protocols, architectures, and programming languages make Internet of Things (IoT) systems complex to develop, even for experienced programmers. Perforce, Software Engineering challenges are even more difficult to address by novice programmers. Previous research focused on identifying the most challenging issues that novice programmers experience when developing IoT systems. The results suggested that the integration of heterogeneous software components resulted one of the most painful issues, mainly due to the lack of documentation understandable by inexperienced developers, from both conceptual and technical perspectives. In fact, novice programmers devote a significant effort looking for documentation and code samples willing to understand them conceptually, or in the worst case, at least to make them work. Driven by the research question: “How do the lessons learned by IoT novice programmers can be captured, so they become an asset for other novice developers?”, in this paper, we introduce Code Recipes. They consist of summarized and well-defined documentation modules, independent from programming languages or run-time environments, by which non-expert programmers can smoothly become familiar with source code, written by other developers that faced similar issues. Through a use case, we show how Code Recipes are a feasible mechanism to support novice IoT programmers in building their IoT systems

Wed 30 May

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

11:00 - 12:30
Reusable recipesSEET - Software Engineering Education and Training at E2 room
Chair(s): Cecile Peraire Carnegie Mellon University Silicon Valley
11:00
10m
Talk
10+ Years of Teaching Software Engineering with iTrust: the Good, the Bad, and the Ugly
SEET - Software Engineering Education and Training
Sarah Heckman NC State University, Kathryn Stolee North Carolina State University, Chris Parnin NCSU
11:10
10m
Talk
Toward Enhancing the Training of Software Engineering Students and Professionals using Active Video Watching
SEET - Software Engineering Education and Training
11:20
10m
Talk
Developing an Optimizing Compiler for the Game Boy as a Software Engineering Project
SEET - Software Engineering Education and Training
11:30
10m
Talk
Easing IoT Development for Novice Programmers Through Code Recipes
SEET - Software Engineering Education and Training
Fulvio Corno Politecnico di Torino, Luigi De Russis Politecnico di Torino, Juan Pablo Sáenz Politecnico di Torino
Link to publication DOI Pre-print
11:40
10m
Talk
Making the Liskov Substitution Principle Happy and Sad
SEET - Software Engineering Education and Training
Link to publication
11:50
40m
Talk
[Mini-Panel] Design patterns for teachingPanel
SEET - Software Engineering Education and Training