As stated in the introduction, “the task of teaching programming did not become easier over the last decades.” The increasing complexity of programming languages and development tools plays an important role in teaching programming. According to the authors, the teaching curricula of many universities focus too much on technical bits, instead of teaching a concise software development process.
This paper is intended for teachers, students, and anyone involved in a software engineering curriculum. It promotes STREAM, a simple and easy-to-implement software process development composed of six elementary steps: create skeleton class, create tests, define instance variables, evaluate alternative representations, refine implementation, and implementation methods. Caspersen and Kölling exemplify STREAM on a simple simulation problem and provide a preliminary evaluation of teaching STREAM.
The authors point to an important deficiency of many university programs: a failure to address the software process in introductory programming courses. STREAM makes important points in this respect, but there still needs to be an extended evaluation.
The paper reads well. Caspersen and Kölling have a nice writing style and present an exciting in-depth analysis.