ABSTRACT
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.
- Beck, K. eXtreme Programming Explained, 1st Edition. Addison Wesley, 2000. Google ScholarDigital Library
- Beck, K. Test-Driven Development by Example. Addison-Wesley Signature Series, 2003. Google ScholarDigital Library
- Bennedsen, J., Caspersen, M. E., and Kölling, M., Eds. Reflections on the Teaching of Programming, Methods and Implementations, vol. 4821 of Lecture Notes in Computer Science. Springer, 2008. Google ScholarDigital Library
- Christensen, H. B. Systematic testing should not be a topic in the computer science curriculum! In ITiCSE (2003), V. Dagdilelis, M. Satratzemi, D. Finkel, R. D. Boyle, and G. Evangelidis, Eds., ACM, pp. 7--10. Google ScholarDigital Library
- Christensen, H. B. Experiences with a focus on testing in teaching. In Bennedsen et al. {3}, pp. 147--165.Google Scholar
- Civilization. Computer Game, designed by Sid Meier, published by MicroProse, 1991.Google Scholar
- Freeciv. http://freeciv.wikia.com/wiki/Main_Page. Accessed January 2009.Google Scholar
- Gamma, E., Helm, R., Johnson, R., and Vlissides, J. Design Patterns: Elements of Reuseable Object-Oriented Software. Addison-Wesley, 1995. Google ScholarDigital Library
- Hedin, G., Bendix, L., and Magnusson, B. Teaching software development using extreme programming. In Bennedsen et al. {3}, pp. 166--189.Google Scholar
- HotDraw Home Page. http://stwww.cs.uiuc.edu/users/brant/HotDraw/HotDraw.html. Accessed January 2009.Google Scholar
- JHotDraw as Open-Source Project. http://www.jhotdraw.org/. Accessed January 2009.Google Scholar
- Larman, C. Applying UML and Patterns, 3rd edition. Prentice Hall, 2005.Google Scholar
Index Terms
- A story-telling approach for a software engineering course design
Recommendations
A story-telling approach for a software engineering course design
ITiCSE '09Advanced 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 ...
An introductory software engineering course for software engineering program
CSEET '11: Proceedings of the 2011 24th IEEE-CS Conference on Software Engineering Education and TrainingOne important issue in undergraduate software engineering curriculum is how to help students establish the concept of software engineering at the beginning of software engineering undergraduate program and to provide a reasonable basis of knowledge and ...
Software engineering course design for undergraduates
Software Engineering course design for undergraduates has been a challenging task in many campuses, especially for those that do not have large enrollment. This is not only because the course has too many topics to be covered in one semester, even two ...
Comments