Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Extreme programming explained: embrace change
Extreme programming explained: embrace change
Test Driven Development: By Example
Test Driven Development: By Example
Systematic testing should not be a topic in the computer science curriculum!
Proceedings of the 8th annual conference on Innovation and technology in computer science education
Reflections on the Teaching of Programming: Methods and Implementations
Reflections on the Teaching of Programming: Methods and Implementations
Lectures abandoned: active learning by active seminars
Proceedings of the 17th ACM annual conference on Innovation and technology in computer science education
Hi-index | 0.00 |
Advanced programming and software engineering techniques are challenging to learn due to their inherent complexity. However, to the average student they are even more challenging because they have never experienced the context in which the techniques are appropriate. For instance, why learn design patterns to increase maintainability when student exercises are never maintained? In this paper, we outline the contextual problems that software engineering teaching has to deal with and present a story telling approach for course design as a remedy. We outline the stories that over the last five years have structured lecturing and mandatory exercises for our advanced programming/software engineering course, and present benefits, liabilities, and experiences with the approach comparing it to the normal, topic structured, course design.