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

The Liskov Substitution Principle states, among other constraints, that a subtype is not substitutable for its super type if it strengthens its operations’ preconditions, or weakens its operations’ postconditions. We found that students in two subsequent courses had trouble remembering these rules. Their major stumbling block appeared to be recalling which condition (pre- or post-) could be strengthened and which could be weakened. We developed a simple visual reminder to help: A method is happy if it is substitutable—A smile is wider at the top than at the bottom, suggesting weaker/looser/wider pre-conditions, and stronger/tighter/narrower post conditions.; A method is sad if it isn’t substitutable—a frown is narrower at the top, suggesting stronger/tighter/narrower preconditions, and wider at the bottom, suggesting weaker/looser/wider postconditions. Though the technique is far from perfect, we found that it allowed students to move on to the more interesting design questions around the LSP.

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